WO2017045500A1 - 存储阵列管理方法及装置 - Google Patents

存储阵列管理方法及装置 Download PDF

Info

Publication number
WO2017045500A1
WO2017045500A1 PCT/CN2016/095291 CN2016095291W WO2017045500A1 WO 2017045500 A1 WO2017045500 A1 WO 2017045500A1 CN 2016095291 W CN2016095291 W CN 2016095291W WO 2017045500 A1 WO2017045500 A1 WO 2017045500A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage module
storage
test data
performance test
performance
Prior art date
Application number
PCT/CN2016/095291
Other languages
English (en)
French (fr)
Inventor
邱鑫
许利霞
刘通良
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2017045500A1 publication Critical patent/WO2017045500A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present invention relates to the field of data information storage technologies, and in particular, to a storage array management method and apparatus.
  • SLC Single-Level Cell
  • SLC flash is that the number of rewrites is up to 100,000 times, which is 10 times higher than MLC flash.
  • MLC Multi-Level Cell
  • Figure 1 illustrates a prior art storage array including SLC and MLC.
  • SLC static low-density memory
  • the storage arrays provided in the prior art are not able to utilize various storages more reasonably and efficiently. Modules, so the technical problem that is urgently needed by those skilled in the art is how to use the various storage modules in the storage array more reasonably.
  • the embodiment of the invention provides a storage array management method and device, which can more conveniently use each storage module in the storage array according to the performance test parameters of each storage module.
  • a storage array management method including:
  • the storage array includes at least one storage module
  • the determining, according to performance test data of each storage module in the storage array, a partition type to which each storage module belongs includes:
  • the partition type to which each storage module belongs is determined according to the sorting result.
  • the method further includes:
  • the method further includes:
  • the obtaining performance test data of the storage module in the storage array includes:
  • the fourth implementation manner of the first aspect further includes:
  • performance tests are performed on each of the storage modules according to the preset scenario, and performance test data of each of the storage modules is obtained.
  • the method further includes:
  • the performance test data stored at a specific location on the storage module is updated according to the performance test data obtained by the test.
  • the obtaining performance test data of each storage module in the storage array includes:
  • Reading and writing tests on the storage modules according to the pre-made scenario include sequential read, write, random read, write, or read-write mixing;
  • the performance test data includes at least one of reading, writing (I/O) operations, read and write bandwidth, read and write delays per second.
  • I/O writing
  • the storage array is an all-flash array
  • the media type of the storage module includes an SLC Media and MLC media
  • the different types of partitions used to store data of different activity levels include:
  • the storage module of the MLC medium is used to store the data with high activity
  • the storage module composed of the storage module with poor performance test data includes the storage module of the SLC medium
  • the storage module of the SLC medium is used to store the less active data.
  • a storage array management apparatus including:
  • An obtaining unit configured to obtain performance test data of each storage module in the storage array;
  • the storage array includes at least one storage module;
  • partition unit for testing data according to performance of each storage module in the storage array
  • the partition category to which each storage module belongs is defined, wherein different categories of partitions are used to store data of different vitalities.
  • the partitioning unit includes:
  • a score determining subunit configured to determine a performance score of each storage module according to performance test data of each storage module
  • a sorting subunit configured to sort each storage module according to the score
  • a partition subunit is configured to determine, according to the sorting result, a partition type to which each storage module belongs.
  • the method further includes:
  • an identifier unit configured to add the identifier information of the storage module to the module identifier list of the corresponding partition category.
  • the device further includes:
  • a testing unit configured to perform performance testing on the storage module in advance to obtain performance test data, and store the performance test data at a specific location of the storage module;
  • the obtaining unit is specifically configured to acquire performance test data stored at a specific location of the storage module.
  • the fourth implementation manner of the second aspect further includes:
  • a determining unit configured to determine an accuracy of the performance test data information stored at the specific location
  • the test unit is further configured to perform performance testing on each of the storage modules according to a preset scenario, and obtain performance test data of each of the storage modules respectively.
  • the method further includes:
  • an updating unit configured to update performance test data stored at a specific location on the storage module according to the performance test data obtained by the testing.
  • the acquiring unit includes:
  • Read and write test subunit for pre-casting at set time intervals and/or system idle Reading and writing tests on the storage modules; the pre-made scenarios include sequential reading, writing, random reading, writing, or reading and writing mixing;
  • a data determining subunit configured to respectively determine performance test data of each of the storage modules according to the test result; the performance test data includes, the number of read/write (I/O) operations per second, read and write bandwidth, and read Write at least one of the delays.
  • the storage array is an all-flash array
  • the media type of the storage module includes an SLC Medium and MLC medium
  • the partition unit is specifically used
  • the storage module of the MLC medium is used to store the data with high activity
  • the storage module composed of the storage module with poor performance test data includes the storage module of the SLC medium
  • the storage module of the SLC medium is used to store the less active data.
  • the storage array management method and apparatus determine the partition type of each storage module according to the performance of each storage module according to the embodiment of the present invention. Different types of partitions are used to store data of different activity levels, and performance may be performed. A better partition is used to store data with higher activity, and a partition with corresponding performance is used to store data with lower activity.
  • the partition of the storage array is not limited to media, and the possibility of substandard charging is reduced. It is more reasonable to use each storage module in the storage array.
  • 1 is a storage array including an SLC and an MLC in the prior art
  • FIG. 2 is a flowchart of a storage array management method according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a storage array
  • FIG. 4 is a flowchart of a storage array management method according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a storage array management apparatus according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a memory array device according to an embodiment of the present invention.
  • the actual read/write speed of each storage module may be significantly different from the expected read/write speed provided by the storage module manufacturer. Or after a period of use, the read and write speed of the SLC is attenuated faster.
  • the classification of the hard disk by the storage medium used by the hard disk may result in the storage module not being properly utilized, thereby affecting the storage speed of the storage array. .
  • partitioning the storage array based on the performance information of each storage module, rather than just the media of the storage module, it is more reasonable to use the various modules in the storage array.
  • FIG. 2 is a flowchart of a storage array management method according to an embodiment of the present invention. As shown in FIG. 2, the method specifically includes:
  • FIG. 3 is a schematic structural diagram of a storage array.
  • a storage array manufacturer combines storage modules to form a storage array.
  • the storage array generally controls each module in the storage array through a storage controller, and each storage module is used. Read and write operations.
  • the storage module provider can store the original performance test data of the storage module at a specific location. For example, the storage module provider can use a fixed byte storage module starting with a specified LBA (Logical Block Address).
  • LBA Logical Block Address
  • the storage module provider can In the BAR (Base Address Register) space, a block of register memory is mapped as space for performance test data (the register is recommended to be readable and writable), and there are various implementations of specific locations, only For example, no specific limitation is made. That is, the initial performance test data can be tested by the storage module provider and stored at a specific location known to the storage array manufacturer. When the performance test data of the storage module in the storage array is specifically determined by the storage controller, the parameter data at the specific location of the storage module may be directly read.
  • BAR Basic Address Register
  • the implementation of the performance test data of the storage module in the storage array may be implemented in various manners, and details are not described herein again.
  • the performance test data of the storage module may include TBW (Total Band Width), write IOPS (write Input/Output Operations Per Second), write writes (I/O operations per second), write Bandwidth (write bandwidth), write latency (read latency), read IOPS (read Input/Output Operations Per Second), read bandwidth (read bandwidth), read latency (read) At least one of delays and so on. It may also include a constituent medium of the storage module.
  • the performance test data of the specific storage module is in the form shown in Table 1.
  • a storage array generally includes one or more storage modules, and the storage medium of each storage module may be different, which is not specifically limited in the embodiment of the present invention.
  • the storage module may be Is an SSD (Solid State Drives) whose storage medium is SLC. Solid state drive) (SLC flash), storage medium is MLC SSD (MLC flash) or HDD (Hard Disk Drive), and so on.
  • SSD Solid State Drive
  • MLC SSD MLC SSD
  • HDD Hard Disk Drive
  • partitions are used to store data of different activity levels. Specifically, the number of partitions depends on the needs of the specific storage data. Generally, the partition may be divided into at least a cold data storage partition for storing cold data, and a hot data storage partition for storing hot data, and may of course include Some storage partitions for storing data that is moderately hot and cold. The so-called cold data and hot data are also determined according to the activity of the data. The data with high activity can be called hot data, and the data with low activity can be called cold data.
  • the threshold interval of the performance test data of each category of the partition may be determined; and the threshold interval of the performance test data of the partition of each category is determined. A storage module belonging to this category.
  • the performance score of each storage module may also be determined according to performance test data of each storage module
  • the partition type to which each storage module belongs is determined according to the sorting result.
  • the performance scores of each storage module are determined according to performance test data of each storage module. For example, performance test data that needs to be calculated may be multiplied by respective weights, and then summed to obtain a comprehensive score according to the comprehensive score.
  • the scores sort the storage modules; you can also score only the higher-performance test data. I will not repeat them here.
  • the performance interval of a partition for storing data with higher activity is: wri te IOPS, ⁇ 300 MB/Sec; read IOPS, ⁇ 350 MB/Sec.
  • the performance interval for partitions that store less active data is: write IOPS, 100MB/Sec-300MB/Sec; read IOPS, 150MB/Sec-350MB/Sec.
  • the performance test data of each storage module is determined, and the parameter data as shown in Table 2 is obtained.
  • the partition type to which each storage module belongs is determined, which can be obtained: for storing high activity.
  • the partitioning of the data includes the storage module 1, the storage module 3, and the partition for storing the less active data, including the storage module 2 and the storage module 4.
  • the performance score of the storage module 1 is 504; the performance score of the storage module 2 is 274; the performance score of the storage module 3 is 370; the performance score of the storage module 4 is 150; the storage modules are sorted according to the performance score: the storage module 1.
  • the partition of the higher data includes the storage module 1, the storage module 3, and the partition for storing the less active data, including the storage module 2 and the storage module 4.
  • the storage module for storing the more active data includes both the SLC medium and the MLC medium.
  • partition category of each storage module different classes Other partitions are used to store data of different activity levels, and higher-performance partitions can be used to store data with higher activity, and corresponding performance partitions are used to store less active data for storage arrays. Partitioning is not limited to media-based, reducing the possibility of sub-filling, and more reasonable use of each storage module in the storage array.
  • the method further includes: adding the identification information of the storage module to the module identifier list of the corresponding partition category.
  • the identification information of the storage module may be a LUN (Logical Unit Number) or a Namespace (name space), etc., and can distinguish the identification information of each storage module or for addressing.
  • LUN Logical Unit Number
  • Namespace name space
  • the activity of the information that needs to be read or written may be queried according to the activity of the information, and the storage module that needs to be written is determined. Or a storage module that stores this information.
  • the storage controller can more easily read and write data to each partition.
  • determining the performance parameter of each storage module in the storage array may include performing performance testing on each of the storage modules according to a preset scenario, and obtaining performance parameters of each of the storage modules.
  • the performance test may be performed to determine the specific performance test data, and the S220 is directly executed according to the performance test data.
  • the specific pre-made scenarios can be various. For example, you can select sequential read, write, random read, write, or read-write hybrid scenarios according to the application scenario, and perform 4K, 16K according to the size of the data block that the service may deliver. , 32K or large package, start IO read and write test.
  • the performance test data obtained by the performance test may be used to determine the accuracy of the performance test data information written at a specific location. If not, the firmware may be updated at a specific location on the storage module according to the performance test data obtained by the test. Performance test data.
  • control The device reads the performance test data at the specific location, and then performs step S220.
  • the performance test data stored at a specific location on each storage module before the update may be counted and stored, so that the corresponding storage module may be evaluated according to the statistical performance test data changes of each storage module. To determine the cost performance of the performance module, as well as durability and so on.
  • the performance test data of the storage module can be more accurately determined, and the storage module can be tested periodically or irregularly, and the performance test data stored at a specific location can be updated, thereby dynamically and real-time capturing the storage module. Performance.
  • the method may further include performing performance testing on the storage module to obtain performance test data, and storing the performance test data in the storage module.
  • S210 specifically includes: obtaining performance test data stored at a specific location of the storage module.
  • the performance test data determined by the performance test in advance can be stored at a specific location of the storage module, and when the storage modules need to be partitioned, S220 is performed by acquiring the performance parameters stored at the specific location. That is to say, after performing the performance test, S220 is not necessarily executed immediately, and S220 may be executed after the instruction is needed or received, and the instruction may be a running instruction of the storage array.
  • FIG. 4 is a flowchart of a storage array management method according to another embodiment of the present invention. Figure. As shown in FIG. 4, before the foregoing steps, the method may further include: S211: determining an accuracy of performance test data information written by the specific location;
  • Sampling test can be performed on a certain performance test data of the storage module; or according to whether the storage module performs the read/write operation, whether the expected effect is achieved, for example, monitoring the read/write operation to determine whether the read/write speed is too slow, or The delay time is too long and so on. I will not repeat them here.
  • performance test data obtained by the S212 test can be directly used to perform step S220.
  • the method may further include: updating performance test data stored at a specific location on the storage module according to the performance test data obtained by the testing.
  • the performance test data obtained by the S212 test can be used to update the performance test data stored at a specific location of the storage module.
  • the storage controller can read the stored performance at the specific location.
  • the test data is executed according to the performance test data, and step S220 is performed.
  • the S210 may include: performing read and write tests on the storage modules according to a pre-made scenario when the set time interval and/or the system is idle; the pre-production scenarios include sequential reading and writing. Random read, write, or read-write hybrid; determine the performance test data of each of the storage modules according to the test results.
  • the storage array may be an all-flash array, and the medium of the storage module (flash module) includes the SLC medium and the MLC medium; the specific different categories of partitions for storing data of different vitalities include: determining belonging to each partition The media type of the storage module of the category; if the storage module composed of the storage module with the better performance test data includes the storage module of the MLC medium, the storage module of the MLC medium is used to store the data with higher activity; A module that includes SLC media in a partition formed by a storage module having poor performance test data is used to store data of a less active data.
  • the partition type of each storage module is determined according to the performance of each storage module, and different types of partitions are used to store data of different active degrees, and a partition with better performance can be used to store active.
  • higher-level data the corresponding performance of the second partition is used to store less active data
  • the partition of the storage array is not limited to the media, reduce the possibility of sub-filling, and more reasonable use of the storage array Each storage module.
  • the storage module and the corresponding partition category are entered in the embodiment of the present invention.
  • Line list management enables the storage controller to read and write data to each partition more conveniently.
  • the performance test data of the storage module can be more accurately determined, and the storage module can be periodically or irregularly Tests and updates performance test data stored at specific locations to capture the performance of the storage module dynamically and in real time.
  • the accuracy of the parameter may also be first determined, and the quasi-determination of the performance test data used for each module partition category is determined to better use each storage module in the storage array.
  • FIG. 5 is a schematic diagram of a storage array management apparatus according to an embodiment of the present invention. As shown in FIG. 5, the apparatus may include:
  • the obtaining unit 510 is configured to obtain performance test data of each storage module in the storage array; the storage array includes at least one storage module;
  • the partitioning unit 520 is configured to determine, according to performance test data of each storage module in the storage array, a partition type to which each storage module belongs, where different types of partitions are used to store data of different vitalities.
  • the partitioning unit 520 may include:
  • a score determining subunit configured to determine a performance score of each storage module according to performance test data of each storage module
  • a sorting subunit configured to sort each storage module according to the score
  • a partition subunit is configured to determine, according to the sorting result, a partition type to which each storage module belongs.
  • the embodiment of the present invention may further include:
  • an identifier unit configured to add the identifier information of the storage module to the module identifier list of the corresponding partition category.
  • a testing unit configured to perform performance testing on the storage module in advance to obtain performance test data, and store the performance test data at a specific location of the storage module.
  • the obtaining unit 510 is specifically configured to acquire performance test data stored at a specific location of the storage module.
  • embodiment of the present invention may further include:
  • a determining unit configured to determine an accuracy of the performance test data information stored at the specific location
  • the testing unit is further configured to perform performance testing on each of the storage modules according to the preset scenario, and obtain performance test data of each of the storage modules respectively.
  • embodiment of the present invention may further include:
  • an updating unit configured to update performance test data stored at a specific location on the storage module according to the performance test data obtained by the testing.
  • the obtaining unit 510 may include:
  • a read/write test sub-unit configured to perform reading and writing tests on the storage modules according to a pre-made scenario when the set time interval and/or the system is idle;
  • the pre-production scenarios include sequential reading, writing, random reading, Write, or read and write mixed;
  • a data determining subunit configured to respectively determine performance test data of each of the storage modules according to the test result; the performance test data includes, the number of read/write (I/O) operations per second, read and write bandwidth, and read Write at least one of the delays.
  • the storage array may be an all-flash array
  • the media type of the storage module may include an SLC medium and an MLC medium
  • the partition unit 520 is specifically configured to:
  • the storage module of the MLC medium is used to store the data with high activity
  • the module of the SLC medium is used to store the less active data.
  • FIG. 6 is a schematic diagram of a memory array device according to an embodiment of the present invention.
  • the device may include: a storage controller 610 and a storage module 620.
  • the system bus 630 is used for communication between the device operating the storage array by the processor or the like and the storage controller 610.
  • the storage module can be a mechanical hard disk, an SLC flash memory or an MLC flash memory or the like.
  • the storage controller 610 loads the storage module driver, for each block of storage modules 620 here And execute the following command:
  • the partition type to which each storage module 620 belongs is determined according to the sorting result.
  • the embodiment of the present invention may also perform:
  • the identification information of the storage module 620 is added to the module identification list of the corresponding partition category.
  • Performance testing is performed on the storage module 620 in advance to obtain performance test data, and the performance test data is stored at a specific location of the storage module 620.
  • the performance test data stored at a specific location of the storage module 620 is obtained.
  • embodiment of the present invention can also perform:
  • the performance of each storage module 620 is tested according to the preset scenario, and the performance test data of each storage module 620 is obtained.
  • embodiment of the present invention can also perform:
  • Performance test data stored at a specific location on the storage module 620 is updated based on the performance test data obtained by the test.
  • the memory module 620 is tested for reading and writing according to the pre-made scenario;
  • the pre-made scene includes sequential reading, writing, random reading, writing, or reading and writing mixing;
  • the performance test data includes, the number of read/write (I/O) operations per second, read and write bandwidth, read and write delays At least one.
  • the storage array may be an all-flash array
  • the media type of the storage module 620 may include an SLC medium and an MLC medium, which may also be performed by the embodiment of the present invention.
  • the storage module 620 of the MLC medium is used to store data with high activity if the storage module configured by the storage module 620 with the performance test data includes the storage module of the MLC medium.
  • the storage module composed of the storage module with poor performance test data includes the storage module of the SLC medium
  • the storage module 620 of the SLC medium is used to store the less active data.
  • RAM random access memory
  • ROM read only memory
  • electrically programmable ROM electrically erasable programmable ROM
  • registers memory arrays, removable storage arrays, CD-ROMs, or technical fields Any other form of storage medium known in the art.

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
Figure PCTCN2016095291-appb-000001
另外,本发明实施例在具体实施过程中,一个存储阵列一般包括一个或多个存储模块,各个存储模块的存储介质可能是不同的,本发明实施例并不做具体限定,例如,存储模块可以是存储介质为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    
假设,在本例子中规定,用于存储活跃度较高的数据的分区的性能区间为:wri te IOPS,≥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 (16)

  1. 一种存储阵列管理方法,其特征在于,包括:
    获取存储阵列中的各存储模块的性能测试数据;所述存储阵列中至少包括一个存储模块;
    根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,其中,不同类别的分区用于存储不同活跃度的数据。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,包括:
    根据各存储模块的性能测试数据确定各存储模块的性能得分;
    根据所述得分对各存储模块进行排序;
    根据排序结果确定各存储模块所属的分区类别。
  3. 根据权利要求1所述的方法,其特征在于,确定出各存储模块所属的分区类别后还包括:
    将存储模块的标识信息添加到对应分区类别的模块标识列表中。
  4. 根据权利要求1所述的存储阵列管理方法,其特征在于,所述方法还包括:
    预先对所述存储模块进行性能测试得到性能测试数据,将所述性能测试数据存储在存储模块特定位置处;
    所述获取存储阵列中的存储模块的性能测试数据包括:
    获取存储在所述存储模块特定位置处的性能测试数据。
  5. 根据权利要求4所述的方法,其特征在于,还包括:
    判断所述特定位置处存储的性能测试数据信息的准确性;
    如果不准确,则根据预置场景分别对各个所述存储模块进行性能测试,分别得到各个所述存储模块的性能测试数据。
  6. 根据权利要求5所述的存储阵列管理方法,其特征在于,还包括:
    根据所述测试得到的性能测试数据,更新所述存储模块上的特定位置处存储的性能测试数据。
  7. 根据权利要求1所述的存储阵列管理方法,其特征在于,所述获取存储阵列中的各存储模块的性能测试数据包括:
    在设定的时间间隔和/或系统空闲时,根据预制场景,对个所述存储模块进行读写测试;所述预制场景包括,顺序读、写,随机读、写,或者读写混合;
    根据测试结果分别确定各个所述存储模块的性能测试数据;所述性能测试数据包括,每秒进行读、写(I/O)操作的次数,读、写带宽,读、写延时中的至少一项。
  8. 根据权利要求1-7任意一项所述的存储阵列管理方法,其特征在于,所述存储阵列为全闪存阵列,所述存储模块的介质类型包括SLC介质以及MLC介质,所述不同类别的分区用于存储不同活跃度的数据包括:
    判断属于各分区类别的存储模块的介质类型;
    若由性能测试数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;
    若由性能测试数据较差的存储模块构成的分区中包括SLC介质的存储模块,则将所述SLC介质的存储模块用于存储活跃度较低的数据。
  9. 一种存储阵列管理装置,其特征在于,包括:
    获取单元,用于获取存储阵列中的各存储模块的性能测试数据;所述存储阵列中至少包括一个存储模块;
    分区单元,用于根据所述存储阵列中的各个存储模块的性能测试数据,确定各存储模块所属的分区类别,其中,不同类别的分区用于存储不同活跃度的数据。
  10. 根据权利要求9所述的装置,其特征在于,所述分区单元包括:
    得分确定子单元,用于根据各存储模块的性能测试数据确定各存储模 块的性能得分;
    排序子单元,用于根据所述得分对各存储模块进行排序;
    分区子单元,用于根据排序结果确定各存储模块所属的分区类别。
  11. 根据权利要求9所述的装置,其特征在于,还包括:
    标识单元,用于将存储模块的标识信息添加到对应分区类别的模块标识列表中。
  12. 根据权利要求9所述的存储阵列管理装置,其特征在于,所述装置还包括:
    测试单元,用于预先对所述存储模块进行性能测试得到性能测试数据,将所述性能测试数据存储在存储模块特定位置处;
    所述获取单元,具体用于获取存储在所述存储模块特定位置处的性能测试数据。
  13. 根据权利要求12所述的装置,其特征在于,还包括:
    判断单元,用于判断所述特定位置处存储的性能测试数据信息的准确性;
    所述测试单元还用于,如果不准确,则根据预置场景分别对各个所述存储模块进行性能测试,分别得到各个所述存储模块的性能测试数据。
  14. 根据权利要求13所述的存储阵列管理装置,其特征在于,还包括:
    更新单元,用于根据所述测试得到的性能测试数据,更新所述存储模块上的特定位置处存储的性能测试数据。
  15. 根据权利要求9所述的存储阵列管理装置,其特征在于,所述获取单元包括:
    读写测试子单元,用于在设定的时间间隔和/或系统空闲时,根据预制场景,对个所述存储模块进行读写测试;所述预制场景包括,顺序读、写,随机读、写,或者读写混合;
    数据确定子单元,用于根据测试结果分别确定各个所述存储模块的性 能测试数据;所述性能测试数据包括,每秒进行读、写(I/O)操作的次数,读、写带宽,读、写延时中的至少一项。
  16. 根据权利要求9-15任意一项所述的存储阵列管理装置,其特征在于,所述存储阵列为全闪存阵列,所述存储模块的介质类型包括SLC介质以及MLC介质,所述分区单元具体用于,
    判断属于各分区类别的存储模块的介质类型;
    若由性能测试数据较优的存储模块构成的分区中包括MLC介质的存储模块,则将所述MLC介质的存储模块用于存储活跃度较高的数据;
    若由性能测试数据较差的存储模块构成的分区中包括SLC介质的存储模块,则将所述SLC介质的存储模块用于存储活跃度较低的数据。
PCT/CN2016/095291 2015-09-18 2016-08-15 存储阵列管理方法及装置 WO2017045500A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510600780.8 2015-09-18
CN201510600780.8A CN106547472B (zh) 2015-09-18 2015-09-18 存储阵列管理方法及装置

Publications (1)

Publication Number Publication Date
WO2017045500A1 true WO2017045500A1 (zh) 2017-03-23

Family

ID=58288443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/095291 WO2017045500A1 (zh) 2015-09-18 2016-08-15 存储阵列管理方法及装置

Country Status (2)

Country Link
CN (2) CN110727399B (zh)
WO (1) WO2017045500A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604565A (zh) * 2003-10-02 2005-04-06 国际商业机器公司 具有硬件控制缓冲区的共享缓冲器
CN103197940A (zh) * 2012-01-09 2013-07-10 三星电子株式会社 无线终端中针对应用程序预加载分割存储区的装置和方法
CN104615953A (zh) * 2015-02-10 2015-05-13 复旦大学 一种配置数据流安全性高的可编程逻辑器
CN104657284A (zh) * 2008-02-28 2015-05-27 内存技术有限责任公司 存储设备的扩展利用区域

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117248A (zh) * 2011-03-09 2011-07-06 浪潮(北京)电子信息产业有限公司 一种缓存系统和在缓存系统中缓存数据的方法
CN103677653B (zh) * 2012-09-21 2017-07-25 联想(北京)有限公司 一种基于ssd的数据处理方法及电子设备
WO2014101117A1 (zh) * 2012-12-28 2014-07-03 华为技术有限公司 数据存储方法和存储设备
US9135173B2 (en) * 2013-01-22 2015-09-15 International Business Machines Corporation Thinly provisioned flash cache with shared storage pool
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 시스템의 데이터 복제 방법
CN104331252B (zh) * 2014-10-10 2017-08-25 上海新储集成电路有限公司 异构nand固态硬盘结构及其数据读取管理方法
CN104536909B (zh) * 2014-12-09 2018-01-23 华为技术有限公司 一种存储管理方法,存储管理装置及存储设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604565A (zh) * 2003-10-02 2005-04-06 国际商业机器公司 具有硬件控制缓冲区的共享缓冲器
CN104657284A (zh) * 2008-02-28 2015-05-27 内存技术有限责任公司 存储设备的扩展利用区域
CN103197940A (zh) * 2012-01-09 2013-07-10 三星电子株式会社 无线终端中针对应用程序预加载分割存储区的装置和方法
CN104615953A (zh) * 2015-02-10 2015-05-13 复旦大学 一种配置数据流安全性高的可编程逻辑器

Also Published As

Publication number Publication date
CN106547472A (zh) 2017-03-29
CN110727399A (zh) 2020-01-24
CN110727399B (zh) 2021-09-03
CN106547472B (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
US10817217B2 (en) Data storage system with improved time-to-ready
TWI804321B (zh) 用於電腦記憶體的效能計數器的設備、方法與電腦可讀取媒體
WO2017045500A1 (zh) 存储阵列管理方法及装置
US11016679B2 (en) Balanced die set execution in a data storage system
US20160092121A1 (en) Unmap storage space
US11853599B2 (en) Memory system and information processing system
US9535611B2 (en) Cache memory for hybrid disk drives
US10929025B2 (en) Data storage system with I/O determinism latency optimization
US11199997B2 (en) Storage device operations using a die translation table
KR20210028264A (ko) 호스트 상주 변환 레이어 유효성 검사
US10713162B1 (en) System and method for computer data garbage collection acceleration using peer to peer data transfers
CN114300032A (zh) 一种检查存储介质失效的方法、装置和固态硬盘
US11256621B2 (en) Dual controller cache optimization in a deterministic data storage system
US11922019B2 (en) Storage device read-disturb-based block read temperature utilization system
CN111324414A (zh) Nvm存储介质模拟器
CN115206405A (zh) 固态硬盘的测试方法、测试装置及计算机可读存储介质
US10949359B2 (en) Optimizing cache performance with probabilistic model
CN103176753A (zh) 存储设备及其数据管理方法
JP6100927B2 (ja) 情報処理装置
CN110442531B (zh) 基于固态硬盘的读性能提升方法、装置和计算机设备
US11995340B2 (en) Read-disturb-based read temperature information access system
US11914494B2 (en) Storage device read-disturb-based read temperature map utilization system
US11966635B2 (en) Logical unit number queues and logical unit number queue scheduling for memory devices
US11868223B2 (en) Read-disturb-based read temperature information utilization system
Shen et al. Zone Based Writing Optimization in User Space

Legal Events

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

Ref document number: 16845614

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16845614

Country of ref document: EP

Kind code of ref document: A1