CN102298506B - Storage system and method for implementing the same - Google Patents

Storage system and method for implementing the same Download PDF

Info

Publication number
CN102298506B
CN102298506B CN 201010213533 CN201010213533A CN102298506B CN 102298506 B CN102298506 B CN 102298506B CN 201010213533 CN201010213533 CN 201010213533 CN 201010213533 A CN201010213533 A CN 201010213533A CN 102298506 B CN102298506 B CN 102298506B
Authority
CN
China
Prior art keywords
solid state
non
file
state disk
response
Prior art date
Application number
CN 201010213533
Other languages
Chinese (zh)
Other versions
CN102298506A (en
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 国际商业机器公司
Priority to CN 201010213533 priority Critical patent/CN102298506B/en
Publication of CN102298506A publication Critical patent/CN102298506A/en
Application granted granted Critical
Publication of CN102298506B publication Critical patent/CN102298506B/en

Links

Abstract

本发明公开了一种存储系统和用于实现存储系统的方法,该存储系统包括:包括至少一个固态盘以及至少一个非固态盘的盘阵列;以及存储控制装置,其被配置为:响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多连续的空闲块。 The present invention discloses a storage system and a storage system implemented method for the storage system comprising: at least one solid state disk and at least one non-solid disc tray array; and storage control means which is configured to: in response to entering cleaning mode, and moving said scanning array of disk data blocks of at least one non-solid state disks, formed more contiguous free blocks. 本发明的存储系统具有良好的读写性能、较高的数据可靠性和可用性、以及较低的成本。 Storage system of the present invention have a good read and write performance, high data availability and reliability, and lower cost.

Description

存储系统和用于实现存储系统的方法 Storage system and a storage system implemented method

技术领域 FIELD

[0001] 本发明涉及计算机领域,具体涉及一种存储系统以及用于实现存储系统的方法。 [0001] The present invention relates to the computer field, particularly relates to a storage system and method for implementing a memory system.

背景技术 Background technique

[0002] 存储系统是计算机系统中最重要的部件之一。 [0002] The storage system is a computer system of one of the most important member. 人们一直希望存储系统具有高速度(高的1PS以及高的吞吐率)、高可靠性和低成本。 It has been desired storage systems with high speed (high 1PS and high throughput), high reliability and low cost.

[0003] 大多数现有的服务器或个人计算机仍然使用硬盘(HDD)作为主要的存储系统。 [0003] Most existing server or a personal computer is still using a hard disk (HDD) as the primary storage system. 尽管基于HDD的存储系统具有较低的成本,但近年来HDD访问等待时间的改进却远远落后于其容量的改进。 Despite the lower cost HDD-based storage system, but in recent years, HDD access latency improvements are lagging far behind to improve their capacity. 高的等待时间将极大地影响1PS (每秒输入/输出操作数)值。 High latency will greatly affect 1PS (input / output per second operand) values. 尤其对于随机I/O占优势的工作负荷,例如数据库工作负荷,HDD将成为性能瓶颈。 Especially for random I / O workload accounting advantages, such as database workloads, an HDD will become a performance bottleneck. 而对于顺序访问占优势的工作负荷,HDD的访问性能较好,例如,目前的单个HDD可获得高达160MB/S的持续性的传输率。 For sequential access dominant workload, better access performance of the HDD, for example, current availability of a single HDD sustained transfer rates of up to 160MB / S's.

[0004] 与HDD相比,近年来出现的固态盘(SSD)具有较低的随机读取等待时间(SSD的 [0004] Compared with HDD, a solid state disk (SSD) appeared in recent years has a lower read latency random (SSD of

0.03ms对HDD的5ms)、较高的读取1PS (SSD的35000对HDD的200)。 0.03ms 5ms to the HDD), high read 1PS (SSD to the HDD of 35,000,200). 尽管起初SSD的容量较小,但近年来也逐渐赶上了HDD的容量。 Despite the smaller capacity SSD at first, but in recent years it has gradually caught up with HDD capacity. 例如,目前已有一些作为高端产品的2TB的SSD0 SSD的能耗也低于HDD。 For example, there are a number of SSD0 SSD as a high-end product of energy consumption is also lower than 2TB HDD. 然而,SSD具有如下几个缺点:一是SDD的成本远高于HDD (以当前市价为例,SSD的$10/GB对HDD的$0.6/GB)。 However, SSD has the following disadvantages: First, the cost is much higher than SDD HDD (the current market price as an example, $ 10 / GB SSD to the HDD of $ 0.6 / GB). 在SSD中,控制器是极其昂贵的。 In the SSD controller it is extremely expensive. 二是SSD的每个单元只具有有限的写周期,这会影响其可靠性。 Second, each cell has only a limited SSD write cycle, which would affect reliability. 尽管引入了几种技术来克服该问题,但它们会增加控制器的成本,并降低1PS和吞吐率。 Despite the introduction of several techniques to overcome this problem, but they will increase the cost of the controller and reduce 1PS and throughput. 三是SSD的读写性能是非对称的。 Third, read and write performance of the SSD is asymmetric. SDD的写等待时间比读等待时间大10倍。 SDD write latency of read latency than 10 times. 这是由于写操作必须首先擦除整个块(每个块大约是0.5-1MB),然后将块中原有数据与新数据一起写入该块,这种操作是很慢的。 This is because the write operation must first erase the entire block (each block is about 0.5-1MB), then writes the block with the old and new data of the block, this operation is very slow.

[0005] 如何使存储系统具有较高的读写性能、可靠性和低成本,是一种重要的问题。 [0005] How the memory system has a higher read and write performance, reliability and low cost, it is an important issue. 目前存在着如下几种解决方案。 Currently there are several solutions.

[0006] 一是由HDD构成RAID(冗余独立磁盘阵列),将随机读写分布到若干HDD中,以提高读写性能和可靠性。 [0006] First, the RAID composed of a HDD (redundant array of independent disks), the distribution of random access to several HDD in order to increase read and write performance and reliability. 但这种解决方案的能耗成本较高,数据中心机架空间占用较大,且性能改进有限。 However, high energy costs of this solution, data center rack occupies a large space, and limited performance improvement.

[0007] 二是利用SSD的较低的读等待时间,同时使用在控制器固件中实现的部分占用块合并以及磨损均衡算法(wear-leveling algorithm)来减轻随机写的不利后果,这包括:以大的连续段写数据,在后台合并部分占用块并对空闲块进行垃圾收集,以及避免不断写入一些热点块。 [0007] Second, the use of SSD low read latency, while using the controller firmware portion of the block occupied by the merger as well as wear leveling algorithm implemented (wear-leveling algorithm) to mitigate the adverse consequences of random writes, including: the large contiguous segments write data, merge in the background portion of the occupied block and a free block garbage collection, and to avoid constantly writes some hot block. 然而,经常的后台文件系统扫描来识别部分占用块和空闲块会消耗SSD控制器的相当多带宽。 Often, however, the background scanning the file system to identify the portion occupied blocks and free blocks may consume considerable bandwidth of the SSD controller. 而且,固件很难实现复杂的垃圾收集算法,且成本很高。 Furthermore, the firmware is difficult to achieve sophisticated garbage collection algorithms, and costly. 此外,单个SSD无法提供高可用性,而SSD阵列又过于昂贵。 In addition, a single SSD can not provide high availability, and SSD arrays are too expensive.

[0008] 三是将SSD用于HDD的高速缓存。 [0008] Third SSD cache for the HDD. 这种方案没有高可靠性特征,并具有写的不利后果,如写周期有限以及写等待时间较长等。 This program does not feature high reliability, and has written negative consequences, such as limited write cycles and write to wait a long time.

[0009] 四是组合SSD和HDD,并进行手工数据分区。 [0009] Fourth, a combination of SSD and HDD, and manual data partition. 例如,在GPFS(通用并行文件系统)中,通过手工分配将元数据存储在SSD上,而将数据存储在HDD上。 For example, in the GPFS (General Parallel File System), by manually assigned metadata is stored on the SSD, and the data stored on the HDD. 这种方案不但带来很大的管理负担,而且也无法实现较高的数据读写性能以及数据的高可用性。 This program will not only bring great administrative burden, and can not read and write data to achieve high performance and high availability of data.

发明内容 SUMMARY

[0010] 针对现有技术中的缺点,提出了本发明的技术方案。 [0010] For the prior art drawbacks, a technique of the present invention.

[0011] 根据本发明的一个方面,提出了一种存储系统,包括:包括至少一个固态盘以及至少一个非固态盘的盘阵列;以及存储控制装置,其被配置为:响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多连续的空闲块。 [0011] In accordance with one aspect of the invention proposes a storage system, comprising: at least one solid state disk and at least one non-solid disc tray array; and storage control means which is configured to: in response to a cleaning mode to enter, scanning and moving said disk array data blocks of at least one non-solid state disks, formed more contiguous free blocks.

[0012] 根据本发明的另一个方面,提出了一种用于实现存储系统的方法,其中,所述存储系统包括盘阵列,该盘阵列包括至少一个固态盘以及至少一个非固态盘,该方法包括:响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多连续的空闲块。 [0012] According to another aspect of the present invention there is provided a method for implementing a memory system, wherein the storage system comprises a disk array, the disk array includes at least one solid state disk, and at least one non-solid state disk, the method comprising: in response to the enter cleaning mode, the scanning and moving said disk array data blocks of at least one non-solid state disks, formed more contiguous free blocks.

[0013] 本发明的优点包括如下几项中的一项或多项:存储系统不但通过从固态盘中读数据而获得了良好的读性能,而且通过在清理模式中对非固态盘进行清理来形成更多的连续空闲块,而具有了较好的写性能;通过将数据写入固态盘中以及非固态盘中,提高了数据可靠性和可用性;通过在操作系统的驱动器实现部分占用块的合并以及磨损均衡等功能,提高了固态盘的写入速度和使用寿命,并降低了成本。 [0013] The advantages of the present invention include a few or more of the following: a storage system only by reading the data from the SSD and get a good reading performance, and to non-cleaning by the cleaning modes in the solid-state disk more contiguous free block is formed, having a good write performance; by writing data to the SSD and a non-solid state disks, improving the reliability and availability of data; blocks occupied by implementing part of the operating system drive merger and wear leveling functions, and improve the life of SSD write speed and reduce the cost.

附图说明 BRIEF DESCRIPTION

[0014] 所附权利要求中阐述了被认为是本发明的特点的创造性特征。 [0014] The appended claims set forth the inventive features which are considered characteristic of the present invention. 但是,通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身以及其优选使用模式、目标、特征以及优点,在附图中: However, by reading the following detailed description with reference to the accompanying drawings of illustrative embodiments may be better understanding of the invention itself, as well as preferred mode of use, objects, features and advantages of the drawings in which:

[0015] 图1示出了根据本发明的实施例的存储系统; [0015] FIG 1 illustrates a storage system according to an embodiment of the present invention;

[0016] 图2示出了根据本发明的一种实施例的用于实现存储系统的方法;以及 [0016] FIG 2 illustrates a method for implementing a memory system according to an embodiment of the present invention; and

[0017] 图3示出了根据本发明的另一种实施例的用于实现存储系统的方法。 [0017] FIG. 3 illustrates a method for implementing an embodiment of the storage system according to another invention.

具体实施方式 Detailed ways

[0018] 下面参照附图来说明本发明的实施例。 Embodiments of the invention will be described with reference [0018] The following drawings. 在下面的说明中,阐述了许多具体细节以便更全面地了解本发明。 In the following description, numerous specific details are set forth in order to more fully understand the present invention. 但是,对于本技术领域内的技术人员明显的是,本发明的实现可不具有这些具体细节中的一些。 However, those skilled in the art obvious that the implementation of the present invention may not have some of these specific details. 此外,应当理解的是,本发明并不限于所介绍的特定实施例。 Further, it should be appreciated that the present invention is not limited to the particular embodiments described. 相反,可以考虑用下面的特征和要素的任意组合来实施本发明,而无论它们是否涉及不同的实施例。 In contrast, consider any combination of the following features and elements of the present invention to the embodiment, regardless of whether they relate to different embodiments. 因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。 Thus, the following aspects, features, embodiments and advantages are merely for illustrative purposes and are not to be regarded as elements of the appended claims or limitations, unless the claims expressly made.

[0019] 现参照图1,其示出了根据本发明的一实施例的存储系统。 [0019] Referring now to Figure 1, which shows a memory system embodiment of the present invention. 如图所示,该存储系统包括:盘阵列110,该盘阵列110包括至少一个固态盘111以及至少一个非固态盘112 ;以及存储控制装置120,该存储控制装置被配置为:响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多(即与扫描和移动之前相比更多)连续的空闲块。 As shown, the memory system comprising: a disk array 110, disk array 110 that includes at least one solid state disk 111 and at least one non-solid state disk 112; and a storage control means 120, the memory control means is configured to: in response to entering clean mode, the scanning and moving said disk array of solid state disks least one non-data blocks to form more (i.e., compared to the previous scanning movement and more) contiguous free blocks.

[0020] 所述非固态盘112是指对于随机读写会导致寻道延时、而顺序写时的速度较高(例如,接近于固态盘的写速度)的存储介质。 [0020] The SSD 112 refers to a non-random access cause to seek a delay, and a higher speed when the write sequence (e.g., close to a solid state disk writing speed) of the storage medium. 典型的例子是硬盘(HDD),其通过在盘片转动时,在道(track)和扇区(sector)上移动磁头来读写数据,因此,在随机读写时,会导致寻道延时;而当顺序写时,则可节省寻道延时。 A typical example is a hard disk (an HDD), which is used to read and write data at the disk rotation, moves the head on a track (Track) and sector (a SECTOR), and therefore, when the random access, lead to seek delay ; and when the write sequence, you can save seek delay. 另外的例子是一些可擦写的⑶、DVD等光学盘片以及磁光盘,且其顺序写的速度较高,并接近于SSD。 Further examples of some erasable ⑶, DVD and other optical discs and magneto-optical disk, and a high speed of the order written, and close to the SSD.

[0021] 尽管图中仅示出了一个固态盘111和一个非固态盘112,但本发明并不仅限于此。 [0021] Although only one is shown 111 and a non-solid state disk SSD 112, but the present invention is not limited thereto. 根据本发明的实施例的存储系统的盘阵列110也可以包括多个固态盘111和一个非固态盘112 (可称为N+1模式),或者包括一个固态盘111和多个非固态盘112 (可称为1+M模式),或者包括多个固态盘111和多个非固态盘112 (可称为N+M模式)。 The disk array storage system 110 of the embodiment of the present invention may also include a plurality of solid state disks 111 and a non-solid state disk 112 (N + 1 may be referred to as a mode), or a solid state disk 111 includes a plurality of non-solid state disk 112 and (1 + M mode may be referred to), or comprising a plurality of solid state disks 111 and a plurality of non-solid state disk 112 (may be referred to as N + M mode). 下面首先以存储系统的盘阵列110包括一个固态盘111和一个非固态盘112为例来说明本发明的实施例。 Below is first a disk array system 110 comprises a memory 111 and a non SSD SSD 112 will be described with an example embodiment of the present invention.

[0022] 在本发明的优选实施例中,所述存储控制装置120是由操作系统(OS)中的设备驱动器实现的。 [0022] In a preferred embodiment of the present invention, the storage control device 120 is implemented by the operating system (OS) of the device driver. 在本发明的其他实施例中,所述存储控制装置120也可以由其他装置或功能模块来实现,例如,可以由盘阵列110的控制器来实现。 In other embodiments of the present invention, the storage control device 120 may be implemented by other devices or functional modules, for example, may be implemented by the controller 110 of the disk array. 尽管在本发明的优选实施例中,所述存储控制装置120的全部功能是由软件实现的,但在本发明的其他实施例中,所述存储控制装置120的全部或部分功能也可由固件或硬件来实现。 Although this embodiment, all of the functions of the storage control device 120 is implemented by software in the preferred embodiment of the present invention, in other embodiments of the present invention, all or part of the functions of the storage control device 120 may also be firmware or hardware.

[0023] 存储控制装置120用于接收通过文件系统来自上层应用的存储器操作请求,通过对盘阵列110进行相应操作来处理存储器操作请求,并向上层应用返回处理结果。 [0023] The storage control means 120 for receiving the memory via the file system operation request from an upper layer application processing memory operation request to perform the corresponding operation by the disk array 110, and the upper layer application returns the processing result.

[0024] 根据本发明的一种实施例,所述存储控制装置120还被配置为:响应于进入读模式,从所述固态盘111读取相应数据;以及响应于进入写模式,向所述固态盘111以及所述非固态盘112写相应数据。 [0024] According to one embodiment of the present invention, the storage control device 120 is further configured to: in response to a read mode is entered, the corresponding data is read from the solid state disk 111; and in response to entering the write mode, to the SSD 111 and the non-solid state disk 112 to write the data. 当存储控制装置120接收到并开始处理来自上层应用的读请求时,进入读模式。 When the memory control device 120 receives and begins processing a read request from an upper layer application into the read mode. 在读模式中,存储控制装置120将只从固态盘111读取所请求的数据。 In the read mode, the memory control device 120 will only read from the SSD 111 the requested data. 由于固态盘111的读访问速度较高,这样可以更快地满足该读请求。 Due to the high speed read access solid state disk 111, so that the read request can be satisfied more quickly. 当存储控制装置120接收到并处理来自上层应用的写请求时,进入写模式。 When the memory control device 120 receives and processes write requests from an upper layer application into the write mode. 在写模式中,存储控制装置120将请求写的数据分别写入固态盘111和非固态盘112两者。 In the write mode, the memory control device 120 requests to write data into the SSD 111 and 112 both are non SSD. 由于存储控制装置120可以将数据写入清理模式在非固态盘112上产生的连续空闲块和在固态盘111上产生的空闲块,因此固态盘111和非固态盘112都可以提供非常高的写入性能。 Since the memory control unit 120 writes data into the cleaning mode is generated on the non-continuous solid state disk 112 and the free block in the free block generated SSD 111, a solid state disk 111 and thus non-solid state disk 112 can provide very high write into the performance. 由于将相同的数据写入固态盘111和非固态盘112这两个位置,这样,就可以在一个盘中的数据不可用时(例如,由于盘的故障或磨损),提供另一个盘中的数据,从而提高了数据的可靠性和可用性。 Since the same data is written to the SSD 111 and SSD 112 non two positions, so it can be a data disk is not available (e.g. due to wear or failure of the disc), provides data to another disk , thereby improving the reliability and availability of data.

[0025] 根据本发明的一种实施例,所述存储控制装置120还被配置为:在从所述固态盘111读取相应数据之后,验证所述相应数据的完整性;响应于所述验证通过,向上层应用返回所述相应数据;以及响应于所述验证未通过,从所述非固态盘112读取相应数据,将该相应数据恢复到所述固态盘111,并向上层应用返回该相应数据。 [0025] According to one embodiment of the present invention, the storage control device 120 is further configured to: after reading corresponding data from the SSD 111, corresponding to verify the integrity of the data; in response to said verification by the upper layer application returns the corresponding data; and in response to the verification fails, the recovery 112 reads corresponding data from the non-solid disc the corresponding data to the solid state disk 111, and returns to the upper application the corresponding data.

[0026] 如本领域的技术人员所知的,例如可以通过使用与数据一起存储的校验位来验证数据的完整性。 [0026] As known to those skilled in the art, for example, to verify data integrity through the use of check bits stored with the data. 在从所述非固态盘112读取相应数据后,也可以首先验证该数据的完整性,如果验证通过,则将该数据恢复到固态盘111,并向上层应用返回该数据;如果验证未通过,则返回错误。 After 112 reads the corresponding data from the non-solid disc, you may first verify the integrity of the data, if the verification, the data is restored to the SSD 111, and returns to the upper layer application data; if the verification is not passed An error is returned. 此外,如果验证未通过,还可进一步将该事件记入日志,并可发出通知,以便管理员采取补救措施。 Furthermore, if the verification is not passed, but also further the event is logged, and may give notice to the administrator to take remedial measures.

[0027] 在执行将数据恢复到固态盘111的操作后,也可以首先判断数据是否被成功地恢复到固态盘111。 [0027] After performing the operation to restore the data to the SSD 111 may first determine whether the data is successfully restored to the SSD 111. 如果数据已被成功恢复到固态盘111,则向上层应用返回该数据;否则,返回错误。 If the data has been successfully restored to the SSD 111, then return to the upper application data; otherwise, it returns an error. 此外,在数据未能成功恢复到固态盘111的情况下,还可进一步将该事件记入日志,并可发送通知,以便管理员采取补救措施。 In addition, the data failed to restore the SSD 111 case, can further the event is logged and can send notifications to the administrator to take remedial measures.

[0028] 根据本发明的一种实施例,向非固态盘112写相应数据包括:寻找非固态盘112中连续的空闲块,以及向非固态盘112中连续的空闲块写相应数据。 [0028] According to one embodiment of the present invention, the write data corresponding to a non-solid state disk 112 comprising: a solid-state disk 112 to find non-contiguous free blocks, and write data to a corresponding non-solid state disk 112 contiguous free blocks. 如本领域的技术人员所知的,在向HDD等非固态盘112中写数据时,如果是向其中连续的空闲块写数据,则可节省寻道时间,从而可提高写入速度,可能达到与向固态盘111写数据相当的速度,这样就使得根据本发明的实施例的存储系统不仅具有良好的读性能,而且具有良好的写性能。 As the skilled person in the art, when writing data to the HDD other non-solid state disk 112, if the write data is contiguous free blocks thereto, the seek time can be saved, thereby improving write speed may reach and 111 write data corresponding to the speed of solid state disks, so that the storage system according to an embodiment of the present invention has not only good read performance, but also has good writing performance.

[0029] 根据本发明的一种实施例,如果在非固态盘112中没有找到足够的连续的空闲块,则可以向非固态盘112中不连续的空闲块写相应数据。 [0029] According to one embodiment of the present invention, if a sufficient contiguous free block is not found in non-solid state disk 112, the corresponding data can be written to the solid state disk 112 in the non-discontinuous free block. 这样,写性能会有所降低。 In this way, write performance will be reduced. 因此,可以将相应事件(例如,非固态盘112中已没有足够的连续的空闲块)记入日志或发送通知,以便由存储控制装置120或管理员采取补救措施,例如使存储控制装置120进入下文中所述的清理模式,以对非固态盘112中的数据进行清理来形成更多连续的空闲块,或者转移非固态盘112中的数据,或者更换非固态盘112等等。 Accordingly, the corresponding event (e.g., non-solid state disk 112 is not enough contiguous free blocks) or logging send notifications to take remedial action by the storage control device 120 or an administrator, for example into the storage control device 120 hereinafter the cleaning mode to the data disk 112 in the non-solid form to be cleaned more contiguous free blocks, or transfer the data in the non-solid state disk 112, or replacing a non-solid state disk 112 and the like.

[0030] 可以多种方式寻找非固态盘112中连续的空闲块。 [0030] SSDs can find 112 non-contiguous free blocks in various ways. 例如,可以由存储控制装置120维护非固态盘112中全部空闲块的记录。 For example, all of the free blocks can maintain a solid state disk 112 is recorded by the non-storage control device 120. 每当向非固态盘112写入数据或删除非固态盘112中的数据时,相应更新该记录,使该记录始终记录着非固态盘112中的全部空闲块;此夕卜,当如下所述在清理模式中对非固态盘112进行清理时,也相应更新该记录。 Whenever data or deleting data in the non-solid state disk 112 to write the non-solid state disk 112, a corresponding update the record so that the record is always recorded all of the free blocks in a non-solid state disk 112; Bu this evening, as described below when cleaning a solid state disk 112 in the non-cleaning mode, the recording is also updated accordingly. 这样,可通过查询该记录来寻找固态盘111中连续的空闲块。 In this way, a solid state disk to find a free block of consecutive 111 by querying the record. 当然,也可以通过其他方式寻找非固态盘112中连续的空闲块。 Of course, you can also look for a solid state disk 112 non-contiguous free blocks by other means. 例如,也可通过直接对非固态盘112进行扫描来寻找其中连续的空闲块。 For example, to find which may be contiguous free blocks directly by a non-solid disc 112 is scanned.

[0031] 如本领域的技术人员所知的,当向固态盘111中写数据时,可以采用磨损均衡算法。 [0031] As known to those skilled in the art, when writing data to the SSD 111, may wear leveling algorithm. 该功能在现有技术中通常是在固态盘111的控制器固件中实现的。 This feature in the prior art is usually implemented in a solid state disk controller firmware 111. 而在本发明的实施例中,该功能是在操作系统的驱动器中实现的,这样,就极大的节约了固态盘111的固件成本。 In an embodiment of the present invention, this functionality is implemented in an operating system in the drive, so that a great saving on the cost of the firmware 111 of the SSD.

[0032] 如上所述,根据本发明的一种实施例,在所述清理模式中,存储控制装置120扫描非固态盘112,并移动其中的数据块,以便形成更多连续的空闲块。 [0032] As described above, according to one embodiment of the present invention, in said cleaning mode, the storage control apparatus 120 scans a non-solid state disk 112, and wherein the movement of data blocks to form more contiguous free blocks. 这样,当写入新的数据时,就更有可能找到连续的空闲块,并将数据写入连续的空闲块,而不是将数据写入不连续的空闲块,从而提高写入速度。 Thus, when new data is written, it is more likely to find contiguous free blocks, and writes the data contiguous free blocks, instead of writing data to a discontinuous free block, thereby increasing the write speed. 在移动数据块之后,存储控制装置120可相应更新上述全部空闲块记录,以反映非固态盘112中经过数据块移动形成的新的空闲块。 After moving the data blocks, the storage control device 120 may correspond to all the free blocks for updating the record to reflect the new free block is formed after the movement block non SSD 112.

[0033] 根据本发明的一种实施例,所述存储控制装置120还被配置为:在所述清理模式中,扫描并合并所述盘阵列110中固态盘111中的部分占用的数据块,来形成更多完整的空闲块。 [0033] According to one embodiment of the present invention, the storage control device 120 is further configured to: in said cleaning mode, and combining the scan data disk array block portion occupied by the solid-state disks 111 110, to form a more complete free block. 也就是说,通过将多个部分占用的数据块中的数据合并到一个或多个块中,使所述一个或多个块成为完全占用的数据块,可以节省出更多完整的空闲块(如本领域中所知的,由于固态盘是一种随机访问存储器,对数据的访问时间与数据在盘上的物理位置无关,因此空闲块不必是连续的)。 That is, by combining a plurality of portions of data blocks occupied by the one or more blocks, said one or more blocks of data blocks become fully occupied, you can save more complete free block ( as is known in the art, since the solid state disk is a random access memory, regardless of the physical location on the disc and the data access time to data, and therefore need not be contiguous free blocks). 这样,当在固态盘111中写数据时,就更有可能直接在完整的空闲块中写数据。 Thus, when writing data in the SSD 111, it is more likely to write data directly in a complete free blocks. 如本领域的技术人员所知的,向固态盘中完整的空闲块写入时,可以省去读出该块原有数据、擦写整个数据块的工作,从而大大提高固态盘写入的性能。 As known to those skilled in the art, when writing to the SSD complete free block, the original block may be omitted reads the data erase operation of the entire data block, thereby greatly improving the performance of disk writes to a solid . 在目前的固态盘技术中,这种合并部分空闲块的功能是在控制器固件中实现的,在本发明的一实施例中,该功能是在操作系统的驱动程序中实现的,从而节省了固件成本。 In the current art solid state disk, such a merger partially free functional block is implemented in firmware in the controller, in one embodiment of the present invention, this functionality is implemented in the driver of the operating system, thereby saving firmware costs.

[0034] 可以使用多种策略来规定存储控制装置120如何进入和退出清理模式。 [0034] Various strategies can be used to specify how the storage control device 120 to enter and exit clean-up mode. 每一种策略规定了用于触发进入清理模式的所述特定事件。 Each strategy provides for the specific event triggered into clean up mode. 仅作为示例,第一种策略可以规定当在预定时间阈值T内没有接收到读请求和写请求时,进入清理模式;当非固态盘112中连续的空闲块占所有空闲块的比例超过预定比例阈值C时,或者当接收到读请求或写请求时,可以退出清理模式。 For example only, a first policy may specify when not receiving the read and write requests within a predetermined time threshold T, enters cleaning mode; when the non SSD consecutive 112 free block accounting for all of the free blocks ratio exceeds a predetermined ratio threshold Found C, or when receiving a read or write requests, can exit cleaning mode.

[0035] 第二种策略可以规定当磁盘带宽使用率低于预定使用率阈值BW时,进入清理模式;而当磁盘带宽使用率高于预定使用率阈值BW时,或者当非固态盘112中连续的空闲块占所有空闲块的比例超过预定比例阈值C时,可以退出清理模式。 [0035] A second strategy can be predetermined when the disk bandwidth utilization is below a predetermined usage rate threshold BW, enters cleaning mode; when the disk bandwidth usage is above a predetermined usage rate threshold BW, or when a non-continuous solid state disk 112 when all free blocks representing the proportion of free blocks exceeds a predetermined threshold ratio Found C, you can exit cleaning mode.

[0036] 第三种策略可以规定当存储控制装置120中用于接收来自上层的读请求和写请求的请求队列的长度小于预定长度阈值QL时,进入清理模式;而当请求队列的长度高于预定阈值QL时,或者当非固态盘112中连续的空闲块占所有空闲块的比例超过预定比例阈值C时,可以退出清理模式。 When [0036] A third policy may specify when the storage control means 120 for receiving a request of a read and write requests from the upper layer is less than a predetermined length of the queue length threshold value QL, enters cleaning mode; when the length of the request queue is higher than when the predetermined threshold value QL, or when the non-solid disc contiguous free blocks 112 representing the proportion of all free blocks exceeds a predetermined threshold ratio Found C, you can exit cleaning mode.

[0037] 此外,也可以由管理员手工命令进入清理模式,或者响应于接收到非固态盘112中已没有足够的连续的空闲块的通知而进入清理模式。 [0037] Further, the cleaning mode may be entered manually by the administrator command, or in response to receiving the SSD 112 is non-not enough contiguous free blocks notification and enters cleaning mode. 当然,可以在每一种策略中进一步规定只有当非固态盘112盘整列110中连续的空闲块占所有空闲块的比例低于一预定比例阈值D(其可小于或等于上述预定比例阈值C)时,才进入清理模式;而当非固态盘112中连续的空闲块占有所空闲块的比例等于或大于预定比例阈值D时,不进入清楚模式。 Of course, it can be further specified in each of the policy only when a non-solid state disk 112 consolidation column 110 contiguous free blocks account for all of the free block ratio is less than a predetermined ratio threshold value D (which may be less than or equal to said predetermined ratio threshold value C) when, before entering the cleaning mode; when the non-solid disc 112 contiguous free blocks are occupied or free blocks is greater than a predetermined ratio is equal to the ratio threshold value D, does not enter the clear mode. 或者,存储控制装置120在接收到所指定的特定策略规定的触发进入清楚模式的特定事件后,进一步判断非固态盘112中连续的空闲块占所有空闲块的比例是否低于预定比例阈值D,且只有当该判断为是时,才进入清理模式,而当该判断为否时,放弃进入清理模式。 Alternatively, the memory control device 120 enters the clear mode in a certain predetermined policy received to a designated trigger certain events, further determines non-solid disc contiguous free block 112 accounts for all of the free blocks ratio is below a predetermined threshold ratio D, and only when the determination is YES, before entering the clean-up mode, and when the judgment is No, give up to enter the cleaning mode. 存储控制装置120可通过查询上述非固态盘112中所有空闲块的记录来判断非固态盘112中连续的空闲块占所有空闲块的比例是否低于预定比例阈值。 Storage control device 120 by querying the non-free blocks SSD all records 112 to determine non-solid state disk 112 contiguous free blocks cent of all free blocks is less than a predetermined ratio threshold ratio. 此外,还可以设定一优先级调度策略,规定由清理模式产生的I/O请求的优先级P小于由上层应用产生的读请求和写请求的优先级Q,并由存储控制装置120根据优先级进行调度,这样,就可以保证清理模式所产的I/O请求不会干扰应用的操作。 Furthermore, you can also set a priority scheduling policy, a predetermined pattern generated by the cleaning I / O request priority of the priority P is smaller than Q read request and the write request generated by the upper layer application by the memory control device 120 according to the priority scheduling level, so that it can ensure the produced cleaning mode I / O request does not interfere with operation of the application.

[0038] 以上策略仅为示例,而不是对本发明的限制。 [0038] These strategies are exemplary, rather than limiting the present invention. 在本发明的一些实施例中,可采用其他策略来规定如何进入和退出清理模式。 In some embodiments of the present invention, other strategies may be used to specify how to enter and exit the cleaning mode.

[0039] 根据本发明的一种实施例,该存储控制装置120可向上层(例如文件系统或操作系统)提供一策略定义接口,管理员可通过该接口指定用于进入和退出清理模式的策略,并设定该策略所需的阈值等参数。 [0039] According to one embodiment of the present invention, the memory control device 120 may provide an interface to the upper layer define a policy (e.g., file system or operating system), and enter the administrator can specify the policy for the cleaning mode exit through the interface , the policy and set the desired parameters such as threshold. 可针对不同上层应用的特定,指定不同的策略,并设定不同的参数。 For the specific application of different upper layer, specify a different strategy, and set different parameters.

[0040] 例如,对于一个访问频繁的Web服务器,其平均读写间隔为I秒钟,CPU到磁盘的带宽为200MBPS,可以指定上述第一种策略,并设定T = 0.5秒。 [0040] For example, for a frequently accessed Web server, an average interval of I second read, the CPU bandwidth of 200Mbps to disk, you can specify the first strategy, and setting T = 0.5 sec. 也就是说,如果在0.5秒中内没有读写访问时,则进入清理模式。 That is, if no read-write access within 0.5 seconds, then enters cleaning mode. 或者,可以指定上述第二种策略,并设定BW = 50MBPS。 Alternatively, you can specify the above-mentioned second strategy, and set BW = 50MBPS. 也就是说,当磁盘带宽使用低于50MBPS时,进入清理模式。 That is, when the disk bandwidth usage is lower than 50MBPS, enter the cleaning mode. 如果当前带宽使用高于50MBPS,则退出清理模式。 If current bandwidth usage is higher than 50MBPS, exit cleaning mode. 或者,可以指定上述第三种策略,并设定QL= 100。 Alternatively, designating the third policy, and set QL = 100. 也就是说,只有当驱动程序中的由上层应用产生的请求的队列长度低于100的时候,才进入清理模式。 That is, only when the length of the queue driver application request generated by the upper layer is less than 100, before entering the cleaning mode. 一旦队列长度超过100,则退出清理模式。 Once the queue length exceeds 100, the cleaning mode is exited. 此外,还可以指定上述优先级调度策略,并设定清理模式产生的I/O请求的优先级为5,上层应用产生的I/O请求的优先级为15。 In addition, the priority level can also specify scheduling policy, and set the cleaning mode generated I / O requests priority is 5, the upper layer produced by the application priority I / O requests to 15. 这样,存储控制装置120中的调度功能就可以保证清理模式产生的请求不会干扰应用的操作。 Thus, the scheduling function 120 stores the control means can ensure that the request does not interfere with the cleaning operation mode generating application. 此外,还可设定上述用于退出清理模式的预定比例阈值C = 25%。 In addition, also for exiting the cleaning mode sets the predetermined threshold ratio C = 25%. 也就是说,当系统可用的连续空间超过可用空间的25%时,就可以退出清理模式。 In other words, when the system is available contiguous space more than 25% of the available space, you can exit the cleaning mode. 通过指定和设定如上所述策略,可以优化对于Web服务器的频繁访问以及对于小文件(例如网页上的各种小图片)的读写。 By specifying and setting strategies described above, can be optimized for frequently accessed Web server for read and write small files (for example, a variety of small pictures on the page) of.

[0041] 再例如,对于一个企业的文件服务器,其平均读写间隔为20秒,可以指定上述第一种策略,并设定T = 10秒。 [0041] As another example, a file server for an enterprise, an average read interval is 20 seconds, you can specify the first strategy, and setting T = 10 seconds. 也就是说,如果在10秒中内没有读写访问时,则进入清理模式。 In other words, if there is no read-write access within 10 seconds, then enter the cleaning mode. 或者,可以指定上述第二种策略2,并设定BW = 20MBPS。 Alternatively, the policy may specify the above-described second 2, and set BW = 20MBPS. 也就是说,只有当磁盘带宽使用低于20MBPS时,进入清理模式。 That is, only when the disk bandwidth usage is lower than 20MBPS, enter the cleaning mode. 如果当前使用带宽高于20MBPS,则退出清理模式。 If you are using a bandwidth greater than 20MBPS, exit cleaning mode. 或者,可以指定上述第三种策略,并设定QL = 200,也就是说,只有当驱动程序中的由上层应用产生的请求的队列长度低于200的时候,才进入清理模式,一旦队列长度超过200,则退出清理模式。 Alternatively, designating the third policy, and set QL = 200, that is, only when the driver queue length generated by the upper layer request is applied less than 200, before entering the cleaning mode, once the queue length more than 200, then exit cleaning mode. 此外,还可以设定上述优先级调度策略,并指定由清理模式产生的I/O请求的优先级为8,上层应用产生的I/O请求的优先级为15,这样,存储控制装置120中的调度功能就可以保证清理模式产生的I/O请求不会干扰应用的操作。 Furthermore, can also set the priority level scheduling policy, and specifies the cleaning mode generated by the I / O request priority is 8, the upper layer produced by the application priority I / O request is 15, so that the storage control means 120 the scheduling function can ensure that cleaning modes generated I / O requests will not interfere with operation of the application. 此外,还可以设定上述用于退出清理模式的预定比例阈值C = 50%。 Furthermore, you can also set the above-described cleaning modes for exiting a predetermined ratio threshold value C = 50%. 也就是说,当系统可用的连续空间超过可用空间的50%时,才可以退出清理模式;低于50%时,就要继续进行磁盘扫描、计算和数据块移动,以使得连续可用的空间达到可用空间的50%以上。 That is, when the system is available contiguous space of more than 50% of available space, you can exit the cleaning mode; when less than 50%, it is necessary to continue scanning the disk, Mobile computing and data blocks, so that the space available to reach a continuous more than 50% of the available space. 通过指定和设定如上所述策略,可以优化对于文件服务器访问频率较低而每次数量很大的读写(比如几百兆,甚至是几个GB大小的文件上传)。 By specifying and setting strategies described above, it can be optimized for lower frequency and each file server to access a large number of read and write (such as a few hundred, or even several GB size of file uploads).

[0042] 根据本发明的一种实施例,所述存储控制装置120还被配置为:在所述清理模式中,判断是否接收到触发退出清理模式的特定事件,该特定事件可以是上文中所述的各种策略规定的触发退出清理模式的特定事件,例如非固态盘中连续的空闲块占所有空闲块的比例超过预定比例阈值C,等等;以及如果所述判断为否,则继续如上所述对非固态盘112和固态盘111的清理操作;以及如果该判断为是,则退出清理模式。 [0042] According to one embodiment of the present invention, the storage control device 120 is further configured to: in said cleaning mode, it is determined whether a specific event trigger exit cleaning mode, the specific event may be the above various strategies predetermined particular event triggers exit of said cleaning mode, e.g., non-contiguous free blocks of the SSD cent of all free blocks exceeds a predetermined proportion ratio threshold Found C, and the like; and if the determination is negative, then continue as described above the cleaning operation of the non-solid state disk 112 and the SSD 111; and if the determination is YES, then exit the cleaning mode.

[0043]以上描述了根据本发明的实施例的存储系统,其中,存储控制装置120在写模式中向固态盘111和非固态盘112两者中写数据;而存储控制装置120在读模式中仅从固态盘111读取数据。 [0043] The above described storage system according to an embodiment of the present invention, wherein the memory control unit 120 writes data to both the solid state disk 111 and the non-solid-state disk 112 in the write mode; and storage control means 120 only in the read mode reads data from the SSD 111. 然而,这并非是对本发明的限制。 However, this is not a limitation of the present invention. 在本发明的其他实施例中,可以不是将所有写请求的数据写入固态盘111和非固态盘112两者中,而是仅将具有高可用性要求的写请求的数据写入固态盘111和非固态盘112两者中,而将不具有高可用性要求的写请求的数据仅写入非固态盘112中;此外,还可以在此后在清理模式中将虽没有高可用性要求、但被频繁访问的数据从非固态盘112转移到固态盘111。 Data write request in other embodiments of the present invention, not all the data can be written to both write requests and non-solid state disk 111 in a solid state disk 112, but only with a high availability requirements of a solid state disk 111 and writing both non-solid disc data 112, but will not have a high availability requirements of a write request writes only non-solid state disk 112; You can also thereafter in a cleaning mode, although not high availability requirements, but frequently accessed the data transferred from the SSD 112 to the non-solid state disk 111. 以这种方式,不但有区别地保证了特定应用的数据的高可靠性和高可用性,而且有区别地保证了特定应用的数据访问速度。 In this manner, not only ensure the difference data for a particular application of high reliability and availability, but also guarantees the differentiated data access speed of a particular application.

[0044] 因此,根据本发明的另一实施例,所述存储控制装置120被配置为:响应于开始处理对一文件的读请求,判断固态盘111中是否存在该文件;响应于判断固态盘111中存在该文件,从固态盘111中读取该文件;响应于判断固态盘111中不存在该文件,从非固态盘112中读取该文件;响应于开始处理对一新文件的写请求,判断该新文件是否具有高可用性要求;响应于判断该新文件具有高可用性要求,向固态盘111以及非固态盘112中写新该文件;以及响应于判断该新文件不具有高可用性要求,仅向非固态盘112中写该新文件。 [0044] Thus, according to another embodiment of the present invention, the storage control device 120 is configured to: in response to a request to begin processing the read file, determines whether the file exists in a solid state disk 111; in response to determining SSDs in the file 111 exists, read the file from the SSD 111; in response to determining that a solid state disk 111 does not exist in the file, read the file from the non-solid state disk 112; in response to the write start processing a new request for a file on determining whether the new file with high availability requirements; in response to determining that the new file with high availability requirements, writing new the file for the solid state disk 111 and a non-solid state disk 112; and in response to determining that the new file does not have high availability requirements, write the new file to a non-SSD 112 only. 当然,根据本发明的进一步的实施例,所述存储控制装置120还可被配置为:在响应于判断固态盘111中存在所述文件,并从固态盘111中读取所述文件后,可以验证所述文件数据的完整性;响应于所述验证通过,向上层应用返回所述相应数据;以及响应于所述验证未通过,从所述非固态盘112读取所述文件,并向上层应用返回该相应数据 Of course, according to a further embodiment of the present invention, the storage control device 120 may be further configured to: in response to determining the presence of said solid state disk file 111, and reads the file from the SSD 111 can be verifying the integrity of the data file; in response to the authentication by returning a corresponding data to an upper layer application; and responsive to not pass the verification, reading the file from the non-solid state disk 112, and an upper layer the application returns the corresponding data

[0045] 根据本发明的进一步实施例,所述存储控制装置120还被配置为:响应于从固态盘111或非固态盘112中读取一文件,更新该文件的访问频率;在清理模式中,响应于判断一文件的访问频率高于预定阈值,该文件仅存在于非固态盘112中,且固态盘111中存在足够的可用空间,将所述文件从非固态盘112中转移到固态盘111中;以及在清理模式中,响应于判断一文件的访问频率低于预定阈值,且该文件仅存在于固态盘111中,将所述文件从固态盘111转移到非固态盘112。 [0045] According to a further embodiment of the invention, the storage control device 120 is further configured to: in response to a file read from the solid-state disk 111 or solid state disk 112, the access frequency of the file update; cleanup mode in response to a file access frequency is determined above a predetermined threshold, the file exists only non-solid state disk 112, and there is sufficient space available in a solid state disk 111, the file is transferred from the SSD 112 to the non SSDs 111; and in a cleaning mode in response to determining that a file access frequency is below a predetermined threshold value, and the file exists only in a solid state disk 111, the file is transferred from the SSD 111 to the non-solid-state disk 112.

[0046] 当然,在本发明的这些实施例中,存储控制装置120还被配置为执行如上文中所述的清理模式中的用于整体非固态盘和固态盘中的数据块的各项操作。 [0046] Of course, in these embodiments of the present invention, the storage control device 120 is further configured to perform the above described cleaning mode for the overall operation of the non-data blocks of the SSD and SSD.

[0047] 以上以存储阵列中包括一个固态盘111和一个非固态盘112为例描述了根据本发明的实施例的存储系统,但这并非对本发明的限制。 [0047] In the above memory array comprising a solid state disk 111 and a non-solid state disk 112 is described as an example embodiment of the storage system according to embodiments of the present invention, but this is not a limitation on the present invention.

[0048] 在本发明的另一些实施例中,存储系统的存储阵列可包括多个固态盘111和一个非固态盘112 (N+1模式),例如4个固态盘111和I非固态盘112。 [0048] In other embodiments of the present invention, the storage array storage system 111 may include a plurality of solid state disks and a non-solid state disk 112 (N + 1 mode), for example, four solid state disk 111 and disk 112 non-solid I . 这种模式适合于固态盘111容量较小的情况。 This mode is suitable for small capacity SSD 111 cases. 由于目前固态盘111的成本仍然较高,容量较小,大容量的固态盘111的成本更高,例如,4块小容量的固态盘111的成本可能低于I块大容量的固态盘111的成本,因此这种实施例可降低存储系统的成本。 Due to the current cost SSDs 111 remains high, smaller capacity, more expensive large capacity solid state disk 111, for example, the cost of four solid state disk 111 may be less than a small-capacity high-capacity I block SSD 111 cost, so this embodiment can reduce the cost of the storage system. 在这种实施例中,存储系统中的存储控制装置120将把多个固态盘111视为一个大的固态盘111,并执行如上文中所述的各项操作。 In such an embodiment, the storage means stores the control system 120 will be considered as a plurality of solid state disks 111 large SSD 111, and performs various operations as described in claim. 也就是说,在读模式中,存储控制装置120可从所述多个固态盘中的一个固态盘读取相应数据;在写模式中,存储控制装置120可向所述多个固态盘中的一个固态盘以及所述非固态盘中写相应数据;而在清理模式中,存储控制装置120可选地可对所述多个固态盘进行清理,以合并部分占用的数据块。 That is, in the read mode, the memory controller 120 may read data from a respective one of said plurality of solid state SSD disks; write mode, the storage control means to the disc 120 may be a plurality of solid state SSDs and the corresponding non-solid disk write transactions; in cleaning mode, the storage control device 120 may optionally be cleaned of the plurality of solid state disks, in order to occupy part of the combined data block.

[0049] 在本发明的又一些实施例中,存储系统的存储阵列可包括一个固态盘111和多个非固态盘112(1+M模式),例如I个固态盘111和3个非固态盘112。 [0049] In still other embodiments of the present invention, the storage array storage system may include a solid state disk 111 and a plurality of non-solid disks 112 (1 + M mode), for example, 111 I SSDs and three non SSDs 112. 这种模式适合于并发写入数和写入带宽要求非常高的情况。 This mode is suitable for concurrent writes and write bandwidth requirements is very high. 当需要写文件时,可以根据不同文件的不同可靠性要求,将具有高可靠性要求的文件写入至少两个非固态盘112,而将不具有高可靠性要求的文件只写入一个非固态盘112。 When the file need to write the file, according to different requirements of different files of reliability, with a high reliability requirements to write at least two non-solid state disk 112, but will not have a high reliability of a file write only non-solid plate 112. 并且,在清理模式中,根据文件读取的频率,将读取频率较高的文件从非固态盘112转移到固态盘111。 Further, in the cleaning mode, according to the frequency of the read file, the read file is transferred from the higher frequency 112 SSD into non-solid state disk 111. 当然,在清理模式中,还要对各非固态盘112进行扫描和整理以形成更多连续的空闲块,并且可选地,对固态盘111进行扫描以合并部分占用的数据块。 Of course, in the cleaning mode, but also for non-solid state disk 112 to form a scanning and sorting more contiguous free blocks, and optionally, a solid state disk 111 scans the data block section merged occupied.

[0050] 因此,根据本发明的这些实施例,存储控制装置120被配置为:响应于开始处理对一文件的读请求,判断所述固态盘111中是否存在该文件;响应于判断所述固态盘111中存在该文件,从所述固态盘111中读取该文件;响应于判断所述固态盘111中不存在该文件,从所述多个非固态盘112中读取该文件;响应于开始处理对一新文件的写请求,判断该新文件是否具有高可用性要求;响应于判断该新文件具有高可用性要求,向多个非固态盘112中的至少两个盘写该新文件;以及响应于判断该新文件不具有高可用性要求,仅向所述多个非固态盘112中的一个盘写该新文件。 [0050] Thus, according to these embodiments of the present invention, the storage control device 120 is configured to: in response to a read request starts processing a file, the SSD 111 determines whether the file exists; in response to determining the solid state in the presence of the disk file 111, the file is read from the solid state disk 111; in response to determining that the solid state disk 111 in the file does not exist, read the file from the plurality of non-solid state disk 112; in response to start a new process for the file write request, it is determined whether the new file with high availability requirements; in response to determining that the new file with high availability requirements, the new file is written to at least two of the plurality of non-solid disc tray 112; in response to determining that the new file does not have high availability requirements, the new file writing is only one disk in the plurality of non-solid state disk 112. 根据本发明的这些实施例,所述存储控制装置120还被配置为:响应于从固态盘111或多个非固态盘112中读取一文件,更新该文件的访问频率;在清理模式中,响应于判断一文件的访问频率高于预定阈值,该文件仅存在于所述多个非固态盘112中,且固态盘111中存在足够的可用空间,将所述文件从所述多个非固态盘112中转移到固态盘111中;以及在清理模式中,响应于判断一文件的访问频率低于预定阈值,且该文件仅存在于所述固态盘ill中,将所述文件从固态盘ill转移到多个非固态盘112中的一个。 According to these embodiments of the present invention, the storage control device 120 is further configured to: in response to a file read from the solid state disk 111 or more non-solid state disk 112, the access frequency of the file update; cleanup mode, in response to determining a file access frequency is higher than a predetermined threshold value, the document is present only in said plurality of non-solid state disk 112, and there is sufficient space available in a solid state disk 111, the file from the plurality of non-solid the disk 112 is transferred to a solid state disk 111; and in a cleaning mode in response to determining that a file access frequency is below a predetermined threshold value, and the file exists only in the ill SSD, the SSD file from ill transferred to a plurality of non-solid state disk 112. 根据本发明的这些实施例,所述存储控制装置120还被配置为:响应于进入清理模式,扫描所述多个非固态盘112,并移动其中的数据块,以便形成更多连续的空闲块。 According to these embodiments of the present invention, the storage control device 120 is further configured to: in response to the enter cleaning mode, scanning the plurality of non-solid state disk 112, and wherein the movement of data blocks to form more contiguous free blocks . 根据本发明的进一步的实施例,所述存储控制装置120还被配置为:在所述清理模式中,扫描并合并所述盘阵列110中固态盘111中的部分占用的数据块,来形成更多完整的空闲块。 According to a further embodiment of the present invention, the storage control device 120 is further configured to: in said cleaning mode, the scan data block and combining the portion occupied by the disk array 110 in the SSD 111, to a more and more complete free block.

[0051] 在本发明的再一些实施例中,存储系统的存储阵列可包括多个固态盘111和多个非固态盘112(N+M模式),例如2个固态盘111和3个非固态盘112。 [0051] In yet another embodiment of the present invention, some embodiments, the memory array 111 may include a storage system and a plurality of non-solid disc 112 (N + M mode) a plurality of solid state disk, solid state disk 111, for example, two and three non-solid plate 112. 在这种模式中,可以定义不同级别的可靠性要求,并将可靠性要求的级别更高的文件写入更多的盘中。 In this mode, you can define different levels of reliability, and writes a higher level of reliability of the disk file more. 例如,对于包括2个固态盘111和3个非固态盘112的存储系统,可定义如下5级可靠性要求: For example, for a solid state disk 111 includes two storage systems, and three non-solid state disk 112, as defined in claim 5 Reliability:

[0052] 级别I (缺省情况):将新文件写入I块非固态盘112,可靠性最低; [0052] Level I (default): The new file written to the I block non-solid state disk 112, the lowest reliability;

[0053] 级别2:将新文件写入2块非固态盘112 ; [0053] Level 2: the new file writing two non-solid state disk 112;

[0054] 级别3:将新文件写入3块非固态盘112 ; [0054] Level 3: The new file written three non-solid state disk 112;

[0055] 级别4:将新文件写入3块非固态盘112和I块固态盘111 ; [0055] Level 4: The new file written three non SSD 112 and SSD 111 I-block;

[0056] 级别5:将新文件写入3块非固态盘112和2块固态盘111,可靠性最高。 [0056] Level 5: 3 write the new file 112 and the non-solid disc 2 SSD 111, the highest reliability.

[0057] 当需要写文件时,可以根据不同文件的不同可靠性要求级别,将文件写入不同数量非固态盘112或固态盘111中。 [0057] When the need to write the file, the file may be different depending on the reliability level required, the file is written to a different number of non-solid state disk 112 or solid state disk 111. 并且,在清理模式中,根据文件读取的频率,将读取频率较高的文件从非固态盘112转移到固态盘111。 Further, in the cleaning mode, according to the frequency of the read file, the read file is transferred from the higher frequency 112 SSD into non-solid state disk 111. 当然,在清理模式中,还要对各非固态盘112进行扫描和整理以形成更多连续的空闲块,并且可选地,对固态盘111进行扫描以合并部分占用的数据块。 Of course, in the cleaning mode, but also for non-solid state disk 112 to form a scanning and sorting more contiguous free blocks, and optionally, a solid state disk 111 scans the data block section merged occupied.

[0058] 当然,以上所示的可靠性要求的级别仅仅是示例性的。 [0058] Of course, the level of reliability requirements shown above are merely exemplary. 在本发明的实施例中,可以采用其他的可靠性要求级别。 In an embodiment of the present invention may be employed other reliability levels.

[0059] 因此,根据本发明的这些实施例,存储控制装置120被配置为:响应于开始处理对一文件的读请求,判断所述多个固态盘111中是否存在该文件;响应于判断所述多个固态盘111中存在该文件,从所述多个固态盘111中读取该文件;响应于判断所述多个固态盘111中不存在该文件,从所述多个非固态盘112中读取该文件;响应于开始处理对一新文件的写请求,判断该新文件的可用性要求的高低;根据该新文件的可用性要求的高低,向所述多个固态盘111和多个非固态盘112中的至少一个盘中写该新文件。 [0059] Thus, according to these embodiments of the present invention, the storage control device 120 is configured to: in response to a request to begin processing the read file, determining whether the plurality of solid state disks 111 present in the file; in response to determining the the presence of said plurality of solid state disks 111 in the file, read the file from the plurality of solid state disks 111; in response to determining that the file does not exist in said plurality of solid state disks 111, from the plurality of non-solid state disks 112 read the file; in response to a write request to start processing a new file, determines the availability of the required level of the new file; level requirements depending on the availability of the new file, said plurality of solid state disks 111 and the plurality of non- SSD 112 at least one disk write the new file. 也就是说,对于可用性要求越高的新文件,则向所述多个固态盘111和非固态盘112中越多的盘中写该新文件。 That is, the higher the availability requirements for the new file, the new file is written to the disc 111 and the plurality of solid state disk 112 non-solid the more disk. 根据本发明的这些实施例,所述存储控制装置120还被配置为:响应于从多个固态盘111或多个非固态盘112中读取一文件,更新该文件的访问频率;在清理模式中,响应于判断一文件的访问频率高于预定阈值,该文件仅存在于多个非固态盘112中,且多个固态盘111中存在足够的可用空间,将所述文件从多个非固态盘112中转移到多个固态盘111中;以及在清理模式中,响应于判断一文件的访问频率低于预定阈值,且该文件仅存在于多个固态盘111中,将所述文件从多个固态盘111转移到多个非固态盘112。 According to these embodiments of the present invention, the storage control device 120 is further configured to: in response to read a file from the plurality of solid state disks 111 or more non-solid state disk 112, the file is updated in the access frequency; in cleaning mode in response to determining that a file access frequency is higher than a predetermined threshold value, the document is present in only a plurality of non-solid state disk 112, and there is sufficient space available in a plurality of solid state disks 111, the plurality of files from the non-solid the disk 112 is transferred to the plurality of solid state disks 111; and the clean-up mode, in response to determining the frequency of access to a file is lower than a predetermined threshold value, and wherein the plurality of solid state disk file 111 exists only in the file from the plurality SSDs 111 is transferred to a plurality of non-solid state disk 112. 根据本发明的这些实施例,所述存储控制装置120还被配置为:响应于进入清理模式,扫描所述多个非固态盘112,并移动其中的数据块,以便形成更多连续的空闲块。 According to these embodiments of the present invention, the storage control device 120 is further configured to: in response to the enter cleaning mode, scanning the plurality of non-solid state disk 112, and wherein the movement of data blocks to form more contiguous free blocks . 根据本发明的进一步的实施例,所述存储控制装置120还被配置为:在所述清理模式中,扫描并合并所述盘阵列110中多个固态盘111中的部分占用的数据块,来形成更多完整的空闲块。 According to a further embodiment of the present invention, the storage control device 120 is further configured to: in said cleaning mode, the scanning and data block portion occupied by combining the plurality of disk array 110 of the SSD 111 to more complete free block is formed.

[0060] 在本发明的另外一些实施例中,存储系统的存储阵列可包括相同数量的多个固态盘111和多个非固态盘112,且每一个固态盘111与每一个非固态盘112构成一个单元(可称为N+N模式),例如4个固态盘111和4个非固态盘112组成4个单元,每个单元包括一个固态盘111和一个非固态盘112。 [0060] In some further embodiments of the present invention, the storage array storage system may include the same number of a plurality of solid state disks 111 and a plurality of non-solid state disk 112, and 111 each constituted with a SSD for each non SSD 112 a unit (N + N may be referred to as a mode), for example, four solid state disks 111 and four non SSDs 112 consisting of 4 cells, each cell comprising a solid state disk 111 and a non-solid state disk 112. 在这种模式中,存储控制装置120针对每一个单元执行如上文中所述的各种操作,且各个单元之间根据需要进行组合,例如构成RAIDO、RAID I或RAID 5 等。 In this mode, the storage control device 120 performs various operations for each unit as described above was used, and the combination between the respective units according to need, for example, a RAIDO, RAID I RAID 5 or the like.

[0061] 以上描述了根据本发明的各实施例的存储系统,应指出的是,以上描述仅为示例,而不是对本发明的限制。 [0061] The storage system of the above described embodiments of the present invention, it should be noted that the above description is merely exemplary, and not limiting of the present invention. 在本发明的其他实施例中,该存储系统可具有更多、更不或不同的模块,且该存储系统的存储控制装置可配置为执行更多、更不或不同的操作。 In other embodiments of the present invention, the storage system may have more, less, or different modules, and storage control means of the storage system may be configured to perform more, less or different operations.

[0062] 下面参照附图描述根据本发明的实施例的用于实现存储系统的方法。 [0062] The following drawings depict an embodiment of the method of the present invention is implemented in the storage system based on the reference. 该方法中的各步骤对应于以上所述的根据本发明的实施例的存储系统的各项操作。 Each step in the process corresponds to the operation of the memory system according to an embodiment of the present invention described above. 为简明起见,在以下描述中省略了与以上描述重复的部分细节,因此,可参照以上描述获得对该方法的更详细的了解。 For brevity, the foregoing description is omitted with some details repeated in the following description, therefore, may be described with reference to the above to obtain a more detailed understanding of the method.

[0063] 根据本发明的实施例,提出了一种用于实现存储系统的方法,其中所述存储系统包括盘阵列,该盘阵列包括至少一个固态盘以及至少一个非固态盘,该方法包括以下步骤:响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多连续的空闲块。 [0063] According to an embodiment of the present invention, a method for implementing a memory system, wherein the storage system comprises a disk array, the disk array includes at least one solid state disk, and at least one non-solid state disk, the method comprising the step of: in response to the enter cleaning mode, the scanning and moving said disk array data blocks of at least one non-solid state disks, formed more contiguous free blocks.

[0064] 图2示出了根据本发明的一实施例的用于实现存储系统的方法的具体实现方式。 [0064] FIG. 2 shows a specific implementation of the method according to the embodiment of a memory system implemented embodiment of the present invention. 如图所示,该方法包括如下步骤: As shown, the method comprising the steps of:

[0065] 在步骤201,进行模式仲裁,以确定进入读模式、写模式和清理模式中的哪一个。 [0065] In step 201, the mode arbitration, to determine enters read mode, a write mode and which cleaning mode.

[0066] 可以使用多种方法进行模式仲裁。 [0066] Various methods may be used for arbitration mode. 例如,当接收到来自上层应用的读请求并开始处理该请求时,确定进入读模式;当接收到来自上层应用的写请求并开始处理请求时,确定进入写模式;而当接收到由特定策略(例如,上文中所述的各种策略中的一种)规定的触发进入清理模式的特定事件时,进入清理模式。 For example, when a read request is received from an upper layer application and begins processing the request is determined to enter the read mode; when a write request is received from an upper layer application and begin processing the request, determines to enter write mode; when received by a particular policy (for example, one of various strategies described in the above) specified trigger into the clean-up mode for a particular event, enter the cleaning mode. 例如,可响应于如下事件之一,进入所述清理模式:在预定时间阈值内,未接收到读请求和写请求;判断磁盘带宽占用低于预定带宽占用阈值;判断用于接收来自上层应用的读请求和写请求的队列长度低于预定队列长度阈值;以及接收到进入清理模式的命令。 For example, in response to one of the following events, enters the cleaning mode: threshold value within a predetermined time, it does not receive a read and write requests; Analyzing disk bandwidth is below a predetermined threshold bandwidth; judged from an upper layer for receiving the application queue length read and write requests queue length is below a predetermined threshold value; and receiving the command to enter the cleaning mode.

[0067] 在步骤202,响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多连续的空闲块。 [0067] In step 202, in response to the enter cleaning mode, the scanning and moving said disk array data blocks of at least one non-solid state disks, formed more contiguous free blocks.

[0068] 在步骤203,更新所述至少一个非固态盘中全部空闲块的记录。 [0068] In step 203, the updating of all free blocks disc recording at least one non-solid.

[0069] 在步骤204,扫描并合并所述盘阵列中至少一个固态盘中的部分占用的数据块,来形成更多完整的空闲块。 [0069] In step 204, the combined scan and at least a portion of a disk array occupied by the SSD data blocks, to form a more complete free block.

[0070] 在步骤205,判断是否接收到触发退出清理模式的特定事件,该特定事件可以是上文中所述的各种策略规定的触发退出清理模式的特定事件,例如非固态盘中连续的空闲块占所有空闲块的比例超过预定比例阈值C,等等。 [0070] In step 205, it is determined whether an event trigger specific exit cleaning mode, the specific event may be a particular event specified in the policy of the above various cleanup exit trigger mode, e.g., non-contiguous free SSDs block cent of all free blocks exceeds a predetermined proportion ratio threshold Found C, and the like.

[0071] 如果该判断为否,则返回步骤202。 [0071] If the determination is NO, it returns to step 202. 如果该判断为是,则退出清理模式。 If the judgment is yes, then exit the cleaning mode.

[0072] 根据本发明的一种实施例,该方法还包括如下步骤: [0072] According to one embodiment of the present invention, the method further comprising the steps of:

[0073] 在步骤206,响应于进入读模式,打开所述至少一个固态盘的读通道。 [0073] In step 206, in response to the read mode is entered, opening the at least one solid state disk read channel.

[0074] 在步骤207,从所述至少一个固态盘读取相应数据。 [0074] In step 207, reads the corresponding data from the at least one solid state disk.

[0075] 在可选步骤208,验证所述相应数据的完整性。 [0075] In optional step 208, the corresponding data integrity verification.

[0076] 在可选步骤209,判断所述验证是否通过。 [0076] In optional step 209, by determining whether the verification.

[0077] 如果该判断为是,则转到步骤210,否则转到步骤211。 [0077] If the determination is yes, go to step 210, otherwise, to step 211.

[0078] 在步骤210,向上层应用返回所读取的相应数据。 [0078] In step 210, it returns the corresponding read data to the upper application.

[0079] 在步骤211,打开所述至少一个非固态盘的读通道。 [0079] In step 211, opens the at least one non-solid disc read channel.

[0080] 在步骤212,从所述至少一个非固态盘读取相应数据。 [0080] In step 212, reads the corresponding data from the at least one non-solid state disk.

[0081] 在步骤213,将所读取的相应数据恢复到所述至少一个固态盘。 [0081] In step 213, restores the read data corresponding to the at least one solid state disk.

[0082] 在步骤214,判断恢复是否成功。 [0082] In step 214, it is determined whether the recovery was successful.

[0083] 如果该判断为是,则转到步骤210,向上层应用返回所读取的相应数据。 [0083] If the determination is yes, go to step 210, the corresponding application returns the read data to the upper layer. 否则转到步骤215。 Otherwise, go to step 215.

[0084] 在步骤215,返回错误,并可选地将该错误记录日志或发送错误通知。 [0084] In step 215, an error is returned, and optionally send the error log or an error notification.

[0085] 根据本发明的一种实施例,该方法还包括如下步骤: [0085] According to one embodiment of the present invention, the method further comprising the steps of:

[0086] 响应于进入写模式,在步骤216打开所述至少一个固态盘的写通道,以及在步骤217打开所述至少一个非固态盘的写通道。 [0086] In response to entering the write mode, at step 216 the write channel opening the at least one solid state disk, and in step 217 the opening of the at least one non-solid state disk write channel.

[0087] 在步骤218,寻找所述至少一个非固态盘中连续的空闲块。 [0087] In step 218, looking for at least one non-contiguous free blocks of the SSD.

[0088] 在步骤219,判断所述至少一个非固态盘中是否存在足够的连续的空闲块。 [0088] In step 219, the determination whether the at least one non-solid disc enough contiguous free blocks exist.

[0089] 如果该判断为是,则转到步骤220 ;如果该判断为否,则转到步骤221。 [0089] If the determination is yes, go to Step 220; if the determination is NO, proceeds to step 221.

[0090] 在步骤220,向所述至少一个非固态盘中的连续的空闲块写相应数据。 [0090] In step 220, the at least one non-solid to the disk successive free blocks to write the data.

[0091] 在步骤221,向所述至少一个非固态盘的非连续的空闲块中写相应数据。 [0091] In step 221, the at least one non-solid state to the non-contiguous free disk blocks to write the data.

[0092] 在可选步骤222,将相应事件记入日志并发送通知,所述相应事件例如为无法在非固态盘中找到足够多的连续的空闲块。 [0092] In optional step 222, the event is logged and the corresponding notification is sent, the appropriate event, for example, can not find enough contiguous free blocks in a non-solid disc.

[0093] 在步骤223,更新所述至少一个非固态盘中全部空闲块的记录。 [0093] In step 223, updating the at least one recording disc of all solid non-free blocks.

[0094] 在步骤224,向所述至少一个固态盘写相应数据。 [0094] In step 224, the write data corresponding to the at least one solid state disk.

[0095] 当然,以上所述仅为根据本发明的实施例的用于实现存储系统的方法的一种具体实现方式,而不是对本发明的限制。 [0095] Of course, the above is only a specific implementation of the method according to an embodiment of the present invention enables the storage system, and not to limit the present invention. 该用于实现存储系统的方法可以具有其他的具体实现方式。 The method for memory system may have other specific implementation.

[0096] 现参照图3描述根据本发明的另一种实施例的用于实现存储系统的方法,其中,所述存储系统包括盘阵列,该盘阵列包括至少一个固态盘以及至少一个非固态盘。 [0096] FIG. 3 will now be described with reference to a method according to another embodiment of the storage system for implementation of embodiments of the present invention, wherein the storage system comprises a disk array, the disk array includes at least one solid state disk, and at least one non-solid state disk . 在以下对该实施例的描述中,省略了与图2所示的实施例中相同的步骤,例如进行模式仲裁的步骤,在清理模式中的与图2中的实施例中相同的对非固态盘和固态盘进行整理的步骤,以及在读模式和写模式中打开通道的步骤等等。 In the following description of the embodiments, the same will be omitted in the embodiment shown in FIG. 2 in step, the step of arbitration mode for example, in the embodiment of FIG. 2 in a cleaning mode on the same non-solid step disk and solid state disk finishing, as well as the steps and so open channels in read mode and write mode.

[0097] 如图所示,该方法包括如下步骤: [0097] As shown, the method comprising the steps of:

[0098] 在步骤301,在读模式中,响应于开始处理对一文件的读请求,判断所述至少一个固态盘中是否存在该文件。 [0098] In step 301, in the read mode, in response to a request to begin processing the read document, determining at least one solid state disk the file exists.

[0099] 如果该步骤为是,则转到步骤302 ;如果该判断为否,则转到步骤304。 [0099] If this step is YES, go to step 302; if the determination is NO, proceeds to step 304.

[0100] 在步骤302,从所述至少一个固态盘中读取该文件。 [0100] In step 302, a solid state disk to read the file from the least.

[0101] 在步骤303,更新该文件的访问频率。 [0101] In step 303, the update frequency of access to the file.

[0102] 在步骤304,向上层应用返回所读取的文件数据。 [0102] In step 304, to the upper application returns the read data file.

[0103] 在步骤305,从所述至少一个非固态盘中读取该文件,然后转到步骤303。 [0103] In step 305, read the file from the at least one non-solid state disk, and then proceeds to step 303.

[0104] 在步骤306,在写模式中,响应于开始处理对一新文件的写请求,判断该新文件的可用性要求的高低。 [0104] In step 306, in a write mode in response to a write request to start processing a new file, it determines the availability of the required level of the new file.

[0105] 在步骤307,根据该新文件的可用性要求的高低,向所述至少一个固态盘以及所述至少一个非固态盘中的至少一个盘中写该新文件。 [0105] In step 307, according to the level of the availability requirements of the new file to the at least one solid state disc and the at least one disc at least one non-solid disc writing the new file.

[0106] 在步骤308,在所述清理模式中,响应于判断一文件的访问频率高于预定阈值,该文件仅存在于所述至少一个非固态盘中,且所述至少一个固态盘中存在足够的可用空间,将所述文件从所述至少一个非固态盘中转移到所述至少一个固态盘中。 [0106] In step 308, in said cleaning mode, in response to determining a file access frequency is higher than a predetermined threshold value, the document only exists in the at least one non-solid state disk, and the presence of the at least one solid state disk enough free space, the at least one file from said non-solid state disks transferred to said at least one solid state disk.

[0107] 在步骤309,响应于判断一文件的访问频率低于预定阈值,该文件仅存在于所述至少一个固态盘中,将所述文件从所述至少一个固态盘转移到所述至少一个非固态盘。 [0107] In step 309, in response to determining the frequency of access to a file is lower than a predetermined threshold value, the document only exists in the at least one solid state disks, the files from the disk to the at least one of said at least one solid state non-solid-state disk.

[0108] 根据本发明的一种实施例,所述清理模式中产生的I/O请求的优先级低于来自上层应用的读请求和写请求的优先级。 [0108] According to one embodiment of the present invention, the cleaning mode generated I / O requests of lower priority than the priority of read requests and write requests from an upper layer application.

[0109] 根据本发明的一种实施例,所述至少一个非固态盘为硬盘或可擦写光盘。 [0109] According to one embodiment of the present invention, at least one non-solid state disk or a hard disk rewritable disc.

[0110] 根据本发明的一种实施例,所述方法是通过操作系统中的设备驱动器实现的。 [0110] According to one embodiment of the present invention, the process by the operating system device driver implementation.

[0111] 以上描述了根据本发明的实施例的方法,应指出的是,以上描述仅为示例,而不是对本发明的限制。 [0111] The above described embodiment of the method of the present invention, it should be noted that the above description is merely exemplary, and not limiting of the present invention. 在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的关系可以与所描述的不同。 In other embodiments of the present invention, the method may have more, fewer, or different steps, and the relationship between the steps may be different from that described. 虽然为了叙述和图示方便起见,以上所述各实施例中的各步骤具有特定的顺序,但某些步骤之间可具有不同的顺序或者可并行执行,例如,步骤204也可以在步骤203之前执行或与之并行执行,步骤309也可以在步骤308之前执行或与之并行执行。 Although for convenience of illustration and description, the steps in the above embodiments each has a specific sequence, but may have some of the steps between different order or may be performed in parallel, e.g., at step 204 before step 203 may be or executed in parallel with execution, step 309 may be performed before or in parallel with step 308 is performed. 以上所述各步骤中的一些步骤为可选步骤,或者可与其他步骤合并。 Each of the above steps, some steps are optional or may be combined with other steps. 例如,步骤206、211、216、217为可选步骤,或者可与其各自的后续步骤合并为一个步骤;步骤208、209、213、214、215、222、204 也均为可选步骤。 For example, 206,211,216,217 step is an optional step, or may be combined with their respective subsequent step is a step; step 208,209,213,214,215,222,204 are also optional steps.

[0112] 下表示出了根据本发明的一实施例的存储系统的读写性能及成本与几种现有技术的存储系统的读写性能及成本的比较: [0112] The following table shows a comparison of read and write read and write performance of the storage system performance and cost of several prior art embodiment of a memory system of the present invention and according to the cost of:

[0113] [0113]

Figure CN102298506BD00151

[0114] [0114]

Figure CN102298506BD00161

[0115] 由上表可知,与现有的由SATA组成的阵列相比,根据本发明的实施例的存储系统具有好得多的读性能和写性能,成本仅略有增强。 [0115] From the above table shows that compared to the conventional array consisting of a SATA, have much better read performance and write performance of the storage system according to an embodiment of the present invention, only a slightly increased cost. 与现有的由固态盘组成的阵列相比,根据本发明的实施例的存储系统具有相当且大体均衡的读性能和写性能,并且成本大幅度降低。 Compared with the conventional array consisting of a solid state disk, storage system according to an embodiment of the present invention generally has a relatively balanced and write performance and read performance, and significant cost reduction. 当然,除上述优点之外,根据本发明的实施例的存储系统还具有高数据可靠性和可用性的优点。 Of course, in addition to the above advantages, the storage system according to an embodiment of the present invention also has the advantages of high reliability and availability of data.

[0116] 尽管已参照优选实施例具体示出和说明了本发明,但是本领域内的那些技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发明的精神和范围。 [0116] Although specific reference to preferred embodiments shown and described the present invention, those skilled in the art should be understood that various changes in form and detail without departing from the spirit of the invention and range. 以上描述仅是对本发明的实施例的示例性说明,旨在使本领域的技术人员更好地理解本发明,而不是对本发明的限制。 The foregoing description is only illustrative of embodiments of the present invention, it is intended to enable those skilled in the art a better understanding of the invention, not limitation of the invention. 本发明的范围仅由所附权利要求限定。 The scope of the present invention is defined only by the appended claims.

Claims (22)

1.一种存储系统,包括: 包括至少一个固态盘以及至少一个非固态盘的盘阵列;以及存储控制装置,其被配置为:响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多连续的空闲块,所述存储控制装置进一步被配置为将数据写入清理模式在非固态盘上形成的连续的空闲块, 其中,所述存储控制装置还被配置为: 响应于进入读模式,从所述至少一个固态盘读取相应数据;以及响应于进入写模式,向所述至少一个固态盘以及所述至少一个非固态盘写相应数据。 1. A storage system, comprising: at least one solid state disk and at least one non-solid disc tray array; and storage control means which is configured to: in response to entering the cleaning mode, the scanning and moving at least one of said disk array non-solid disk data blocks to form more contiguous free blocks, said memory control means is further configured to write data to the free block cleaning mode continuously formed on a non-solid state disk, wherein the storage control means is further configured to: in response to a read mode is entered, the corresponding data is read from said at least one solid state disks; and in response to entering the write mode, the write data corresponding to the at least one solid state disc and the at least one non-solid state disk.
2.根据权利要求1的存储系统,其中,所述存储控制装置还被配置为: 在从所述至少一个固态盘读取相应数据之后,验证所述相应数据的完整性; 响应于所述验证通过,向上层应用返回所述相应数据;以及响应于所述验证未通过,从所述至少一个非固态盘读取相应数据,将该相应数据恢复到所述至少一个固态盘,并向上层应用返回该相应数据。 2. The storage system of claim 1, wherein said storage control means is further configured to: after reading the corresponding data from the at least one solid state disk, verify the integrity of the respective data; in response to said verification by returning the corresponding data to an upper layer application; and responsive to the validation does not pass, from said at least one non-solid disc to read the corresponding data, to restore the data corresponding to the at least one solid state disk, and an upper layer application return the corresponding data.
3.根据权利要求1的存储系统,其中,向所述至少一个非固态盘写相应数据包括: 寻找所述至少一个非固态盘中连续的空闲块;以及向所述至少一个非固态盘中连续的空闲块写所述相应数据。 The storage system of claim 1, wherein the at least one non-solid to the disc writing respective data comprising: at least one non-solid looking disc contiguous free blocks; and to the at least one non-continuous SSDs free blocks to write the respective data.
4.根据权利要求1的存储系统,其中,所述存储控制装置还被配置为: 响应于开始处理对一文件的读请求,判断所述至少一个固态盘中是否存在该文件;响应于判断所述至少一个固态盘中存在该文件,从所述至少一个固态盘中读取该文件;以及响应于判断所述至少一个固态盘中不存在该文件,从所述至少一个非固态盘中读取该文件。 4. The storage system of claim 1, wherein said storage control means is further configured to: in response to a read request starts processing of a document, determining at least one solid state disk that the file exists; in response to determining the said at least one of the presence of a solid disk file, read the file from the at least one solid state disk; and in response to determining that the at least one solid state disk file does not exist, from the at least one non-read SSDs The document.
5.根据权利要求4的存储系统,其中,所述存储控制装置还被配置为: 响应于开始处理对一新文件的写请求,判断该新文件的可用性要求的高低;以及根据该新文件的可用性要求的高低,向所述至少一个固态盘以及所述至少一个非固态盘中的至少一个盘中写该新文件,包括对于可用性要求越高的新文件,向越多的固态盘和非固态盘中写该新文件。 The storage system according to claim 4, wherein said storage control means is further configured to: in response to a write request to start processing a new file, determine the level of availability requirements of the new file; and based on the new file availability requirements of high and low, to the at least one solid state disk and at least one non-solid state disks at least one disk write the new file, including higher availability requirements for new files to the more solid and non-solid-state disk intraday write the new file.
6.根据权利要求4的存储系统,其中,所述存储控制装置还被配置为: 响应于从所述至少一个固态盘或所述至少一个非固态盘中读取一文件,更新该文件的访问频率; 在所述清理模式中,响应于判断该文件的访问频率高于预定阈值,该文件仅存在于所述至少一个非固态盘中,且所述至少一个固态盘中存在足够的可用空间,将该文件从所述至少一个非固态盘中转移到所述至少一个固态盘中;以及在所述清理模式中,响应于判断该文件的访问频率低于预定阈值,且该文件仅存在于所述至少一个固态盘中,将该文件从所述至少一个固态盘转移到所述至少一个非固态盘。 6. The storage system according to claim 4, wherein said storage control means is further configured to: in response to the at least one non-solid state disk to read a file, the file access from the update of the at least one solid state disk or the frequency; in said cleaning mode, in response to determining that the file access frequency is higher than a predetermined threshold value, the document only exists in the at least one non-solid state disks, and the at least a sufficient free space exists SSDs, the document from the at least one non-solid state disks transferred to said at least one solid state disk; and in the cleaning mode, in response to determining that the file access frequency is below a predetermined threshold value, and in that the file exists only said at least one solid state disk, the file is transferred from the at least one solid state disk to the at least one non-solid disc.
7.根据权利要求1的存储系统,其中,所述存储控制装置还被配置为:在所述清理模式中,扫描并合并所述盘阵列中至少一个固态盘中的部分占用的数据块,来形成更多完整的空闲块。 7. The storage system of claim 1, wherein said storage control means is further configured to: in said cleaning mode, said disk array scan and combining at least a portion of the occupied data blocks of the SSD to more complete free block is formed.
8.根据权利要求1的存储系统,其中,所述存储控制装置还被配置为: 响应于如下事件之一,进入所述清理模式: 在预定时间阈值内,未接收到读请求和写请求; 判断磁盘带宽占用低于预定带宽占用阈值; 判断用于接收来自上层应用的读请求和写请求的队列长度低于预定队列长度阈值;以及接收到进入清理模式的命令。 8. The storage system of claim 1, wherein said storage control means is further configured to: in response to one of the following events, enters the cleaning mode: threshold value within a predetermined time, does not receive a read and write requests; Analyzing the disk bandwidth is below a predetermined threshold bandwidth; judged for receiving the queue length is below a predetermined queue length threshold value read request and a write request from an upper layer application; and receiving the command to enter the cleaning mode.
9.根据权利要求8的存储系统,其中,所述存储控制装置还被配置为: 响应于判断非固态盘中连续的空闲块占所有空闲块的比例超过预定比例阈值,退出所述清理模式。 9. The memory system of claim 8, wherein said storage control means is further configured to: in response to determining that the non-contiguous free blocks of the SSD account all of the free blocks exceeds a predetermined proportion ratio threshold, exiting the cleaning mode.
10.根据权利要求8的存储系统,其中,所述清理模式所产生的I/O请求的处理优先级低于来自上层应用的读请求和写请求的处理优先级。 10. The storage system of claim 8, wherein said cleaning mode generated by I / O request processing priority lower than the priority of processing a read request from an upper layer application and write requests.
11.根据权利要求1的存储系统,其中,所述存储控制装置的功能是通过操作系统中的设备驱动器实现的。 11. The storage system of claim 1, wherein said storage control means function by the operating system device driver implementation.
12.一种用于实现存储系统的方法,其中,所述存储系统包括盘阵列,该盘阵列包括至少一个固态盘以及至少一个非固态盘,该方法包括: 响应于进入清理模式,扫描并移动所述盘阵列中至少一个非固态盘中的数据块,来形成更多连续的空闲块,以便数据被写入清理模式在非固态盘上形成的连续的空闲块, 所述方法还包括: 响应于进入读模式,从所述至少一个固态盘读取相应数据;以及响应于进入写模式,向所述至少一个固态盘以及所述至少一个非固态盘写相应数据。 12. A method for implementing a memory system, wherein the storage system comprises a disk array, the disk array includes at least one solid state disk, and at least one non-solid state disk, the method comprising: in response to the enter cleaning mode, the scanning movement and said disk array least one non-solid state disk data blocks to form more contiguous free blocks, so that data is written to the spare block cleaning mode continuously formed on a non-solid state disk, said method further comprising: in response to enter the read mode, read the corresponding data from the at least one solid state disks; and in response to entering the write mode, the write data corresponding to the at least one solid state disc and the at least one non-solid state disk.
13.根据权利要求12的方法,还包括: 在从所述至少一个固态盘读取相应数据之后,验证所述相应数据的完整性; 响应于所述验证通过,向上层应用返回所述相应数据;以及响应于所述验证未通过,从所述至少一个非固态盘读取相应数据,将该相应数据恢复到所述至少一个固态盘,并向上层应用返回该相应数据。 13. The method of claim 12, further comprising: after reading the corresponding data from the at least one solid state disk, verifying the integrity of the respective data; in response to the authentication by returning a corresponding data to the upper application ; and in response to the validation does not pass, from said at least one non-solid disc to read the corresponding data, to restore the data corresponding to the at least one solid state disk, and an upper layer application returns the corresponding data.
14.根据权利要求12的方法,其中,向所述至少一个非固态盘写相应数据包括: 寻找所述至少一个非固态盘中连续的空闲块;以及向所述至少一个非固态盘中连续的空闲块写所述相应数据。 14. The method of claim 12, wherein the at least one non-solid to the disc writing respective data comprising: at least one non-idle Looking SSDs consecutive blocks; and to the at least one non-continuous SSDs the respective free block write data.
15.根据权利要求12的方法,还包括: 响应于开始处理对一文件的读请求,判断所述至少一个固态盘中是否存在该文件;响应于判断所述至少一个固态盘中存在该文件,从所述至少一个固态盘中读取该文件;以及响应于判断所述至少一个固态盘中不存在该文件,从所述至少一个非固态盘中读取该文件。 15. The method of claim 12, further comprising: in response to a request to begin processing the read document, determining at least one solid state disk that the file exists; in response to determining that the file exists in the at least one solid state disk, at least one solid state of the file read from the disc; and in response to determining that the file of the at least one solid state disk does not exist, read the file from the at least one non-solid state disk.
16.根据权利要求15的方法,还包括: 响应于开始处理对一新文件的写请求,判断该新文件的可用性要求的高低;以及根据该新文件的可用性要求的高低,向所述至少一个固态盘以及所述至少一个非固态盘中的至少一个盘中写该新文件,包括对于可用性要求越高的新文件,向越多的固态盘和非固态盘中写该新文件。 16. The method of claim 15, further comprising: in response to a write request to start processing a new file, determines the availability of the required level of the new file; availability requirements and according to the level of the new file, to at least one solid state disk and at least one non-solid state disks at least one disk write the new file, including higher availability requirements for the new file, write the new file to the more solid and non-solid-state disk tray.
17.根据权利要求15的方法,还包括: 响应于从所述至少一个固态盘或所述至少一个非固态盘中读取一文件,更新该文件的访问频率; 在所述清理模式中,响应于判断该文件的访问频率高于预定阈值,该文件仅存在于所述至少一个非固态盘中,且所述至少一个固态盘中存在足够的可用空间,将该文件从所述至少一个非固态盘中转移到所述至少一个固态盘中;以及在所述清理模式中,响应于判断该文件的访问频率低于预定阈值,且该文件仅存在于所述至少一个固态盘中,将该文件从所述至少一个固态盘转移到所述至少一个非固态盘。 17. The method of claim 15, further comprising: in response to the at least one solid state disks or solid state disks at least one non-read a file, the file access frequency updated; in said cleaning mode, in response to Analyzing the frequency of access to the file is above a predetermined threshold, the file exists only in that the at least one non-solid state disk, and the presence of sufficient free space at least one solid state disk, the file from the at least one non-solid the plate is transferred to the at least one solid state disk; and in the cleaning mode, in response to determining that the file access frequency is below a predetermined threshold value, and the at least one file exists only in the solid state disk, the file It is transferred from the at least one solid state disk to the at least one non-solid disc.
18.根据权利要求12的方法,还包括: 在所述清理模式中,扫描并合并所述盘阵列中至少一个固态盘中的部分占用的数据块,来形成更多完整的空闲块。 18. The method of claim 12, further comprising: in said cleaning mode, said disk array scan and combining at least a portion of the occupied data blocks of the SSD, to form a more complete free block.
19.根据权利要求12的方法,还包括: 响应于如下事件之一,进入所述清理模式: 在预定时间阈值内,未接收到读请求和写请求; 判断磁盘带宽占用低于预定带宽占用阈值; 判断用于接收来自上层应用的读请求和写请求的队列长度低于预定队列长度阈值; 接收到进入清理模式的命令。 19. The method of claim 12, further comprising: in response to one of the following events, enters the cleaning mode: threshold value within a predetermined time, does not receive a read and write requests; Analyzing disk bandwidth occupied bandwidth is lower than a predetermined occupancy threshold ; determining means for receiving the queue length is below a predetermined queue length threshold value read request and a write request from an upper layer application; receiving the command to enter the cleaning mode.
20.根据权利要求19的方法,还包括: 响应于判断非固态盘中连续的空闲块占所有空闲块的比例超过预定比例阈值,退出所述清理模式。 20. The method of claim 19, further comprising: in response to determining that the non-contiguous free blocks of the SSD cent of all free blocks exceeds a predetermined proportion ratio threshold, exiting the cleaning mode.
21.根据权利要求19的方法,其中,所述清理模式中产生的I/O请求的处理优先级低于来自上层应用的读请求和写请求的处理优先级。 21. The method according to claim 19, wherein, in said cleaning mode generated I / O request processing priority lower than the priority of processing the read request and the write request from the upper application.
22.根据权利要求12的方法,其中,所述方法是通过操作系统中的设备驱动器实现的。 22. The method of claim 12, wherein said method is by the operating system device driver implementation.
CN 201010213533 2010-06-24 2010-06-24 Storage system and method for implementing the same CN102298506B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010213533 CN102298506B (en) 2010-06-24 2010-06-24 Storage system and method for implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010213533 CN102298506B (en) 2010-06-24 2010-06-24 Storage system and method for implementing the same

Publications (2)

Publication Number Publication Date
CN102298506A CN102298506A (en) 2011-12-28
CN102298506B true CN102298506B (en) 2014-12-03

Family

ID=45358953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010213533 CN102298506B (en) 2010-06-24 2010-06-24 Storage system and method for implementing the same

Country Status (1)

Country Link
CN (1) CN102298506B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799395B (en) * 2012-06-29 2015-07-22 华为技术有限公司 Dynamic balancing processing method and device for disk spaces and disk system
CN102831088A (en) * 2012-07-27 2012-12-19 国家超级计算深圳中心(深圳云计算中心) Data migration method and device based on mixing memory
CN103970684A (en) * 2013-02-04 2014-08-06 联想(北京)有限公司 Data storage method and electronic device
CN107239225A (en) * 2016-03-29 2017-10-10 群联电子股份有限公司 Memory management method, memory storage device and memory control circuit unit
WO2018103010A1 (en) * 2016-12-07 2018-06-14 华为技术有限公司 Memory management method and user terminal

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467022B1 (en) * 1998-04-16 2002-10-15 International Business Machines Corporation Extending adapter memory with solid state disks in JBOD and RAID environments
CN101238431A (en) * 2005-08-03 2008-08-06 桑迪士克股份有限公司 Mass data storage system
CN101673188A (en) * 2008-09-09 2010-03-17 上海华虹Nec电子有限公司 Data access method for solid state disk

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921142B2 (en) * 2007-01-08 2011-04-05 International Business Machines Corporation Method and apparatus for storing and accessing data records on solid state disks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467022B1 (en) * 1998-04-16 2002-10-15 International Business Machines Corporation Extending adapter memory with solid state disks in JBOD and RAID environments
CN101238431A (en) * 2005-08-03 2008-08-06 桑迪士克股份有限公司 Mass data storage system
CN101673188A (en) * 2008-09-09 2010-03-17 上海华虹Nec电子有限公司 Data access method for solid state disk

Also Published As

Publication number Publication date
CN102298506A (en) 2011-12-28

Similar Documents

Publication Publication Date Title
Narayanan et al. Migrating server storage to SSDs: analysis of tradeoffs
US8464094B2 (en) Disk array system and control method thereof
US9910777B2 (en) Enhanced integrity through atomic writes in cache
US8392648B2 (en) Storage system having a plurality of flash packages
US9767032B2 (en) Systems and methods for cache endurance
US8521972B1 (en) System and method for optimizing garbage collection in data storage
JP5254031B2 (en) Optimize memory write and wear performance
US8626996B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US20120036309A1 (en) Coordinated garbage collection for raid array of solid state disks
US9229653B2 (en) Write spike performance enhancement in hybrid storage systems
US7769952B2 (en) Storage system for controlling disk cache
US20110047437A1 (en) Apparatus, system, and method for graceful cache device degradation
US7774540B2 (en) Storage system and method for opportunistic write-verify
KR20140007333A (en) Scheduling of reconstructive i/o read operations in a storage environment
US8356126B2 (en) Command-coalescing RAID controller
CN101271379B (en) The mixture density memory storage device and control method thereof
US7743216B2 (en) Predicting accesses to non-requested data
US8423739B2 (en) Apparatus, system, and method for relocating logical array hot spots
Soundararajan et al. Extending SSD Lifetimes with Disk-Based Write Caches.
JP2015518987A (en) Specialization of I / O access patterns for flash storage
US20090193182A1 (en) Information storage device and control method thereof
EP2510446B1 (en) Extending ssd lifetime using hybrid storage
US20100235597A1 (en) Method and apparatus for conversion between conventional volumes and thin provisioning with automated tier management
US7076605B1 (en) Method and apparatus for writing data to a storage device
US20120198152A1 (en) System, apparatus, and method supporting asymmetrical block-level redundant storage

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted