CN110727399B - 存储阵列管理方法及装置 - Google Patents
存储阵列管理方法及装置 Download PDFInfo
- Publication number
- CN110727399B CN110727399B CN201910804375.6A CN201910804375A CN110727399B CN 110727399 B CN110727399 B CN 110727399B CN 201910804375 A CN201910804375 A CN 201910804375A CN 110727399 B CN110727399 B CN 110727399B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- storage module
- partition
- array
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 16
- 238000005192 partition Methods 0.000 claims abstract description 122
- 230000000694 effects Effects 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000000704 physical effect Effects 0.000 claims 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000011056 performance test Methods 0.000 abstract description 133
- 238000012360 testing method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000003446 memory effect Effects 0.000 description 2
- 238000004242 micellar liquid chromatography Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及一种存储阵列管理方法及装置。包括:获取存储阵列中的各存储模块的性能测试数据;所述存储阵列中至少包括一个存储模块;根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,其中,不同类别的分区用于存储不同活跃度的数据。由此,可以更合理的使用存储阵列中的各个存储模块。
Description
技术领域
本发明涉及数据信息存储技术领域,尤其涉及一种存储阵列管理方法及装置。
背景技术
虽然,随着存储技术的不断发展,存储成本也在不断下降,但是,读写速度快的存储模块的价格依然是相对昂贵的,为了能够更有效的利用这些价格昂贵的存储速度快的存储模块,存储阵列的技术也在逐渐的普及。
目前,常用的存储速度较快的两种Flash介质如下。
SLC(Single-Level Cell,单层单元):是单层单元,特点是成本高、容量小、速度快;
SLC闪存的优点是复写次数高达100000次,比MLC闪存高10倍。
MLC(Multi-Level Cell,多层单元):是多层单元,MLC的每个单元是2bit的,相对SLC来说整整多了一倍。容量大成本低,但是由于每个MLC存储单元中存放的资料较多,结构相对复杂,出错的几率会增加,必须进行错误修正,所以存储速度相对SLC慢很多。
基于大家公认的SLC和MLC特点和性能差异,现有技术一般默认将最热数据、可靠性要求最高的数据放置在SLC,MLC次之。图1示出了现有技术中一种包含SLC和MLC的存储阵列。如图1所示,数据需要被写入到存储阵列中时,首先将其存储在介质为SLC的硬盘1上,当数据活跃度逐渐降低时,它们被迁移到介质为MLC的硬盘2中,当数据的活跃度降到更低时,再将其放入到机械硬盘中。
但是,在实际应用中,由于厂家生产的SLC和MLC标准不一,很多低端的SLC性能和可靠性尚不如MLC,所以用于存储活跃度较高的存储分区的性能尚且没有用于存储活跃度较低的存储分区的性能好。
总而言之,现有技术中提供的存储阵列不能够更合理有效的利用各个存储模块,所以迫切需要本领域技术人员解决的技术问题就在于,如何更合理的使用存储阵列中的各个存储模块。
发明内容
本发明实施例提供了一种存储阵列管理方法及装置,可以根据各存储模块的性能测试参数,更合理的使用存储阵列中的各个存储模块。
第一方面,提供了一种存储阵列管理方法,包括:
获取存储阵列中的各存储模块的性能测试数据;所述存储阵列中至少包括一个存储模块;
根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,其中,不同类别的分区用于存储不同活跃度的数据。
结合第一方面,在第一方面的第一种实现方式中,所述根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,包括:
根据各存储模块的性能测试数据确定各存储模块的性能得分;
根据所述得分对各存储模块进行排序;
根据排序结果确定各存储模块所属的分区类别。
结合第一方面,在第一方面的第二种实现方式中,确定出各存储模块所属的分区类别后还包括:
将存储模块的标识信息添加到对应分区类别的模块标识列表中。
结合第一方面,在第一方面的第三种实现方式中,所述方法还包括:
预先对所述存储模块进行性能测试得到性能测试数据,将所述性能测试数据存储在存储模块特定位置处;
所述获取存储阵列中的存储模块的性能测试数据包括:
获取存储在所述存储模块特定位置处的性能测试数据。
结合第一方面的第三种实现方式中,在第一方面的第四种实现方式中,还包括:
判断所述特定位置处存储的性能测试数据信息的准确性;
如果不准确,则根据预置场景分别对各个所述存储模块进行性能测试,分别得到各个所述存储模块的性能测试数据。
结合第一方面的第四种实现方式中,在第一方面的第五种实现方式中,还包括:
根据所述测试得到的性能测试数据,更新所述存储模块上的特定位置处存储的性能测试数据。
结合第一方面,在第一方面的第六种实现方式中,所述获取存储阵列中的各存储模块的性能测试数据包括:
在设定的时间间隔和/或系统空闲时,根据预制场景,对个所述存储模块进行读写测试;所述预制场景包括,顺序读、写,随机读、写,或者读写混合;
根据测试结果分别确定各个所述存储模块的性能测试数据;所述性能测试数据包括,每秒进行读、写(I/O)操作的次数,读、写带宽,读、写延时中的至少一项。
结合第一方面或者第一方面的第一到六任意一种实现方式中,在第一方面的第七种实现方式中,所述存储阵列为全闪存阵列,所述存储模块的介质类型包括SLC介质以及MLC介质,所述不同类别的分区用于存储不同活跃度的数据包括:
判断属于各分区类别的存储模块的介质类型;
若由性能测试数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;
若由性能测试数据较差的存储模块构成的分区中包括SLC介质的存储模块,则将所述SLC介质的存储模块用于存储活跃度较低的数据。
第二方面,提供了一种存储阵列管理装置,包括:
获取单元,用于获取存储阵列中的各存储模块的性能测试数据;所述存储阵列中至少包括一个存储模块;
分区单元,用于根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,其中,不同类别的分区用于存储不同活跃度的数据。
结合第二方面,在第二方面的第一种实现方式中,所述分区单元包括:
得分确定子单元,用于根据各存储模块的性能测试数据确定各存储模块的性能得分;
排序子单元,用于根据所述得分对各存储模块进行排序;
分区子单元,用于根据排序结果确定各存储模块所属的分区类别。
结合第二方面,在第二方面的第二种实现方式中,还包括:
标识单元,用于将存储模块的标识信息添加到对应分区类别的模块标识列表中。
结合第二方面,在第二方面的第三种实现方式中,所述装置还包括:
测试单元,用于预先对所述存储模块进行性能测试得到性能测试数据,将所述性能测试数据存储在存储模块特定位置处;
所述获取单元,具体用于获取存储在所述存储模块特定位置处的性能测试数据。
结合第二方面的第三种实现方式中,在第二方面的第四种实现方式中,还包括:
判断单元,用于判断所述特定位置处存储的性能测试数据信息的准确性;
所述测试单元还用于,如果不准确,则根据预置场景分别对各个所述存储模块进行性能测试,分别得到各个所述存储模块的性能测试数据。
结合第二方面的第四种实现方式中,在第二方面的第五种实现方式中,还包括:
更新单元,用于根据所述测试得到的性能测试数据,更新所述存储模块上的特定位置处存储的性能测试数据。
结合第二方面,在第二方面的第六种实现方式中,所述获取单元包括:
读写测试子单元,用于在设定的时间间隔和/或系统空闲时,根据预制场景,对个所述存储模块进行读写测试;所述预制场景包括,顺序读、写,随机读、写,或者读写混合;
数据确定子单元,用于根据测试结果分别确定各个所述存储模块的性能测试数据;所述性能测试数据包括,每秒进行读、写(I/O)操作的次数,读、写带宽,读、写延时中的至少一项。
结合第二方面或者第一方面的第一到六任意一种实现方式中,在第二方面的第七种实现方式中,所述存储阵列为全闪存阵列,所述存储模块的介质类型包括SLC介质以及MLC介质,所述分区单元具体用于,
判断属于各分区类别的存储模块的介质类型;
若由性能测试数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;
若由性能测试数据较差的存储模块构成的分区中包括SLC介质的存储模块,则将所述SLC介质的存储模块用于存储活跃度较低的数据。
本发明实施例提供的存储阵列管理方法和装置,通过本发明实施例,根据各个存储模块的性能来确定各个存储模块的分区类别,不同类别的分区用来存储不同活跃度的数据,可以将性能较优的分区用来存储活跃度较高的数据,相应的性能次之的分区用来存储活跃度较低的数据,对存储阵列的分区不仅局限于依据介质,降低以次充好的可能,更能够合理使用存储阵列中的各个存储模块。
附图说明
图1为现有技术中一种包含SLC和MLC的存储阵列;
图2为本发明一个实施例提供的存储阵列管理方法的流程图;
图3为存储阵列结构示意图;
图4为本发明另一实施例提供的存储阵列管理方法的流程图;
图5为本发明一个实施例提供的存储阵列管理装置的示意图;
图6为本发明一个实施例提供的存储阵列装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
在本发明实施例中,考虑到在同一存储阵列中的各个存储模块标准可能不一,各个存储模块的实际读写速度可能与预期或者存储模块生产厂商提供的读写速度有较大的差异,或者经过一段时间的使用,SLC的读写速度衰减的更快,通过硬盘的使用的存储介质来对硬盘进行分类,可能导致了存储模块没能够被合理的利用,从而影响了存储阵列的存储速度。通过根据各个存储模块的性能信息,而不是仅仅根据存储模块的介质,来对存储阵列进行分区,更合理的使用了存储阵列中的各个模块。
图2为本发明一个实施例提供的存储阵列管理方法的流程图。如图2所示,所述方法具体包括:
S210、获取存储阵列中的各存储模块的性能测试数据。
需要说明的是,通常存储阵列与存储模块是由不同的制造商来生产的,甚至,同一存储阵列的不同存储模块也是来自不同的制造商或者同一制造商的不同产品。图3为存储阵列结构示意图,如图3所示,存储阵列生产厂商将各个存储模块组合在一起构成存储阵列,存储阵列一般是通过存储控制器来控制存储阵列中的各个模块,对各个存储模块进行读写操作。存储模块提供商可以将该存储模块的原始性能测试数据存储在特定位置处,例如,存储模块提供商可以在一块指定LBA(Logical Block Address,逻辑区块地址)开始的固定字节的存储模块用于存放存储模块的性能测试数据,还例如,存储模块提供商可以在BAR(Base Address Register,基地址寄存器)空间内映射一块寄存器内存作为性能测试数据的空间(该寄存器建议为可读写),其中,特定位置的具体实现形式还有多种,此处仅为举例,不做具体限定。也就是说,最初始的性能测试数据可以是由存储模块提供商通过测试得到的,并且存储在存储阵列生产商知道的特定位置处。在具体由存储控制器来确定存储阵列中的存储模块的性能测试数据时,可以直接读取存储模块特定位置处的参数数据即可。
其中,确定存储阵列中的存储模块的性能测试数据的实现方式还可以有多种,这里不再一一赘述。
还需要说明的是,存储模块的性能测试数据可以包括TBW(Total Band Width,总带宽),write IOPS(write Input/Output Operations Per Second,每秒进行写(I/O)操作的次数),write bandwidth(写带宽),write latency(写延时),read IOPS(read Input/Output Operations Per Second,每秒进行读(I/O)操作的次数),read bandwidth(读带宽),read latency(读延时)等等中的至少一项。还可以包括存储模块的构成介质。具体存储模块的性能测试数据的形式如表1所示。
表1
另外,本发明实施例在具体实施过程中,一个存储阵列一般包括一个或多个存储模块,各个存储模块的存储介质可能是不同的,本发明实施例并不做具体限定,例如,存储模块可以是存储介质为SLC的SSD(Solid State Drives,固态硬盘)(SLC闪存)、存储介质为MLC的SSD(MLC闪存)或者HDD(Hard Disk Drive,机械硬盘),等等。
S220、根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别。
在此说明,不同类别的分区用于存储不同活跃度的数据。具体的,分区的个数根据具体存储数据的需要而定,一般情况下,可以至少分成用于存储冷数据的冷数据存储分区,以及用于存储热数据的热数据存储分区,当然还可以包括一些用于存储冷热适中的数据的存储分区。所谓的冷数据、热数据也是根据数据的活跃度而定的,活跃度高的数据可以称为热数据,活跃度低的数据可以称之为冷数据。
需要说明的是,可以根据不同活跃度的数据在读写时对存储模块性能的要求,确定各个类别的分区的性能测试数据的阈值区间;根据各个类别的分区的性能测试数据的阈值区间来确定属于该类别的存储模块。
另外,还可以根据各个存储模块的性能测试数据确定各存储模块的性能得分;
根据所述得分对各存储模块进行排序;
根据排序结果确定各存储模块所属的分区类别。
其中,根据各个存储模块的性能测试数据确定各存储模块的性能得分有多种,例如,可以将需要计算的性能测试数据乘以各自的权重,然后再求和,得到一个综合评分,根据该综合评分对存储模块进行排序;还可以仅对需求较高性能测试数据进行评分。这里不再一一赘述。
其中,确定各存储模块所属的分区类别的实现方式还可以有多种,这里不再一一赘述。
在一个例子中,如图3所示,假设图3中各个存储模块中的性能测试数据如表2所示。
表2
名称 | 介质 | write IOPS | 写延时 | read IOPS | 读延时 | |
存储模块1 | SLC | 500MB/Sec | 510MB/Sec | |||
存储模块2 | SLC | 250MB/Sec | 310MB/Sec | |||
存储模块3 | MLC | 350MB/Sec | 400MB/Sec | |||
存储模块4 | MLC | 110MB/Sec | 210MB/Sec |
假设,在本例子中规定,用于存储活跃度较高的数据的分区的性能区间为:writeIOPS,≥300MB/Sec;read IOPS,≥350MB/Sec。用于存储活跃度较低的数据的分区的性能区间为:write IOPS,100MB/Sec-300MB/Sec;read IOPS,150MB/Sec-350MB/Sec。
首先,确定各存储模块的性能测试数据,得到如表2中示出的参数数据;然后,根据本例子中的规定确定各存储模块所属的分区类别,可以得到:用于存储活跃度较高的数据的分区包括,存储模块1、存储模块3;用于存储活跃度较低的数据的分区包括,存储模块2、存储模块4。
另一假设,在本例子中规定,存储模块的性能得分=(write IOPS×60+read IOPS×40)÷100。
那么,存储模块1的性能得分为504;存储模块2的性能得分为274;存储模块3的性能得分为370;存储模块4的性能得分为150;根据性能得分对各个存储模块进行排序:存储模块1、存储模块3、存储模块2、存储模块4;如果需要存储的数据为两种,且各需要两个存储模块,那么,根据排序确定各个存储模块的分区类别,可以得到:用于存储活跃度较高的数据的分区包括,存储模块1、存储模块3;用于存储活跃度较低的数据的分区包括,存储模块2、存储模块4。
由此可见,在本例子中,用于存储活跃度较高的数据的存储模块既包括SLC介质的还包括MLC介质的。
总之,根据各个存储模块的性能来确定各个存储模块的分区类别,不同类别的分区用来存储不同活跃度的数据,可以将性能较优的分区用来存储活跃度较高的数据,相应的性能次之的分区用来存储活跃度较低的数据,对存储阵列的分区不仅局限于依据介质,降低以次充好的可能,更能够合理使用存储阵列中的各个存储模块。
在一个实施例中,在S220后还可以包括:将存储模块的标识信息添加到对应分区类别的模块标识列表中。
需要说明的是,存储模块的标识信息可以为LUN(Logical Unit Number,逻辑单元号)或者Namespace(名称空间)等等,能够起到区分各个存储模块或者用于寻址的标识信息。
在此说明,在需要对存储队列进行读写操作时,可以根据需要读取或者写入的信息的活跃度,根据该信息的活跃度查询模块标识列表,确定出该信息需要写入的存储模块,或者存储有该信息的存储模块。
通过将存储模块以及对应的分区类别进行列表化管理,使得存储控制器能够更便捷的对各个分区进行数据的读写。
在一个实施例中,S210、确定存储阵列中的各存储模块的性能参数可以包括:根据预置场景分别对各个所述存储模块进行性能测试,分别得到各个所述存储模块的性能参数。
需要说明的是,对于存储模块的未提供性能测试数据、或者提供的性能测试数据不准确的情况,可以通过进行性能测试来确定具体的性能测试数据,根据该性能测试数据直接执行S220。其中,具体的预制场景可以有多种,例如,可以根据应用场景,选择顺序读、写,随机读、写,或读写混合等场景,并根据业务可能下发数据块大小,进行4K,16K,32K或者大包,启动IO读写测试。
另外,还可以根据经过性能测试得到的性能测试数据确定特定位置写入的性能测试数据信息的准确性,如果不准确,则根据测试得到的性能测试数据,更新存储模块上的特定位置处存储的性能测试数据。再具体实施过程中,控制器读取特定位置处的性能测试数据,然后再执行步骤S220。在另一个实施例中,可以统计更新前各个存储模块上特定位置处存储的性能测试数据并储存,这样,可以根据统计出的各个存储模块的性能测试数据变化,来对对应的存储模块进行评价,进而确定该性能模块的性价比,以及耐久度等等。
通过进行性能测试,能够更准确的确定出存储模块的性能测试数据,还可以定期或不定期的对存储模块进行测试,更新存储在特定位置处的性能测试数据,进而能够动态、实时捕捉存储模块的性能。
在一个实施例中,在S210、获取存储阵列中的各存储模块的性能测试数据之前还可以包括:预先对所述存储模块进行性能测试得到性能测试数据,将所述性能测试数据存储在存储模块特定位置处;S210具体可以包括:获取存储在所述存储模块特定位置处的性能测试数据。
在此说明,可以将通过预先进行性能测试确定的性能测试数据存储在存储模块的特定位置处,当需要对各个存储模块进行分区时,通过获取特定位置处存储的性能参数,来执行S220。也就是说,在执行完性能测试后,并不一定立即执行S220,可以在有需要或者接收到指令后,再执行S220,该指令可以是存储阵列的运行指令。
需要说明的是,由于特定位置处存储的性能测试数据可能与存储模块的实际性能测试数据不同,所以在另一个实施例中,图4为本发明另一实施例提供的存储阵列管理方法的流程图。如图4所示,在前述步骤之前还可以包括:S211、判断所述特定位置写入的性能测试数据信息的准确性;
在此说明,S211中具体判断特定位置写入的性能测试数据信息的准确性的方式有多种。
可以针对存储模块的某一项性能测试数据进行抽样测试;还可以根据存储模块在执行读写操作时,是否达到预期效果,例如,对读写操作进行监控,确定读写是否速度过慢,或者延迟时间过长等等。这里不再一一赘述。
S212、如果不准确,则根据预置场景分别对各个所述存储模块进行性能测试,分别得到各个所述存储模块的性能测试数据。
在此说明,经过S212测试得到的性能测试数据,可以直接用来执行步骤S220。
另外,在S212后还可以包括:根据所述测试得到的性能测试数据,更新所述存储模块上的特定位置处存储的性能测试数据。
在此说明,经过S212测试得到的性能测试数据,可以用来更新存储模块特定位置处存储的性能测试数据,在具体实施过程中,存储控制器可以通过读取更新过的特定位置处存储的性能测试数据,根据该性能测试数据执行步骤S220。
在一个实施例中,S210具体可以包括:在设定的时间间隔和/或系统空闲时,根据预制场景,对个所述存储模块进行读写测试;所述预制场景包括,顺序读、写,随机读、写,或者读写混合;根据测试结果分别确定各个所述存储模块的性能测试数据。
在另一个实施例中,存储阵列可以为全闪存阵列,存储模块(闪存模块)的介质包括SLC介质以及MLC介质;具体的不同类别的分区用于存储不同活跃度的数据包括:判断属于各分区类别的存储模块的介质类型;若由性能测试数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;若由性能测试数据较差的存储模块构成的分区中包括SLC介质的模块,则将所述SLC介质的模块用于存储活跃度较低的数据。
综上所述,通过本发明实施例,根据各个存储模块的性能来确定各个存储模块的分区类别,不同类别的分区用来存储不同活跃度的数据,可以将性能较优的分区用来存储活跃度较高的数据,相应的性能次之的分区用来存储活跃度较低的数据,对存储阵列的分区不仅局限于依据介质,降低以次充好的可能,更能够合理使用存储阵列中的各个存储模块。
本发明实施例在具体实施过程中,通过将存储模块以及对应的分区类别进行列表化管理,使得存储控制器能够更便捷的对各个分区进行数据的读写;通过进行性能测试,能够更准确的确定出存储模块的性能测试数据,还可以定期或不定期的对存储模块进行测试,更新存储在特定位置处的性能测试数据,进而能够动态、实时捕捉存储模块的性能。在具体需要从特定位置处的性能测试数据时,还可以首先判断该参数的准确性,确保确定各个模块分区类别所用的性能测试数据的准确定,以便更合理使用存储阵列中的各个存储模块。
图5为本发明一个实施例提供的存储阵列管理装置的示意图。如图5所示,该装置可以包括:
获取单元510,用于获取存储阵列中的各存储模块的性能测试数据;所述存储阵列中至少包括一个存储模块;
分区单元520,用于根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,其中,不同类别的分区用于存储不同活跃度的数据。
具体的,分区单元520可以包括:
得分确定子单元,用于根据各存储模块的性能测试数据确定各存储模块的性能得分;
排序子单元,用于根据所述得分对各存储模块进行排序;
分区子单元,用于根据排序结果确定各存储模块所属的分区类别。
在另一种实现方式下,本发明实施例还可以包括:
标识单元,用于将存储模块的标识信息添加到对应分区类别的模块标识列表中。
本发明实施例在具体实施时还可以包括:
测试单元,用于预先对所述存储模块进行性能测试得到性能测试数据,将所述性能测试数据存储在存储模块特定位置处。
此时,获取单元510,具体用于获取存储在所述存储模块特定位置处的性能测试数据。
进一步的,本发明实施例还可以包括:
判断单元,用于判断所述特定位置处存储的性能测试数据信息的准确性;
此时,测试单元还用于,如果不准确,则根据预置场景分别对各个所述存储模块进行性能测试,分别得到各个所述存储模块的性能测试数据。
进一步的,本发明实施例还可以包括:
更新单元,用于根据所述测试得到的性能测试数据,更新所述存储模块上的特定位置处存储的性能测试数据。
在另一种实现方式下,本发明实施例中的,获取单元510可以包括:
读写测试子单元,用于在设定的时间间隔和/或系统空闲时,根据预制场景,对个所述存储模块进行读写测试;所述预制场景包括,顺序读、写,随机读、写,或者读写混合;
数据确定子单元,用于根据测试结果分别确定各个所述存储模块的性能测试数据;所述性能测试数据包括,每秒进行读、写(I/O)操作的次数,读、写带宽,读、写延时中的至少一项。
进一步的,存储阵列可以为全闪存阵列,存储模块的介质类型可以包括SLC介质以及MLC介质,分区单元520具体用于,
判断属于各分区类别的存储模块的介质类型;
若由性能测试数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;
若由性能测试数据较差的存储模块构成的分区中包括SLC介质的模块,则将所述SLC介质的模块用于存储活跃度较低的数据。
图6为本发明一个实施例提供的存储阵列装置的示意图。如图6所示,该装置可以包括:存储控制器610、存储模块620。系统总线630用于处理器等设备对存储阵列进行操作的设备与存储控制器610之间的通讯。
存储模块可以是机械硬盘、SLC闪存或者MLC闪存等等。
启动时,存储控制器610加载存储模块驱动,对每块存储模块620以此处理,并执行如下命令:
获取存储阵列中的各存储模块620的性能测试数据;
根据所述存储阵列中的各个存储模块620的性能测试数据,确定各存储模块所属的分区类别,其中,不同类别的分区用于存储不同活跃度的数据。
具体的,可以执行:
根据各存储模块620的性能测试数据确定各存储模块620的性能得分;
根据所述得分对各存储模块620进行排序;
根据排序结果确定各存储模块620所属的分区类别。
在另一种实现方式下,本发明实施例还可以执行:
将存储模块620的标识信息添加到对应分区类别的模块标识列表中。
本发明实施例在具体实施时还可以执行:
预先对存储模块620进行性能测试得到性能测试数据,将所述性能测试数据存储在存储模块620特定位置处。
获取存储在存储模块620特定位置处的性能测试数据。
进一步的,本发明实施例还可以执行:
判断所述特定位置处存储620的性能测试数据信息的准确性;
如果不准确,则根据预置场景分别对各个存储模块620进行性能测试,分别得到各个存储模块620的性能测试数据。
进一步的,本发明实施例还可以执行:
根据所述测试得到的性能测试数据,更新存储模块620上的特定位置处存储的性能测试数据。
在另一种实现方式下,本发明实施例中的,可以执行:
在设定的时间间隔和/或系统空闲时,根据预制场景,对个存储模块620进行读写测试;所述预制场景包括,顺序读、写,随机读、写,或者读写混合;
根据测试结果分别确定各个存储模块620的性能测试数据;所述性能测试数据包括,每秒进行读、写(I/O)操作的次数,读、写带宽,读、写延时中的至少一项。
进一步的,存储阵列可以为全闪存阵列,存储模块620的介质类型可以包括SLC介质以及MLC介质,本发明实施例还可以执行,
判断属于各分区类别的存储模块620的介质类型;
若由性能测试数据较优的存储模块620构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块620用于存储活跃度较高的数据;
若由性能测试数据较差的存储模块构成的分区中包括SLC介质的存储模块,则将所述SLC介质的存储模块620用于存储活跃度较低的数据。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、存储阵列、可移动存储阵列、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种存储阵列管理方法,其特征在于,所述方法包括:
获取所述存储阵列中各个存储模块的性能数据,所述存储阵列包括多个存储模块;所述存储阵列包括全闪存阵列,所述多个存储模块的介质类型包括单层单元SLC介质以及多层单元MLC介质;每个存储模块的性能数据由该存储模块包括的介质类型的物理属性确定;
根据所述存储阵列中各个存储模块的性能数据,将所述存储阵列划分为第一分区和第二分区,其中,不同分区用于存储不同活跃度的数据,所述第一分区存储的数据活跃度高于第二分区;
根据数据的活跃度将第一类数据存储至第一分区,将第二类数据存储至第二分区。
2.根据权利要求1所述方法,其特征在于,所述存储阵列还包括机械硬盘HDD。
3.根据权利要求1所述方法,其特征在于,所述第一类数据为热数据,所述第二类数据为冷数据,所述热数据为活跃度高的数据,所述冷数据为活跃度低的数据。
4.根据权利要求1所述方法,其特征在于,所述根据所述存储阵列中各个存储模块的性能数据,将所述存储阵列划分为第一分区和第二分区,包括:
根据不同活跃度的数据在读写时对存储模块性能的要求,确定各个类别的分区的性能数据的阈值区间;
根据各个类别的分区的性能数据的阈值区间来确定属于该类别的存储模块。
5.根据权利要求1所述的方法,其特征在于,在根据所述存储阵列中各个存储模块的性能数据,将所述存储阵列划分为第一分区和第二分区之前,所述方法还包括:
根据所述各个存储模块的性能数据确定所述各个存储模块的性能得分;
根据所述性能得分对所述各个存储模块进行排序;
根据排序结果确定所述各个存储模块所属的分区。
6.根据权利要求1-5任意一项所述的存储阵列管理方法,其特征在于,所述不同分区用于存储不同活跃度的数据包括:
判断属于各分区类别的存储模块的介质类型;
若由性能数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;
若由性能数据较差的存储模块构成的分区中包括SLC介质的存储模块,则将所述SLC介质的存储模块用于存储活跃度较低的数据。
7.一种存储阵列,其特征在于,包括存储控制器和多个存储模块,存储控制器用于执行存储模块中驱动程序,对各个存储模块执行以下操作:
获取所述存储阵列中所述各个存储模块的性能数据;所述存储阵列包括全闪存阵列,所述多个存储模块的介质类型包括单层单元SLC介质以及多层单元MLC介质;每个存储模块的性能数据由该存储模块包括的介质类型的物理属性确定;
根据所述存储阵列中各个存储模块的性能数据,将所述存储阵列划分为第一分区和第二分区,其中,不同分区用于存储不同活跃度的数据,所述第一分区存储的数据活跃度高于第二分区;
根据数据的活跃度将第一类数据存储至第一分区,将第二类数据存储至第二分区。
8.根据权利要求7所述存储阵列,其特征在于,所述存储阵列还包括机械硬盘HDD。
9.根据权利要求7所述存储阵列,其特征在于,所述第一类数据为热数据,所述第二类数据为冷数据,所述热数据为活跃度高的数据,所述冷数据为活跃度低的数据。
10.根据权利要求7所述存储阵列,其特征在于,所述根据所述存储阵列中各个存储模块的性能数据,将所述存储阵列划分为第一分区和第二分区,包括:
根据不同活跃度的数据在读写时对存储模块性能的要求,确定各个类别的分区的性能数据的阈值区间;
根据各个类别的分区的性能数据的阈值区间来确定属于该类别的存储模块。
11.根据权利要求7所述存储阵列,其特征在于,
所述存储控制器,还用于根据所述各个存储模块的性能数据确定所述各个存储模块的性能得分;根据所述得分对所述各个存储模块进行排序;根据排序结果确定所述各个存储模块所属的分区类别。
12.根据权利要求7至11任一所述存储阵列,其特征在于,
所述存储控制器,还用于判断属于各分区类别的存储模块的介质类型;若由性能数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;若由性能数据较差的存储模块构成的分区中包括SLC介质的存储模块,则将所述SLC介质的存储模块用于存储活跃度较低的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910804375.6A CN110727399B (zh) | 2015-09-18 | 2015-09-18 | 存储阵列管理方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910804375.6A CN110727399B (zh) | 2015-09-18 | 2015-09-18 | 存储阵列管理方法及装置 |
CN201510600780.8A CN106547472B (zh) | 2015-09-18 | 2015-09-18 | 存储阵列管理方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510600780.8A Division CN106547472B (zh) | 2015-09-18 | 2015-09-18 | 存储阵列管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727399A CN110727399A (zh) | 2020-01-24 |
CN110727399B true CN110727399B (zh) | 2021-09-03 |
Family
ID=58288443
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510600780.8A Active CN106547472B (zh) | 2015-09-18 | 2015-09-18 | 存储阵列管理方法及装置 |
CN201910804375.6A Active CN110727399B (zh) | 2015-09-18 | 2015-09-18 | 存储阵列管理方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510600780.8A Active CN106547472B (zh) | 2015-09-18 | 2015-09-18 | 存储阵列管理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN106547472B (zh) |
WO (1) | WO2017045500A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634514B (zh) * | 2017-10-09 | 2024-03-29 | 北京握奇智能科技有限公司 | 一种芯片存储器的读、写数据方法及系统 |
CN109634516B (zh) * | 2017-10-09 | 2024-05-24 | 北京握奇智能科技有限公司 | 一种芯片存储器的读、写数据方法及系统 |
CN107678902A (zh) * | 2017-10-31 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种统一存储阵列的测试方法及其装置 |
CN117854569B (zh) * | 2024-03-05 | 2024-05-24 | 合肥康芯威存储技术有限公司 | 一种存储器的性能测试系统及性能测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117248A (zh) * | 2011-03-09 | 2011-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种缓存系统和在缓存系统中缓存数据的方法 |
CN103250143A (zh) * | 2012-12-28 | 2013-08-14 | 华为技术有限公司 | 数据存储方法和存储设备 |
WO2015072925A1 (en) * | 2013-11-14 | 2015-05-21 | Agency For Science, Technology And Research | Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system |
KR101525453B1 (ko) * | 2014-04-09 | 2015-06-04 | 인하대학교 산학협력단 | 데이터 접근빈도를 이용한 raid 시스템의 데이터 복제 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356648B2 (en) * | 2003-10-02 | 2008-04-08 | International Business Machines Corporation | Shared buffer having hardware controlled buffer regions |
US8307180B2 (en) * | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
KR20130081459A (ko) * | 2012-01-09 | 2013-07-17 | 삼성전자주식회사 | 휴대단말기의 pre―load 어플리케이션 탑재를 위한 메모리 영역구분 장치 |
CN103677653B (zh) * | 2012-09-21 | 2017-07-25 | 联想(北京)有限公司 | 一种基于ssd的数据处理方法及电子设备 |
US9135173B2 (en) * | 2013-01-22 | 2015-09-15 | International Business Machines Corporation | Thinly provisioned flash cache with shared storage pool |
CN104331252B (zh) * | 2014-10-10 | 2017-08-25 | 上海新储集成电路有限公司 | 异构nand固态硬盘结构及其数据读取管理方法 |
CN104536909B (zh) * | 2014-12-09 | 2018-01-23 | 华为技术有限公司 | 一种存储管理方法,存储管理装置及存储设备 |
CN104615953B (zh) * | 2015-02-10 | 2018-01-09 | 复旦大学 | 一种配置数据流安全性高的可编程逻辑器 |
-
2015
- 2015-09-18 CN CN201510600780.8A patent/CN106547472B/zh active Active
- 2015-09-18 CN CN201910804375.6A patent/CN110727399B/zh active Active
-
2016
- 2016-08-15 WO PCT/CN2016/095291 patent/WO2017045500A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117248A (zh) * | 2011-03-09 | 2011-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种缓存系统和在缓存系统中缓存数据的方法 |
CN103250143A (zh) * | 2012-12-28 | 2013-08-14 | 华为技术有限公司 | 数据存储方法和存储设备 |
WO2015072925A1 (en) * | 2013-11-14 | 2015-05-21 | Agency For Science, Technology And Research | Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system |
KR101525453B1 (ko) * | 2014-04-09 | 2015-06-04 | 인하대학교 산학협력단 | 데이터 접근빈도를 이용한 raid 시스템의 데이터 복제 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN106547472B (zh) | 2019-09-13 |
WO2017045500A1 (zh) | 2017-03-23 |
CN106547472A (zh) | 2017-03-29 |
CN110727399A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10817217B2 (en) | Data storage system with improved time-to-ready | |
CN108133732B (zh) | 闪存芯片的性能测试方法、装置、设备及存储介质 | |
US9170755B2 (en) | Command and data selection in storage controller systems | |
EP3061008B1 (en) | Data storage device supporting accelerated database operations | |
KR101431205B1 (ko) | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 | |
US10990325B2 (en) | Write control method, associated data storage device and controller thereof | |
CN110727399B (zh) | 存储阵列管理方法及装置 | |
US10061695B2 (en) | Memory system and operating method thereof | |
US11307768B2 (en) | Namespace auto-routing data storage system | |
CN106201652B (zh) | 一种数据处理方法及虚拟机 | |
US10929025B2 (en) | Data storage system with I/O determinism latency optimization | |
US8868793B2 (en) | SAS expander system and method for dynamically allocating SAS addresses to SAS expander devices | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
US20200192606A1 (en) | Storage Device Operations Using A Die Translation Table | |
CN112835528A (zh) | 脏页刷新方法和装置、电子设备和存储介质 | |
US20140164845A1 (en) | Host computer and method for testing sas expanders | |
US10528289B2 (en) | Data storage method for optimizing data storage device and its data storage device | |
US11256621B2 (en) | Dual controller cache optimization in a deterministic data storage system | |
CN104133640B (zh) | 从休眠快速恢复 | |
CN111324414A (zh) | Nvm存储介质模拟器 | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
CN117112455B (zh) | 一种空间地址的转化方法、装置、计算机设备及存储介质 | |
CN106155914A (zh) | 实体储存对照表维护方法以及使用该方法的装置 | |
CN117215485A (zh) | Zns ssd管理方法及数据写入方法、存储装置、控制器 | |
US20120054407A1 (en) | Method and apparatus to manage object-based tiers |
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 |