TWI718519B - Data storage system and management method thereof - Google Patents

Data storage system and management method thereof Download PDF

Info

Publication number
TWI718519B
TWI718519B TW108112360A TW108112360A TWI718519B TW I718519 B TWI718519 B TW I718519B TW 108112360 A TW108112360 A TW 108112360A TW 108112360 A TW108112360 A TW 108112360A TW I718519 B TWI718519 B TW I718519B
Authority
TW
Taiwan
Prior art keywords
data
storage
storage area
user data
auxiliary memory
Prior art date
Application number
TW108112360A
Other languages
Chinese (zh)
Other versions
TW202038095A (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 TW108112360A priority Critical patent/TWI718519B/en
Publication of TW202038095A publication Critical patent/TW202038095A/en
Application granted granted Critical
Publication of TWI718519B publication Critical patent/TWI718519B/en

Links

Images

Abstract

The invention discloses a data storage system and management method thereof. The data storage system according to the invention includes N storage devices, an auxiliary memory and a controller where N is an integer equal to or larger than 3. The controller functions in receiving data requested to be stored in the data storage system, performing a predetermined operation for the received data to generate user data and parity data. When the auxiliary memory is not full, the controller writes the user data into a plurality of user data storage areas of the N storage devices, and writes the parity data into the auxiliary memory.

Description

資料儲存系統及其管理方法 Data storage system and its management method

本發明係關於一種資料儲存系統(data storage system)及其管理方法,並且特別地,關於具有高循序效能(sequential performance)的資料儲存系統及其管理方法。 The present invention relates to a data storage system and its management method, and in particular, to a data storage system with high sequential performance and its management method.

隨著用戶儲存資料量日益增多,符合磁碟陣列(RAID)架構的資料儲存系統(亦稱為磁碟陣列(RAID)系統)已廣泛地被採用來儲存大量資料。磁碟陣列(RAID)系統能提供高可用性(high availability)、高效能(high performance)或大容量(high volume)的資料儲存空間給主機(host)。 With the increasing amount of data stored by users, data storage systems that conform to the RAID structure (also known as RAID systems) have been widely adopted to store large amounts of data. The RAID system can provide high availability, high performance or high volume data storage space to the host.

習知的磁碟陣列系統的構成,包含磁碟陣列控制器(RAID controller)以及由多個實體儲存裝置(physical storage device)所構成的磁碟陣列。磁碟陣列控制器係連接至每一個實體儲存裝置,並由磁碟陣列控制器將磁碟陣列定義成RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5或RAID 6之一個或多個邏輯磁碟機(logical disk drive)而達成。磁碟陣列控制器係能產生(重建)與待讀取資料相同之冗餘資料(redundant data)。 The structure of the conventional disk array system includes a disk array controller (RAID controller) and a disk array composed of multiple physical storage devices. The disk array controller is connected to each physical storage device, and the disk array controller defines the disk array as one of RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, or RAID 6. Achieved by multiple logical disk drives. The disk array controller can generate (rebuild) redundant data that is the same as the data to be read.

於實際應用中,每一個實體儲存裝置可以是磁帶機(tape drive)、磁碟機(disk drive)、記憶體裝置(memory drive)、光儲存記錄裝置(optical storage drive),或是於同一顆磁碟機中之對應於單一讀寫頭之一個磁區,或是其他等效的實體儲存裝置。 In practical applications, each physical storage device can be a tape drive, a disk drive, a memory drive, an optical storage drive, or the same A magnetic area in a disk drive corresponding to a single read/write head, or other equivalent physical storage device.

藉著每個RAID級別採用不同的冗餘/資料儲存方案,RAID在不同的級別可以被實施。例如,RAID 1實施硬碟鏡像(disk mirroring),其中第一個儲存裝置保存被儲存的資料,並且第二個儲存裝置保存被儲存在第一個儲存裝置中的資料之精確複製資料。如果任何一個儲存裝置發生毀損,因為剩餘的儲存裝置中的資料仍然可用,所以沒有資料遺失。 By using different redundancy/data storage schemes for each RAID level, RAID can be implemented at different levels. For example, RAID 1 implements disk mirroring, in which the first storage device stores the stored data, and the second storage device stores an exact copy of the data stored in the first storage device. If any storage device is damaged, because the data in the remaining storage device is still available, no data is lost.

在其他RAID系統中,每一個實體儲存裝置被區分成多個資料區塊(block)。從容錯的觀點來看,可分為使用者資料區塊以及同位元(parity)資料區塊兩類。使用者資料區塊儲存一般的使用者資料。同位元資料區塊則儲存多餘的一組同位元資料,以當有容錯需求時,供反算使用者資料之用。存在於不同實體儲存裝置之相對應使用者資料區塊與同位元資料區塊形成一個儲存條帶(stripe),其中同位元資料區塊中的同位元資料係由使用者資料區塊中的使用者資料執行互斥或(XOR)運算所得的結果。這些RAID系統中若有實體儲存裝置損毀,可以利用其餘未損毀的實體儲存裝置內儲存的使用者資料及同位元資料執行互斥或(XOR)運算,進而重建。須聲明的是,熟習此項技藝的人士皆了解,同位資料區塊中之資料之計算,除可使用互斥或(XOR)運算外,也包含各式各樣之同位元運算或類似的運算技術,只要存在以下關係:相同儲存條帶中之任一個資料區塊中之資料可由其相對應資料區塊之資料計算而得。磁碟陣列架構定義冗餘訊息數目(number of redundancy)即為一個儲存條帶中同位元資料區塊的數目。 In other RAID systems, each physical storage device is divided into multiple data blocks. From the perspective of fault tolerance, it can be divided into user data blocks and parity data blocks. The user data block stores general user data. The parity data block stores an extra set of parity data for use in inverse calculation of user data when there is a need for fault tolerance. Corresponding user data blocks and parity data blocks existing in different physical storage devices form a storage stripe, where the parity data in the parity data block is used by the user data block The data is the result of the exclusive OR (XOR) operation. If a physical storage device in these RAID systems is damaged, the user data and parity data stored in the remaining undamaged physical storage devices can be used to perform exclusive or (XOR) operations for reconstruction. It should be stated that those who are familiar with this art understand that the calculation of data in a parity data block can not only use exclusive or (XOR) operations, but also include various parity operations or similar operations. Technology, as long as the following relationship exists: the data in any data block in the same storage strip can be calculated from the data in the corresponding data block. The disk array architecture defines the number of redundancy as the number of identical data blocks in a storage stripe.

資料儲存系統若依循傳統的RAID模式,採用N個儲存裝置以及K個冗餘訊息。當此資料儲存系統執行連續存取時,僅有(N-K)個儲存裝置提供循序效能(讀/寫)。 If the data storage system follows the traditional RAID mode, N storage devices and K redundant messages are used. When this data storage system performs continuous access, only (N-K) storage devices provide sequential performance (read/write).

例如,請參閱圖1,先前技術之資料儲存系統1依循RAID 5模式(冗餘訊息數目為1)且採用4個儲存裝置(12a~12d),圖1即描繪資料儲存在4個儲存裝置(12a~12d)內 的存儲格式。如圖1示,每一個儲存裝置(12a、12b、12c、12d)被區分成多個資料區塊,可分為使用者資料區塊以及同位元資料區塊兩類。使用者資料區塊儲存一般的使用者資料。同位資料區塊則儲存多餘的一組同位資料,以當有容錯需求時,供反算使用者資料之用。於圖1所示的案例中,儲存裝置12a至少包含使用者資料區塊D0、D3、D6以及同位元資料區塊P3;儲存裝置12b至少包含使用者資料區塊D1、D4、D9以及同位元資料區塊P2;儲存裝置12c至少包含使用者資料區塊D2、D7、D10以及同位元資料區塊P1;儲存裝置12d至少包含使用者資料區塊D5、D8、D11以及同位元資料區塊P0等。存在於不同儲存裝置之相對應使用者資料區塊與同位資料區塊形成一個儲存分割帶,其中同位資料區塊中的資料係由使用者資料區塊中的資料執行互斥或(XOR)運算所得的結果。於圖1所示的案例中,使用者資料區塊D0、D1、D2與同位資料區塊P0形成儲存分割帶S1,而P0中的資料為D0、D1、D2中的資料之互斥或運算結果。同理,使用者資料區塊D3、D4、D5與同位資料區塊P1形成另一個儲存分割帶S2,而P1中的資料係為D3、D4、D5中的資料之互斥或運算結果。同理,使用者資料區塊D6、D7、D8與同位資料區塊P2形成另一個儲存分割帶S3,而P2中的資料係為D6、D7、D8中的資料之互斥或(XOR)運算結果。同理,使用者資料區塊D9、D10、D11與同位資料區塊P3形成另一個儲存分割帶S4,而P3中的資料係為D9、D10、D11中的資料之互斥或運算結果。須聲明的是,熟習此項技藝的人士皆了解,同位資料區塊中之資料之計算,除可使用互斥或運算外,也包含各式各樣之同位元運算或類似的運算技術,只要存在以下關係:相同儲存分割帶中之任一個資料區塊中之資料可由其相對應資料區塊之資料計算而得。明顯地,儲存同位元資料的區塊並未提供循序效能。因此,資料儲存系統1的循序效能由3個儲存裝置提供。 For example, please refer to Figure 1. The prior art data storage system 1 follows the RAID 5 mode (the number of redundant messages is 1) and uses 4 storage devices (12a~12d). Figure 1 depicts data stored in 4 storage devices ( Within 12a~12d) Storage format. As shown in Figure 1, each storage device (12a, 12b, 12c, 12d) is divided into multiple data blocks, which can be divided into user data blocks and parity data blocks. The user data block stores general user data. The parity data block stores an extra set of parity data for use in inverse calculation of user data when there is a need for fault tolerance. In the case shown in FIG. 1, the storage device 12a includes at least user data blocks D0, D3, D6, and a parity data block P3; the storage device 12b includes at least user data blocks D1, D4, D9 and parity. Data block P2; storage device 12c includes at least user data blocks D2, D7, D10 and parity data block P1; storage device 12d includes at least user data blocks D5, D8, D11 and parity data block P0 Wait. Corresponding user data blocks and co-located data blocks existing in different storage devices form a storage partition, where the data in the co-located data block is subjected to mutually exclusive or (XOR) operation by the data in the user data block The result obtained. In the case shown in Figure 1, the user data blocks D0, D1, D2 and the parity data block P0 form a storage partition S1, and the data in P0 is the mutually exclusive OR operation of the data in D0, D1, and D2 result. Similarly, the user data blocks D3, D4, D5 and the parity data block P1 form another storage partition S2, and the data in P1 is the mutually exclusive OR operation result of the data in D3, D4, and D5. Similarly, the user data blocks D6, D7, D8 and the parity data block P2 form another storage partition S3, and the data in P2 is the exclusive OR (XOR) operation of the data in D6, D7, D8 result. Similarly, the user data blocks D9, D10, D11 and the parity data block P3 form another storage partition S4, and the data in P3 is the mutually exclusive OR operation result of the data in D9, D10, and D11. It should be stated that those who are familiar with this technique understand that the calculation of data in a parity data block can not only use mutual exclusion or arithmetic, but also include a variety of parity operations or similar arithmetic techniques, as long as The following relationship exists: the data in any data block in the same storage partition can be calculated from the data in the corresponding data block. Obviously, the block storing parity data does not provide sequential performance. Therefore, the sequential performance of the data storage system 1 is provided by three storage devices.

再例如,資料儲存系統依循RAID 0模式(冗餘訊息數目為0)且採用4個儲存裝置,因此,資料儲存系統的循序效能由4個儲存裝置提供。 For another example, the data storage system follows the RAID 0 mode (the number of redundant messages is 0) and uses 4 storage devices. Therefore, the sequential performance of the data storage system is provided by 4 storage devices.

再例如,資料儲存系統依循RAID 6模式(冗餘訊息數目為2)且採用4個儲存裝置,因此,資料儲存系統的循序效能由2個儲存裝置提供。 For another example, the data storage system follows the RAID 6 mode (the number of redundant messages is 2) and uses 4 storage devices. Therefore, the sequential performance of the data storage system is provided by 2 storage devices.

目前,先前技術對於如何提升依循RAID模式的資料儲存系統的循序效能仍有極大的改善空間。 At present, the prior art still has great room for improvement on how to improve the sequential performance of data storage systems that follow the RAID mode.

本發明即採用輔助記憶體且改變同位元資料寫入的位置以及寫入資料的排列,來提升資料儲存系統的循序效能。 The present invention adopts auxiliary memory and changes the position where the parity data is written and the arrangement of the written data to improve the sequential performance of the data storage system.

關於採用輔助記憶體之資料儲存系統的先前技術,請參閱美國專利第5,948,110號專利。美國專利第5,948,110號專利揭示一種使用非揮發性記憶體為磁碟陣列系統提供糾錯的方法。非揮發性記憶體用於提升出現磁碟錯誤的RAID恢復速度。這是通過保留同位元資料可能不一致的所有磁碟區塊的列表來實現的。但是,美國專利第5,948,110號專利並未教示如何資料儲存系統的循序效能,其目的與本發明之目的不同。 For the prior art of data storage system using auxiliary memory, please refer to US Patent No. 5,948,110. US Patent No. 5,948,110 discloses a method of using non-volatile memory to provide error correction for disk array systems. Non-volatile memory is used to increase the speed of RAID recovery in case of disk errors. This is achieved by keeping a list of all disk blocks whose parity data may be inconsistent. However, US Patent No. 5,948,110 does not teach the sequential performance of the data storage system, and its purpose is different from the purpose of the present invention.

因此,本發明所欲解決的技術問題在於提供一種具有高循序效能資料儲存系統及其管理方法,尤其是針對符合磁碟陣列架構的資料儲存系統。並且特別地,根據本發明之資料儲存系統採用輔助記憶體且改變同位元資料寫入的位置以及寫入資料的排列,來提升資料儲存系統的循序效能。 Therefore, the technical problem to be solved by the present invention is to provide a data storage system with high sequential performance and a management method thereof, especially for a data storage system conforming to the disk array architecture. And in particular, the data storage system according to the present invention uses auxiliary memory and changes the location where the parity data is written and the arrangement of the written data to improve the sequential performance of the data storage system.

本發明之一較佳具體實施例之資料儲存系統包含N個儲存裝置、輔助記憶體以及控制器,其中N為大於或 等於3之整數。每一個儲存裝置係區分為M個儲存區域,其中M為大於或等於2之整數。兩者擇一地,每一個儲存裝置之M個儲存區域中第奇數個儲存區域係規劃成使用者資料儲存區域,第偶數個儲存區域係規劃成同位元資料儲存區域,或是每一個儲存裝置之M個儲存區域中第偶數個儲存區域係規劃成使用者資料儲存區域,第奇數個儲存區域係規劃成同位元資料儲存區域。每一個儲存裝置具有第一讀寫速度。輔助記憶體具有第二讀寫速度,並且特別地,輔助記憶體的第二讀寫速度高於每一個儲存裝置的第一讀寫速度。控制器係分別電氣連接至N個儲存裝置以及輔助記憶體。控制器用以接收被要求存入資料儲存系統內之多筆欲存入資料,並將多筆欲存入資料執行預定運算以產生多筆使用者資料以及多筆同位元資料。當輔助記憶體未被寫滿時,控制器將多筆使用者資料寫入N個儲存裝置之多個使用者資料儲存區域內,並且將多筆同位元資料寫入輔助記憶體內。 A data storage system in a preferred embodiment of the present invention includes N storage devices, auxiliary memory, and a controller, where N is greater than or An integer equal to 3. Each storage device is divided into M storage areas, where M is an integer greater than or equal to 2. Alternatively, the odd-numbered storage area among the M storage areas of each storage device is planned as a user data storage area, and the even-numbered storage area is planned as a parity data storage area, or each storage device Among the M storage areas, the even-numbered storage area is planned as a user data storage area, and the odd-numbered storage area is planned as a parity data storage area. Each storage device has a first read and write speed. The auxiliary memory has a second read and write speed, and in particular, the second read and write speed of the auxiliary memory is higher than the first read and write speed of each storage device. The controller is electrically connected to N storage devices and auxiliary memory. The controller is used to receive multiple pieces of data to be stored in the data storage system, and perform predetermined operations on the multiple pieces of data to be stored to generate multiple pieces of user data and multiple pieces of parity data. When the auxiliary memory is not full, the controller writes multiple pieces of user data into multiple user data storage areas of the N storage devices, and writes multiple pieces of parity data into the auxiliary memory.

進一步,當輔助記憶體被寫滿時,控制器將多筆使用者資料寫入N個儲存裝置之多個使用者資料儲存區域內,並且將多筆同位元資料寫入N個儲存裝置之多個同位元資料儲存區域內。隨後,控制器將儲存於輔助記憶體內之多筆同位元資料搬移至N個儲存裝置之同位元儲存區域內。 Further, when the auxiliary memory is full, the controller writes multiple pieces of user data into multiple user data storage areas of N storage devices, and writes multiple pieces of parity data into as many as N storage devices Within a storage area of parity data. Subsequently, the controller moves the multiple parity data stored in the auxiliary memory to the parity storage area of the N storage devices.

於一具體實施例中,輔助記憶體可以是非揮發性記憶體或配置獨立電源之揮發性記憶體。 In a specific embodiment, the auxiliary memory may be a non-volatile memory or a volatile memory equipped with an independent power supply.

於一具體實施例中,以RAID5為例,每一個使用者資料儲存區域之第一儲存空間範圍為3MB~15GB。每一個同位元資料儲存區域之第二儲存空間範圍為1MB~5GB,第一儲存空間與第二儲存空間維持(N-K):K之比例。 In a specific embodiment, taking RAID5 as an example, the first storage space range of each user data storage area is 3MB-15GB. The second storage space of each parity data storage area ranges from 1MB to 5GB, and the first storage space and the second storage space maintain the ratio of (N-K):K.

於一具體實施例中,預定運算可以是互斥或(XOR)運算。 In a specific embodiment, the predetermined operation may be an exclusive OR (XOR) operation.

於一具體實施例中,控制器係根據磁碟陣列架構控制N個儲存裝置之資料存取,且磁碟陣列架構定義冗餘訊息數目為K,其中K為正整數。多筆使用者資料所佔的儲存空間與多筆同位元資料所佔的儲存空間的比例等於(N-K):K。 In a specific embodiment, the controller controls the data access of the N storage devices according to the disk array architecture, and the disk array architecture defines the number of redundant messages as K, where K is a positive integer. The ratio of the storage space occupied by multiple pieces of user data to the storage space occupied by multiple pieces of parity data is equal to (N-K):K.

本發明之一較佳具體實施例之管理方法係針對資料儲存系統。資料儲存系統包含N個儲存裝置以及輔助記憶體,其中N為大於或等於3之整數。每一個儲存裝置係區分為M個儲存區域,其中M為大於或等於2之整數。兩者擇一地,每一個儲存裝置之M個儲存區域中第奇數個儲存區域係規劃成使用者資料儲存區域,第偶數個儲存區域係規劃成同位元資料儲存區域,或是每一個儲存裝置之該M個儲存區域中第偶數個儲存區域係規劃成使用者資料儲存區域,第奇數個儲存區域係規劃成同位元資料儲存區域。每一個儲存裝置具有第一讀寫速度。輔助記憶體具有第二讀寫速度,並且特別地,輔助記憶體的第二讀寫速度高於每一個儲存裝置的第一讀寫速度。根據本發明之方法首先係接收被要求存入該資料儲存系統內之多筆欲存入資料。接著,根據本發明之方法係將多筆欲存入資料執行預定運算以產生多筆使用者資料以及多筆同位元資料。接著,根據本發明之方法係判斷輔助記憶體是否被寫滿。若判斷輔助記憶體未被寫滿,根據本發明之方法則將多筆使用者資料寫入N個儲存裝置之多個使用者資料儲存區域內,並且將多筆同位元資料寫入輔助記憶體內。 The management method of a preferred embodiment of the present invention is directed to a data storage system. The data storage system includes N storage devices and auxiliary memory, where N is an integer greater than or equal to 3. Each storage device is divided into M storage areas, where M is an integer greater than or equal to 2. Alternatively, the odd-numbered storage area among the M storage areas of each storage device is planned as a user data storage area, and the even-numbered storage area is planned as a parity data storage area, or each storage device Among the M storage areas, the even-numbered storage area is planned as a user data storage area, and the odd-numbered storage area is planned as a homogeneous data storage area. Each storage device has a first read and write speed. The auxiliary memory has a second read and write speed, and in particular, the second read and write speed of the auxiliary memory is higher than the first read and write speed of each storage device. The method according to the present invention first receives a plurality of data to be deposited that are required to be deposited in the data storage system. Then, according to the method of the present invention, multiple pieces of data to be stored are executed by predetermined operations to generate multiple pieces of user data and multiple pieces of parity data. Then, according to the method of the present invention, it is determined whether the auxiliary memory is full. If it is determined that the auxiliary memory is not full, according to the method of the present invention, multiple pieces of user data are written into multiple user data storage areas of N storage devices, and multiple pieces of parity data are written into the auxiliary memory .

進一步,若判斷輔助記憶體被寫滿,根據本發明之方法則將多筆使用者資料寫入N個儲存裝置之多個使用者資料儲存區域內,並且將多筆同位元資料寫入N個儲存裝置之多個同位元資料儲存區域內,隨後,將儲存於輔助記憶體內之多筆同位元資料搬移至N個儲存裝置之同位元儲存區域內。 Further, if it is determined that the auxiliary memory is full, according to the method of the present invention, multiple pieces of user data are written into multiple pieces of user data storage areas of N storage devices, and multiple pieces of parity data are written into N pieces The multiple parity data storage areas of the storage device are subsequently moved to the parity storage areas of N storage devices.

與先前技術相較,根據本發明之資料儲存系統採用輔助記憶體且改變同位元資料寫入的位置以及寫入資料的排列,明顯地提升資料儲存系統的循序效能。 Compared with the prior art, the data storage system according to the present invention adopts auxiliary memory and changes the location where the parity data is written and the arrangement of the written data, which significantly improves the sequential performance of the data storage system.

關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。 The advantages and spirit of the present invention can be further understood from the following detailed description of the invention and the accompanying drawings.

1‧‧‧資料儲存系統 1‧‧‧Data Storage System

12a~12d‧‧‧儲存裝置 12a~12d‧‧‧Storage device

2‧‧‧資料儲存系統 2‧‧‧Data Storage System

20‧‧‧控制器 20‧‧‧Controller

22a~22n‧‧‧儲存裝置 22a~22n‧‧‧Storage device

220‧‧‧儲存區域 220‧‧‧Storage area

222‧‧‧使用者資料儲存區域 222‧‧‧User data storage area

224‧‧‧同位元資料儲存區域 224‧‧‧Parallel data storage area

24‧‧‧傳輸介面 24‧‧‧Transmission interface

26‧‧‧輔助記憶體 26‧‧‧Auxiliary memory

3‧‧‧存取要求應用單元 3‧‧‧Access request application unit

4‧‧‧管理方法 4‧‧‧Management methods

S40~S48‧‧‧流程步驟 S40~S48‧‧‧Process steps

圖1係資料儲存在依循RAID 5模式且採用4個儲存裝置之先前技術的資料儲存系統內之儲存格式示意圖。 Figure 1 is a schematic diagram of the storage format of data stored in a prior art data storage system that follows the RAID 5 mode and uses 4 storage devices.

圖2係根據本發明之一較佳具體實施例之資料儲存系統的架構示意圖。 FIG. 2 is a schematic diagram of the structure of a data storage system according to a preferred embodiment of the present invention.

圖3係資料儲存在依循RAID 5模式且採用4個儲存裝置以及輔助記憶體之根據本發明之資料儲存系統內的儲存格式示意圖。 FIG. 3 is a schematic diagram of the storage format of data stored in the data storage system according to the present invention that follows the RAID 5 mode and uses 4 storage devices and auxiliary memory.

圖4係圖3所示範例資其輔助記憶體被寫滿時根據本發明之資料儲存系統內的儲存格式示意圖。 4 is a schematic diagram of the storage format in the data storage system according to the present invention when the auxiliary memory of the example shown in FIG. 3 is full.

圖5係根據本發明之一較佳具體實施例之管理方法的流程圖。 Fig. 5 is a flowchart of a management method according to a preferred embodiment of the present invention.

請參閱圖2,根據本發明之一較佳具體實施例之資料儲存系統2之架構係繪示於圖2中。 Please refer to FIG. 2. The structure of the data storage system 2 according to a preferred embodiment of the present invention is shown in FIG. 2.

如圖2所示,根據本發明之資料儲存系統2包含N個儲存裝置(22a~22n)、控制器20以及輔助記憶體26,其中N為大於或等於3之整數。控制器20係分別電連接至N個儲存裝置(22a~22n)以及輔助記憶體26。 As shown in FIG. 2, the data storage system 2 according to the present invention includes N storage devices (22a-22n), a controller 20, and an auxiliary memory 26, where N is an integer greater than or equal to 3. The controller 20 is electrically connected to the N storage devices (22a-22n) and the auxiliary memory 26, respectively.

控制器20係能產生(重建)與待讀取資料相同之冗餘資料。例如,於RAID 5架構下,控制器20係透過互斥 或(XOR)運算來產生冗餘資料。 The controller 20 can generate (rebuild) redundant data that is the same as the data to be read. For example, under the RAID 5 architecture, the controller 20 is mutually exclusive Or (XOR) operation to generate redundant data.

於一具體實施例中,控制器20係根據磁碟陣列架構控制N個儲存裝置(22a~22n)之資料存取。磁碟陣列架構可以是RAID 5或RAID 6等。 In a specific embodiment, the controller 20 controls the data access of the N storage devices (22a-22n) according to the disk array architecture. The disk array architecture can be RAID 5 or RAID 6, etc.

於一具體實施例中,每一個儲存裝置(22a~22n)可以是磁帶機、磁碟機、記憶體裝置、光儲存記錄裝置,或是於同一顆磁碟機中之對應於單一讀寫頭之一個磁區,或是其他等效的儲存裝置。 In a specific embodiment, each storage device (22a~22n) can be a tape drive, a magnetic disk drive, a memory device, an optical storage recording device, or a single read/write head in the same drive One of the sectors, or other equivalent storage devices.

同樣示於圖2,圖2並且繪示存取要求應用單元3。存取要求應用單元3係經由傳輸介面24連接至控制器20。於實際應用中,存取要求應用單元3可以是網路電腦、迷你電腦、大型主機、筆記型電腦,或是需要讀取根據本發明之資料儲存系統2中之資料的任何電子設備,例如,手機、個人數位助理、數位錄影設備、數位音樂播放器等。 It is also shown in FIG. 2, and FIG. 2 shows the access request application unit 3. The access request application unit 3 is connected to the controller 20 via the transmission interface 24. In practical applications, the access request application unit 3 can be a network computer, a mini computer, a mainframe, a notebook computer, or any electronic device that needs to read data in the data storage system 2 according to the present invention, for example, Mobile phones, personal digital assistants, digital recording equipment, digital music players, etc.

當存取要求應用單元3係一部獨立的電子設備時,其係可透過儲存區域網路(SAN)、區域網路(LAN)、序列先進技術(serial ATA,SATA)介面、光纖通道(FC)、小型電腦標準介面(SCSI)等傳輸介面,或是PCI Express等輸出入(I/O)介面與根據本發明之資料儲存系統2相連接。此外,當存取要求應用單元3係一特殊積體電路元件,或是其他能夠送出輸出入讀取要求的等效裝置,其係能依據其他裝置之命令(或請求)而送出資料讀取要求至控制器20,進而透過控制器20讀取該等儲存裝置(22a~22n)中的資料。 When the access request application unit 3 is an independent electronic device, it can be accessed through storage area network (SAN), local area network (LAN), serial advanced technology (serial ATA, SATA) interface, fiber channel (FC) ), a transmission interface such as a small computer standard interface (SCSI), or an input/output (I/O) interface such as PCI Express is connected to the data storage system 2 according to the present invention. In addition, when the access request application unit 3 is a special integrated circuit component, or other equivalent device capable of sending I/O reading requests, it can send data reading requests based on commands (or requests) from other devices To the controller 20, and then read the data in the storage devices (22a-22n) through the controller 20.

根據本發明之資料儲存系統2中之控制器20以及該等儲存裝置(22a~22n)可以同時安置於單一箱體內,也可以獨立分開而安置於不同的箱體內。實務上,控制器20可以透過光纖通道(FC)、小型電腦系統介面(SCSI)、序列連接SCSI(SAS)、序列ATA(SATA)、平行ATA(PATA,或稱IDE) 等傳輸介面與該等儲存裝置(22a~22n)相連接。若該等儲存裝置(22a~22n)為磁碟機的話,每一個儲存裝置(22a~22n)可以是FC、SAS、SCSI、SATA、PATA等各種不同介面型態的磁碟機。控制器20係可為磁碟陣列控制器,或是具有能夠產生冗餘資料之資料儲存系統的控制器。 The controller 20 and the storage devices (22a-22n) in the data storage system 2 according to the present invention can be placed in a single box at the same time, or can be separated and placed in different boxes. In practice, the controller 20 can use Fibre Channel (FC), small computer system interface (SCSI), serial connection SCSI (SAS), serial ATA (SATA), parallel ATA (PATA, or IDE) The transmission interface is connected with the storage devices (22a-22n). If the storage devices (22a~22n) are disk drives, each storage device (22a~22n) can be FC, SAS, SCSI, SATA, PATA and other disk drives with various interfaces. The controller 20 can be a disk array controller or a controller with a data storage system capable of generating redundant data.

同樣示於圖2,每一個儲存裝置(22a~22n)係區分為M個儲存區域220,其中M為大於或等於2之整數。兩者擇一地,每一個儲存裝置(22a~22n)之M個儲存區域220中第奇數個儲存區域220係規劃成使用者資料儲存區域222,第偶數個儲存區域220係規劃成同位元資料儲存區域224,如圖2所示。或是,每一個儲存裝置(22a~22n)之M個儲存區域220中第偶數個儲存區域220係規劃成使用者資料儲存區域222,第奇數個儲存區域220係規劃成同位元資料儲存區域224亦可。 Also shown in FIG. 2, each storage device (22a-22n) is divided into M storage areas 220, where M is an integer greater than or equal to 2. Alternatively, the odd-numbered storage area 220 of the M storage areas 220 of each storage device (22a-22n) is planned as the user data storage area 222, and the even-numbered storage area 220 is planned as the parity data The storage area 224 is shown in FIG. 2. Or, among the M storage areas 220 of each storage device (22a-22n), the even-numbered storage area 220 is planned as a user data storage area 222, and the odd-numbered storage area 220 is planned as a parity data storage area 224 It is also possible.

每一個儲存裝置(22a~22n)具有第一讀寫速度。輔助記憶體26具有第二讀寫速度,並且特別地,輔助記憶體26的第二讀寫速度高於每一個儲存裝置(22a~22n)的第一讀寫速度。 Each storage device (22a-22n) has a first read and write speed. The auxiliary memory 26 has a second read and write speed, and in particular, the second read and write speed of the auxiliary memory 26 is higher than the first read and write speed of each storage device (22a-22n).

當使用者端欲將資料寫入根據本發明之資料儲存系統2內時,控制器20經由傳輸介面24接收存取要求應用單元3傳送的多筆欲存入資料。控制器20並將多筆欲存入資料執行預定運算以產生多筆使用者資料以及多筆同位元資料。與先前技術不同,當輔助記憶體26未被寫滿時,控制器20將多筆使用者資料寫入N個儲存裝置(22a~22n)之多個使用者資料儲存區域222內,並且將多筆同位元資料寫入輔助記憶體26內。 When the user terminal wants to write data into the data storage system 2 according to the present invention, the controller 20 receives through the transmission interface 24 a plurality of data to be stored transmitted by the application unit 3 of the access request. The controller 20 executes predetermined calculations on multiple pieces of data to be stored to generate multiple pieces of user data and multiple pieces of parity data. Different from the prior art, when the auxiliary memory 26 is not full, the controller 20 writes multiple pieces of user data into multiple user data storage areas 222 of N storage devices (22a-22n), and more The parity data is written into the auxiliary memory 26.

請參閱圖3,根據本發明之資料儲存系統2依循RAID 5模式(冗餘訊息數目為1)且採用4個儲存裝置 (22a~22d),圖3即描繪資料儲存在4個儲存裝置(22a~22d)以及輔助記憶體26內的存儲格式。圖3所示的範例為每一個儲存裝置(22a~22n)之M個儲存區域220中第奇數個儲存區域220係規劃成使用者資料儲存區域222,第偶數個儲存區域220係規劃成同位元資料儲存區域224。儲存裝置22a從邏輯位址起始位址起皆儲存使用者資料D0、D4、D8;儲存裝置22b從邏輯位址起始位址起皆儲存使用者資料D1、D5、D9;儲存裝置22c從邏輯位址起始位址起皆儲存使用者資料D2、D6、D10;儲存裝置22d從邏輯位址起始位址起皆儲存使用者資料D3、D7、D11。輔助記憶體26從邏輯位址起始位址起皆儲存同位元資料P0、P1、P2、P3。4個儲存裝置(22a~22d)的同位元資料儲存區域224尚未儲存同位元資料。 Please refer to Figure 3. The data storage system 2 according to the present invention follows the RAID 5 mode (the number of redundant messages is 1) and uses 4 storage devices (22a-22d), Figure 3 depicts the storage format of data stored in 4 storage devices (22a-22d) and auxiliary memory 26. The example shown in FIG. 3 is that of the M storage areas 220 of each storage device (22a-22n), the odd-numbered storage area 220 is planned as a user data storage area 222, and the even-numbered storage area 220 is planned as a parity element. Data storage area 224. The storage device 22a stores the user data D0, D4, and D8 from the start address of the logical address; the storage device 22b stores the user data D1, D5, D9 from the start address of the logical address; the storage device 22c stores the user data D1, D5, D9 from the start address of the logical address. The starting address of the logical address stores the user data D2, D6, and D10; the storage device 22d stores the user data D3, D7, and D11 starting from the starting address of the logical address. The auxiliary memory 26 stores the parity data P0, P1, P2, P3 from the starting address of the logical address. The parity data storage area 224 of the four storage devices (22a-22d) has not yet stored parity data.

每一個使用者資料儲存區域222又被區分為多個使用者資料區塊。每一個同位元資料儲存區域224又被區分為多個同位元資料區塊。於一具體實施例中,每一個使用者資料儲存區域222之第一儲存空間範圍為3MB~15GB。每一個同位元資料儲存區域224之第二儲存空間範圍為1MB~5GB。 Each user data storage area 222 is divided into multiple user data blocks. Each parity data storage area 224 is divided into a plurality of parity data blocks. In a specific embodiment, the first storage space of each user data storage area 222 ranges from 3 MB to 15 GB. The second storage space of each parity data storage area 224 ranges from 1MB to 5GB.

於一具體實施例中,預定運算可以是互斥或(XOR)運算。同位元資料區塊中的資料係由使用者資料區塊中的資料執行互斥或(XOR)運算所得的結果。須聲明的是,熟習此項技藝的人士皆瞭解,同位元資料區塊中之資料之計算,除可使用互斥或(XOR)運算外,也包含各式各樣的同位元(parity)運算或類似的運算技術,只要存在以下關係:相同儲存分割帶中之任一個資料區塊中之資料可由其相對應資料區塊之資料計算而得。 In a specific embodiment, the predetermined operation may be an exclusive OR (XOR) operation. The data in the parity data block is the result of the exclusive OR (XOR) operation performed on the data in the user data block. It should be stated that those who are familiar with this technique understand that the calculation of data in the parity data block can not only use exclusive or (XOR) operations, but also include various parity operations. Or similar computing technology, as long as the following relationship exists: the data in any data block in the same storage partition can be calculated from the data in the corresponding data block.

於一具體實施例中,輔助記憶體26可以是非揮發性記憶體,或是配置獨立電源(例如,電池)之揮發性記憶體。輔助記憶體26的儲存空間可以小於每一個儲存裝置 (22a~22n)的儲存空間,但是並不以此為限。 In a specific embodiment, the auxiliary memory 26 may be a non-volatile memory or a volatile memory equipped with an independent power source (for example, a battery). The storage space of the auxiliary memory 26 can be smaller than that of each storage device (22a~22n) storage space, but not limited to this.

進一步,當輔助記憶體26被寫滿時,控制器20將多筆使用者資料寫入N個儲存裝置(22a~22n)之多個使用者資料儲存區域222內,並且將多筆同位元資料寫入N個儲存裝置(22a~22n)之多個同位元資料儲存區域224內。隨後,控制器20將儲存於輔助記憶體26內之多筆同位元資料搬移至N個儲存裝置(22a~22n)之同位元儲存區域224內。請參閱圖4,圖4所示範例的架構同圖3所示範例的架構。圖4所示範例的情況為輔助記憶體26被寫滿。儲存於輔助記憶體26內之多筆同位元資料P0、P1、P2、P3搬移至4個儲存裝置(22a~22d)的同位元資料儲存區域224。 Further, when the auxiliary memory 26 is full, the controller 20 writes multiple pieces of user data into the multiple user data storage areas 222 of the N storage devices (22a-22n), and writes multiple pieces of parity data Write into a plurality of parity data storage areas 224 of N storage devices (22a-22n). Subsequently, the controller 20 moves the multiple parity data stored in the auxiliary memory 26 to the parity storage area 224 of the N storage devices (22a-22n). Please refer to FIG. 4, the structure of the example shown in FIG. 4 is the same as the structure of the example shown in FIG. In the example shown in FIG. 4, the auxiliary memory 26 is full. The multiple parity data P0, P1, P2, and P3 stored in the auxiliary memory 26 are moved to the parity data storage area 224 of 4 storage devices (22a-22d).

如上文所述,控制器20係根據磁碟陣列架構控制N個儲存裝置(22a~22n)之資料存取,且磁碟陣列架構定義冗餘訊息數目為K,其中K為正整數。多筆使用者資料所佔的儲存空間與多筆同位元資料所佔的儲存空間的比例等於(N-K):K。 As described above, the controller 20 controls the data access of the N storage devices (22a-22n) according to the disk array architecture, and the disk array architecture defines the number of redundant messages as K, where K is a positive integer. The ratio of the storage space occupied by multiple pieces of user data to the storage space occupied by multiple pieces of parity data is equal to (N-K):K.

請參閱圖4,圖4係繪示根據本發明之一較佳具體實施例之管理方法4之流程圖。根據本發明之管理方法4係針對例如圖2之資料儲存系統2的管理方法。根據本發明之資料儲存系統2之架構已於上文中詳述,在此不再贅述。但是須強調的是,本發明之資料儲存系統2,其中每一個儲存裝置(22a~22n)之M個儲存區域220中第偶數個儲存區域220係規劃成使用者資料儲存區域222,第奇數個儲存區域220係規劃成同位元資料儲存區域224亦可。 Please refer to FIG. 4. FIG. 4 is a flowchart of a management method 4 according to a preferred embodiment of the present invention. The management method 4 according to the present invention is directed to, for example, the management method of the data storage system 2 in FIG. 2. The structure of the data storage system 2 according to the present invention has been described in detail above, and will not be repeated here. However, it should be emphasized that in the data storage system 2 of the present invention, the even-numbered storage area 220 among the M storage areas 220 of each storage device (22a-22n) is planned as a user data storage area 222, and the odd-numbered storage area 220 The storage area 220 may also be planned as a parity data storage area 224.

如圖4所示,根據本發明之管理方法4首先執行步驟S40,係接收被要求存入根據本發明之資料儲存系統2內之多筆欲存入資料。 As shown in FIG. 4, the management method 4 according to the present invention first executes step S40, which is to receive a plurality of data to be deposited in the data storage system 2 according to the present invention.

接著,根據本發明之管理方法4執行步驟S42, 係將多筆欲存入資料執行預定運算(例如,互斥或(XOR)運算)以產生多筆使用者資料以及多筆同位元資料。 Then, according to the management method 4 of the present invention, step S42 is executed, It performs predetermined operations (for example, exclusive or (XOR) operations) on multiple data to be stored to generate multiple user data and multiple parity data.

接著,根據本發明之管理方法4執行步驟S44,係判斷輔助記憶體26是否被寫滿。 Next, according to the management method 4 of the present invention, step S44 is executed to determine whether the auxiliary memory 26 is full.

若步驟S44之結果為判斷輔助記憶體26未被寫滿,根據本發明之管理方法4則執行步驟S46,將多筆使用者資料寫入N個儲存裝置(22a~22n)之多個使用者資料儲存區域222內,並且將多筆同位元資料寫入輔助記憶體26內。 If the result of step S44 is that it is determined that the auxiliary memory 26 is not full, according to the management method 4 of the present invention, step S46 is executed to write multiple user data into multiple users of N storage devices (22a~22n) In the data storage area 222, multiple par-bit data is written into the auxiliary memory 26.

進一步,若步驟S44之結果為判斷輔助記憶體26被寫滿,根據本發明之管理方法4則執行步驟S48,將多筆使用者資料寫入N個儲存裝置(22a~22n)之多個使用者資料儲存區域222內,並且將多筆同位元資料寫入N個儲存裝置(22a~22n)之多個同位元資料儲存區域224內,隨後,將儲存於輔助記憶體26內之多筆同位元資料搬移至N個儲存裝置(22a~22n)之同位元儲存區域224內。 Further, if the result of step S44 is that it is determined that the auxiliary memory 26 is full, according to the management method 4 of the present invention, step S48 is executed to write multiple user data into multiple use of N storage devices (22a~22n) In the data storage area 222, and write multiple parity data into the multiple parity data storage areas 224 of N storage devices (22a-22n), and then store the multiple parity data in the auxiliary memory 26 The metadata is moved to the same location storage area 224 of N storage devices (22a-22n).

請參閱表1及表2,多個比較例與本發明之一範例經一測試方法所測得的讀取速度係列於表1,多個比較例與本發明之一範例經該測試方法所測得的寫入速度係列於表2,讀取速度與寫入速度的單位皆為MB/秒。多個比較例包含單顆磁碟、4顆磁碟符合傳統RAID 0架構、4顆磁碟符合傳統RAID 5架構,本發明之一範例為4顆磁碟依循RAID 5架構。測試方法所採用的工具為IOmeter,參數:IO大小為1MB、outstanding個數為16、100%循序寫入或100%循序讀取。 Please refer to Table 1 and Table 2. The reading speeds measured by a test method for a number of comparative examples and an example of the present invention are shown in Table 1, and a number of comparative examples and an example of the present invention are measured by the test method. The obtained write speed series are shown in Table 2. The units of read speed and write speed are both MB/sec. A number of comparative examples include a single disk, 4 disks conforming to the traditional RAID 0 structure, and 4 disks conforming to the traditional RAID 5 structure. An example of the present invention is that 4 disks conform to the RAID 5 structure. The tool used in the test method is IOmeter, and the parameters: IO size is 1MB, outstanding number is 16, 100% sequential write or 100% sequential read.

表1

Figure 108112360-A0101-12-0013-1
Table 1
Figure 108112360-A0101-12-0013-1

Figure 108112360-A0101-12-0013-2
Figure 108112360-A0101-12-0013-2

表1與表2中的數據證實根據本發明採用4顆磁碟且依循RAID 5架構其讀取速度與寫入速度大幅高於4顆磁碟符合傳統RAID 5架構的讀取速度與寫入速度,甚至接近4顆磁碟符合傳統RAID 0架構的讀取速度與寫入速度。由此證實,與先前技術相較,顯見地,根據本發明之資料儲存系統具有高循序效能。 The data in Table 1 and Table 2 confirm that the read speed and write speed of 4 disks according to the present invention and follow the RAID 5 architecture are significantly higher than the read speed and write speed of 4 disks that conform to the traditional RAID 5 architecture. , Even close to 4 disks meet the read speed and write speed of the traditional RAID 0 architecture. This proves that, compared with the prior art, it is obvious that the data storage system according to the present invention has a high sequential performance.

藉由以上本發明之較佳具體實施例的詳細說明,能清楚了解根據本發明之資料儲存系統採用輔助記憶體且改變同位元資料寫入的位置以及寫入資料的排列,明顯地提升資料儲存系統的循序效能。 Through the above detailed description of the preferred embodiments of the present invention, it can be clearly understood that the data storage system according to the present invention adopts auxiliary memory and changes the location where the parity data is written and the arrangement of the written data, which significantly improves data storage Sequential performance of the system.

藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之面向加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的面向內。因此,本發明所申請之專利範圍的面向應該根據上述的說明作最寬廣的解釋,以致使其涵蓋所有可 能的改變以及具相等性的安排。 Based on the above detailed description of the preferred embodiments, it is hoped that the characteristics and spirit of the present invention can be described more clearly, rather than limiting the aspect of the present invention by the preferred embodiments disclosed above. On the contrary, the purpose is to cover various changes and equivalent arrangements within the scope of the patent for which the present invention is intended. Therefore, the aspect of the patent scope applied for by the present invention should be interpreted in the broadest way based on the above description, so that it covers all possible The change of energy and the arrangement with equality.

2‧‧‧資料儲存系統 2‧‧‧Data Storage System

20‧‧‧控制器 20‧‧‧Controller

22a~22n‧‧‧儲存裝置 22a~22n‧‧‧Storage device

220‧‧‧儲存區域 220‧‧‧Storage area

222‧‧‧使用者資料儲存區域 222‧‧‧User data storage area

224‧‧‧同位元資料儲存區域 224‧‧‧Parallel data storage area

24‧‧‧傳輸介面 24‧‧‧Transmission interface

26‧‧‧輔助記憶體 26‧‧‧Auxiliary memory

3‧‧‧存取要求應用單元 3‧‧‧Access request application unit

Claims (10)

一種資料儲存系統,包含:N個儲存裝置,N為一大於或等於3之整數,每一個儲存裝置係區分為M個儲存區域,M為一大於或等於2之整數,兩者擇一地,每一個儲存裝置之該M個儲存區域中第奇數個儲存區域係規劃成一使用者資料儲存區域,第偶數個儲存區域係規劃成一同位元資料儲存區域,或是每一個儲存裝置之該M個儲存區域中第偶數個儲存區域係規劃成一使用者資料儲存區域,第奇數個儲存區域係規劃成一同位元資料儲存區域,每一個儲存裝置具有一第一讀寫速度;一輔助記憶體,具有一第二讀寫速度,該第二讀寫速度高於該第一讀寫速度;以及一控制器,係分別電氣連接至該N個儲存裝置以及該輔助記憶體,用以接收被要求存入該資料儲存系統內之多筆欲存入資料,並將該多筆欲存入資料執行一預定運算以產生多筆使用者資料以及多筆同位元資料,當該輔助記憶體未被寫滿時,該控制器將該多筆使用者資料寫入該N個儲存裝置之該多個使用者資料儲存區域內,並且將該多筆同位元資料寫入該輔助記憶體內。 A data storage system comprising: N storage devices, N is an integer greater than or equal to 3, each storage device is divided into M storage areas, M is an integer greater than or equal to 2, alternatively, Among the M storage areas of each storage device, the odd-numbered storage area is planned as a user data storage area, and the even-numbered storage area is planned as a homogeneous data storage area, or the M storages of each storage device The even-numbered storage area in the area is planned as a user data storage area, and the odd-numbered storage area is planned as a single-bit data storage area. Each storage device has a first read and write speed; an auxiliary memory has a second data storage area. Two reading and writing speeds, the second reading and writing speed is higher than the first reading and writing speed; and a controller, which is electrically connected to the N storage devices and the auxiliary memory, respectively, for receiving the data requested to be stored Store multiple data to be stored in the system, and perform a predetermined operation on the multiple data to be stored to generate multiple user data and multiple parity data. When the auxiliary memory is not full, the The controller writes the plurality of user data into the plurality of user data storage areas of the N storage devices, and writes the plurality of parity data into the auxiliary memory. 如請求項1所述之資料儲存系統,其中當該輔助記憶體被寫滿時,該控制器將該多筆使用者資料寫入該N個儲存裝置之該多個使用者資料儲存區域內,並且將該多筆同位元資料寫入該N個儲存裝置之該多個同位元資料儲存區域 內,隨後,該控制器將儲存於該輔助記憶體內之該多筆同位元資料搬移至該N個儲存裝置之該同位元儲存區域內。 The data storage system according to claim 1, wherein when the auxiliary memory is full, the controller writes the plurality of user data into the plurality of user data storage areas of the N storage devices, And write the plurality of parity data into the storage areas of the plurality of parity data of the N storage devices Then, the controller moves the parity data stored in the auxiliary memory to the parity storage area of the N storage devices. 如請求項2所述之資料儲存系統,其中該輔助記憶體係一非揮發性記憶體或配置一獨立電源之一揮發性記憶體。 The data storage system according to claim 2, wherein the auxiliary memory system is a non-volatile memory or a volatile memory equipped with an independent power supply. 如請求項3所述之資料儲存系統,其中每一個使用者資料儲存區域之一第一儲存空間範圍為3MB~15GB,每一個同位元資料儲存區域之一第二儲存空間範圍為1MB~5GB。 In the data storage system described in claim 3, the first storage space of each user data storage area ranges from 3MB to 15GB, and the second storage space of each parity data storage area ranges from 1MB to 5GB. 如請求項3所述之資料儲存系統,其中該預定運算係一互斥或(XOR)運算,該控制器係根據一磁碟陣列架構控制該N個儲存裝置之資料存取,該磁碟陣列架構定義一冗餘訊息數目為K,K為一正整數,該多筆使用者資料所佔之儲存空間與該多筆同位元資料所佔之儲存空間之一比例等於(N-K):K。 The data storage system according to claim 3, wherein the predetermined operation is an exclusive or (XOR) operation, the controller controls the data access of the N storage devices according to a disk array architecture, and the disk array The architecture defines a number of redundant messages as K, K is a positive integer, and a ratio of the storage space occupied by the multiple pieces of user data to the storage space occupied by the multiple pieces of parity data is equal to (NK):K. 一種針對一資料儲存系統之管理方法,該資料儲存系統包含N個儲存裝置以及一輔助記憶體,N為一大於或等於3之整數,每一個儲存裝置係區分為M個儲存區域,M為一大於或等於2之整數,兩者擇一地,每一個儲存裝置之該M個儲存區域中第奇數個儲存區域係規劃成一使用者資料儲存區域,第偶數個儲存區域係規劃成一同位元資料儲存區域,或是每一個儲存裝置之該M個儲存區域中第偶數個儲存區域係規劃成一使用者資料儲存區域,第奇數個儲存區域係規劃成一同位元資料儲存區域,每一個儲存裝置具有一第一讀寫速度,該輔助記憶體具有一第二讀寫速度,該第二讀寫速度高於該第一讀寫速度,該管理方法包含下 列步驟:(a)接收被要求存入該資料儲存系統內之多筆欲存入資料;(b)將該多筆欲存入資料執行一預定運算以產生多筆使用者資料以及多筆同位元資料;(c)判斷該輔助記憶體是否被寫滿;以及(d)若步驟(c)之判斷結果為否定者,則將該多筆使用者資料寫入該N個儲存裝置之該多個使用者資料儲存區域內,並且將該多筆同位元資料寫入該輔助記憶體內。 A management method for a data storage system, the data storage system includes N storage devices and an auxiliary memory, N is an integer greater than or equal to 3, each storage device is divided into M storage areas, M is one An integer greater than or equal to 2, alternative between the two, the odd-numbered storage area in the M storage areas of each storage device is planned as a user data storage area, and the even-numbered storage area is planned as a single-bit data storage area Area, or the even-numbered storage area in the M storage areas of each storage device is planned as a user data storage area, and the odd-numbered storage area is planned as a single-bit data storage area, and each storage device has a first A read and write speed, the auxiliary memory has a second read and write speed, the second read and write speed is higher than the first read and write speed, the management method includes the following The following steps: (a) Receive multiple data to be deposited in the data storage system; (b) Perform a predetermined operation on the multiple data to be deposited to generate multiple user data and multiple parity Metadata; (c) Determine whether the auxiliary memory is full; and (d) If the result of step (c) is negative, write the multiple user data into the multiple of the N storage devices In a user data storage area, and write the multiple parity data into the auxiliary memory. 如請求項6所述之管理方法,進一步包含下列步驟:(e)若步驟(c)之判斷結果為肯定者,則將該多筆使用者資料寫入該N個儲存裝置之該多個使用者資料儲存區域內,並且將該多筆同位元資料寫入該N個儲存裝置之該多個同位元資料儲存區域內,隨後,將儲存於該輔助記憶體內之該多筆同位元資料搬移至該N個儲存裝置之該同位元儲存區域內。 The management method according to claim 6, further comprising the following steps: (e) If the judgment result of step (c) is affirmative, then write the multiple user data into the multiple use of the N storage devices In the data storage area, and write the multiple parity data into the multiple parity data storage areas of the N storage devices, and then move the multiple parity data stored in the auxiliary memory to In the co-bit storage area of the N storage devices. 如請求項7所述之管理方法,其中該輔助記憶體係一非揮發性記憶體或配置一獨立電源之一揮發性記憶體。 The management method according to claim 7, wherein the auxiliary memory system is a non-volatile memory or a volatile memory with an independent power supply. 如請求項8所述之管理方法,其中每一個使用者資料儲存區域之一第一儲存空間範圍為3MB~15GB,每一個同位元資料儲存區域之一第二儲存空間範圍為1MB~5GB。 According to the management method described in claim 8, wherein the first storage space of each user data storage area ranges from 3MB to 15GB, and the second storage space of each parity data storage area ranges from 1MB to 5GB. 如請求項8所述之管理方法,其中該預定運算係一互斥或(XOR)運算,該N個儲存裝置之資料存取係根據一磁碟陣列架構來控制,該磁碟陣列架構定義一冗餘訊息數目為K,K為一正整數,該多筆使用者資料所佔之儲存空間與 該多筆同位元資料所佔之儲存空間等於(N-K):K。 The management method according to claim 8, wherein the predetermined operation is an exclusive or (XOR) operation, and the data access of the N storage devices is controlled according to a disk array architecture, and the disk array architecture defines a The number of redundant messages is K, and K is a positive integer. The storage space occupied by the multiple user data is equal to The storage space occupied by the multiple parity data is equal to (N-K):K.
TW108112360A 2019-04-09 2019-04-09 Data storage system and management method thereof TWI718519B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108112360A TWI718519B (en) 2019-04-09 2019-04-09 Data storage system and management method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108112360A TWI718519B (en) 2019-04-09 2019-04-09 Data storage system and management method thereof

Publications (2)

Publication Number Publication Date
TW202038095A TW202038095A (en) 2020-10-16
TWI718519B true TWI718519B (en) 2021-02-11

Family

ID=74091035

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108112360A TWI718519B (en) 2019-04-09 2019-04-09 Data storage system and management method thereof

Country Status (1)

Country Link
TW (1) TWI718519B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341342B1 (en) * 2012-03-23 2012-12-25 DSSD, Inc. Storage system with incremental multi-dimensional RAID
US20130055012A1 (en) * 2011-08-30 2013-02-28 Samsung Electronics Co., Ltd. Data management method of improving data reliability and data storage device
US20130326149A1 (en) * 2012-05-29 2013-12-05 Dot Hill Systems Corporation Write Cache Management Method and Apparatus
US20180101441A1 (en) * 2016-10-12 2018-04-12 Samsung Electronics Co., Ltd. Storage device storing data using raid
US20190065306A1 (en) * 2017-08-23 2019-02-28 Toshiba Memory Corporation On the fly raid parity calculation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130055012A1 (en) * 2011-08-30 2013-02-28 Samsung Electronics Co., Ltd. Data management method of improving data reliability and data storage device
US8341342B1 (en) * 2012-03-23 2012-12-25 DSSD, Inc. Storage system with incremental multi-dimensional RAID
US20130326149A1 (en) * 2012-05-29 2013-12-05 Dot Hill Systems Corporation Write Cache Management Method and Apparatus
US20180101441A1 (en) * 2016-10-12 2018-04-12 Samsung Electronics Co., Ltd. Storage device storing data using raid
US20190065306A1 (en) * 2017-08-23 2019-02-28 Toshiba Memory Corporation On the fly raid parity calculation

Also Published As

Publication number Publication date
TW202038095A (en) 2020-10-16

Similar Documents

Publication Publication Date Title
US10339005B2 (en) Stripe mapping in memory
US9798620B2 (en) Systems and methods for non-blocking solid-state memory
US9442802B2 (en) Data access methods and storage subsystems thereof
US20170315756A1 (en) Data management for a data storage device
US9959058B1 (en) Utilizing flash optimized layouts which minimize wear of internal flash memory of solid state drives
US20130151771A1 (en) Disk array device, control device and data write method
TWI432965B (en) Memory systems with a plurality of structures and methods for operating the same
US9367254B2 (en) Enhanced data verify in data storage arrays
KR20170099724A (en) Data storage device for increasing lifetime of device and raid system including the same
US20080270719A1 (en) Method and system for efficient snapshot operations in mass-storage arrays
US7890696B2 (en) Command queue ordering with directional and floating write bands
US8244975B2 (en) Command queue ordering by flipping active write zones
US10095585B1 (en) Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails
US11256447B1 (en) Multi-BCRC raid protection for CKD
JP2021096837A (en) Ssd with high reliability
US9946463B2 (en) Compression of indirection tables
CN115543223A (en) Method, medium, device and disk array card for flexibly forming disk array card
TWI607303B (en) Data storage system with virtual blocks and raid and management method thereof
US11526447B1 (en) Destaging multiple cache slots in a single back-end track in a RAID subsystem
CN107728943B (en) Method for delaying generation of check optical disc and corresponding data recovery method
US20110167216A1 (en) Redundant array of independent disks system
TWI718519B (en) Data storage system and management method thereof
US20110238910A1 (en) Data storage system and synchronizing method for consistency thereof
US10783036B2 (en) Storage system stripe grouping using multiple logical units
US8667218B2 (en) Storage apparatus comprising RAID groups of RAID 1 series and control method of writing to RAID group of RAID 1 series