[go: up one dir, main page]

TWI768476B - Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system - Google Patents

Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system Download PDF

Info

Publication number
TWI768476B
TWI768476B TW109132998A TW109132998A TWI768476B TW I768476 B TWI768476 B TW I768476B TW 109132998 A TW109132998 A TW 109132998A TW 109132998 A TW109132998 A TW 109132998A TW I768476 B TWI768476 B TW I768476B
Authority
TW
Taiwan
Prior art keywords
data
access unit
access
logical
recovery log
Prior art date
Application number
TW109132998A
Other languages
Chinese (zh)
Other versions
TW202117548A (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 TW109132998A priority Critical patent/TWI768476B/en
Publication of TW202117548A publication Critical patent/TW202117548A/en
Application granted granted Critical
Publication of TWI768476B publication Critical patent/TWI768476B/en

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

A method and apparatus for performing mapping information management regarding a RAID are provided. The method includes: writing data into a data region of the RAID in a Redirect-on-Write (ROW) manner, and recording mapping information between logical addresses of the data and protected-access-unit addresses (p-addresses) of protected access units in the data region into a logical-address-to-p-address (L2p) table within a table region of the RAID; when partial data of the data is updated, maintaining an updating list including a set of L2p table entries for the partial data in a RAM, and maintaining a recovery log corresponding to the updating list in a log region of the RAID, for power failure recovery; and according to the updating list, detecting whether a number of same-location L2p table entries in the set of L2p table entries reaches a predetermined threshold, to selectively updating the L2p table with the same-location L2p table entries.

Description

用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置 以及儲存系統 Method and apparatus for managing mapping information about fault-tolerant disk arrays and storage system

本發明係有關於儲存系統,尤指一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,可簡稱RAID)的映射資訊管理之方法與裝置。 The present invention relates to a storage system, and more particularly, to a method and an apparatus for managing mapping information about a Redundant Array of Independent Disks (RAID for short).

依據相關技術,一容錯式磁碟陣列(Redundant Array of Independent Disks,可簡稱RAID)可實施於一伺服器中。尤其是,透過各種類型的RAID方案,資料可獲對應等級的保護。例如,為了資料備份之目的,該伺服器可被設計成具備寫入複製(Copy-on-Write,COW)架構。由於COW架構的特性,該伺服器的效能可能隨著時間流逝而降低。又例如,該伺服器可被設計成具備寫入重定向(Redirect-on-Write,ROW)架構,以避免效能隨著時間流逝而降低的問題。然而,某些問題(諸如副作用)可能發生。因此,需要一種新穎的方法及相關架構,以保證儲存系統能分別在各種情況下正確操作。 According to the related art, a fault-tolerant disk array (Redundant Array of Independent Disks, may be referred to as RAID) can be implemented in a server. In particular, through various types of RAID solutions, data can be protected at a corresponding level. For example, for data backup purposes, the server may be designed with a Copy-on-Write (COW) architecture. Due to the nature of the COW architecture, the performance of this server may degrade over time. As another example, the server may be designed with a Redirect-on-Write (ROW) architecture to avoid the problem of performance degradation over time. However, certain problems, such as side effects, may occur. Therefore, there is a need for a novel method and related architecture to ensure that the storage system can operate correctly under various conditions, respectively.

本發明的一目的是提供一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,可簡稱RAID)的映射資訊管理之方法 與裝置,以解決上述問題。 An object of the present invention is to provide a method for managing mapping information about a fault-tolerant disk array (Redundant Array of Independent Disks, may be referred to as RAID). and device to solve the above problems.

本發明的另一個目的是提供一種用來進行關於一RAID的映射資訊管理之方法與裝置,以確保儲存系統能分別在各種情況下正確操作。 Another object of the present invention is to provide a method and apparatus for managing mapping information about a RAID to ensure that the storage system can operate correctly under various conditions, respectively.

本發明的又一個目的是提供一種用來進行關於一RAID的映射資訊管理之方法與裝置,以在沒有任何副作用或不太可能引入副作用的狀況下解決相關技術問題。 Another object of the present invention is to provide a method and apparatus for managing mapping information about a RAID, so as to solve the related technical problems without any side effects or less likely to introduce side effects.

本發明的至少一實施例提供一種用來進行關於一RAID的映射資訊管理之方法。該方法可包含:以寫入重定向(Redirect-on-Write,可簡稱ROW)方式將資料寫入該RAID的一資料區,且記錄該資料之邏輯位址以及該資料區中之多個保護存取單元(protected access unit)之各自的保護存取單元位址(protected-access-unit address(p-address),可簡稱p-位址)之間的映射資訊至該RAID的一表區(table region)中的一邏輯位址對保護存取單元位址表(logical-address-to-p-address(L2p)table,可簡稱L2p表),其中該資料的子集合分別被寫入該些保護存取單元;當該資料的局部資料被更新,為該局部資料維護包含一組邏輯位址對保護存取單元位址表條目(L2p table entry,可簡稱L2p表條目)之一更新清單於一隨機存取記憶體(Random Access Memory,可簡稱RAM)中,且維護對應於該更新清單之一復原日誌於該RAID的一日誌區,以供停電復原之使用;以及依據該更新清單,偵測該組L2p表條目中之至少兩個同位置L2p表條目的數量是否達到一預定門檻值,以選擇性地以該至少兩個同位置L2p表條目來更新該L2p表,其中該至少兩個同位置L2p表條目代表該組L2p表條目中應當被儲存至該表區中的同一個保護存取單元之L2p表條目。 At least one embodiment of the present invention provides a method for managing mapping information about a RAID. The method may include: writing data into a data area of the RAID by way of Redirect-on-Write (ROW for short), and recording the logical address of the data and a plurality of protections in the data area Mapping information between the respective protected-access-unit addresses (p-addresses, p-addresses) of the protected access units to a table area ( A logical address pair protection access unit address table (logical-address-to-p-address (L2p) table, L2p table for short) in the table region), in which subsets of the data are written into the Protect the access unit; when the local data of the data is updated, maintain an update list for the local data including a set of logical address pairs to protect the access unit address table entry (L2p table entry, may be referred to as L2p table entry) in In a random access memory (Random Access Memory, RAM for short), a recovery log corresponding to the update list is maintained in a log area of the RAID for use in power failure recovery; and according to the update list, the detection testing whether the number of at least two co-located L2p table entries in the set of L2p table entries reaches a predetermined threshold, to selectively update the L2p table with the at least two co-located L2p table entries, wherein the at least two A co-located L2p table entry represents an L2p table entry in the set of L2p table entries that should be stored in the same protection access unit in the table area.

依據某些實施例,本發明另提供一種依據上述方法來運作之儲存系統,其中該儲存系統包含該RAID。 According to some embodiments, the present invention further provides a storage system operating according to the above method, wherein the storage system includes the RAID.

本發明的至少一實施例提供一種用來進行關於一RAID的映射資訊 管理之裝置。該裝置可包含一處理電路,其中該處理電路位於一儲存系統中,且用來控制該儲存系統之運作。例如,該儲存系統之該些運作可包含:以ROW方式將資料寫入該RAID的一資料區,且記錄該資料之邏輯位址以及該資料區中之多個保護存取單元之各自的保護存取單元位址之間的映射資訊至該RAID的一表區中的一L2p表,其中該資料的子集合分別被寫入該些保護存取單元;當該資料的局部資料被更新,為該局部資料維護包含一組L2p表條目之一更新清單於一RAM中,且維護對應於該更新清單之一復原日誌於該RAID的一日誌區,以供停電復原之使用;以及依據該更新清單,偵測該組L2p表條目中之至少兩個同位置L2p表條目的數量是否達到一預定門檻值,以選擇性地以該至少兩個同位置L2p表條目來更新該L2p表,其中該至少兩個同位置L2p表條目代表該組L2p表條目中應當被儲存至該表區中的同一個保護存取單元之L2p表條目。 At least one embodiment of the present invention provides a method for mapping information about a RAID management device. The apparatus may include a processing circuit, wherein the processing circuit is located in a storage system and is used to control the operation of the storage system. For example, the operations of the storage system may include: writing data into a data area of the RAID in a ROW manner, and recording the logical address of the data and the respective protection of a plurality of protection access units in the data area Mapping information between access unit addresses to an L2p table in a table area of the RAID, where subsets of the data are written into the protected access units respectively; when the partial data of the data is updated, it is The local data maintenance includes an update list of a set of L2p table entries in a RAM, and maintains a recovery log corresponding to the update list in a log area of the RAID for use in power failure recovery; and according to the update list , detecting whether the number of at least two co-located L2p table entries in the set of L2p table entries reaches a predetermined threshold, to selectively update the L2p table with the at least two co-located L2p table entries, wherein the at least two co-located L2p table entries are The two co-located L2p table entries represent the L2p table entries in the set of L2p table entries that should be stored in the same protection access unit in the table area.

本發明的方法和裝置能保證該儲存系統可分別在各種情況下正常運作。另外,本發明的方法和裝置提供了一種強大的映射資訊管理機制。因此,可以實現各種目標,如效能優化、高安全性、預算控制等。此外,本發明的方法和裝置可以在不引入任何副作用或以不太可能引入副作用的方式解決相關技術問題。 The method and apparatus of the present invention can ensure that the storage system can operate normally under various conditions, respectively. In addition, the method and apparatus of the present invention provide a powerful mapping information management mechanism. As a result, various goals such as performance optimization, high security, budget control, etc. can be achieved. In addition, the method and apparatus of the present invention can solve the related technical problems in a manner that does not introduce any side effects or is less likely to introduce side effects.

10:使用者裝置 10: User device

11,111:處理電路 11,111: Processing Circuits

12,112,122:介面電路 12, 112, 122: Interface Circuits

100:儲存系統 100: Storage System

110:匯流排 110: Busbar

111P:程式碼 111P: Code

121:隨機存取記憶體 121: Random Access Memory

121T:管理表 121T: Management table

130~134:儲存裝置 130~134: Storage device

200:方法 200: Method

210,220,230:步驟 210, 220, 230: Steps

310,320,330:保護區塊 310, 320, 330: Protected Blocks

410:L2p表 410: L2p table

510,610:更新清單 510, 610: Update list

520,620:復原日誌 520, 620: Recovery log

RAID:容錯式磁碟陣列 RAID: Fault Tolerant Disk Array

DR:資料區 DR: data area

TR:表區 TR: table area

LR:日誌區 LR: log area

D:資料 D: information

P:校驗碼 P: check code

S1~S1023:輔助資訊 S1~S1023: Auxiliary information

第1圖係根據本發明一實施例之一儲存系統和一使用者裝置的示意圖。 FIG. 1 is a schematic diagram of a storage system and a user device according to an embodiment of the present invention.

第2圖係根據本發明一實施例之用來進行關於一RAID(諸如第1圖所示者)的映射資訊管理之方法的流程圖。 FIG. 2 is a flowchart of a method for performing mapping information management with respect to a RAID (such as that shown in FIG. 1 ) according to an embodiment of the present invention.

第3圖繪示第2圖所示方法於一實施例中所涉及的複數個保護存取單元,其中該複數個保護存取單元的例子可為保護區塊。 FIG. 3 illustrates a plurality of protected access units involved in the method shown in FIG. 2 in an embodiment, wherein an example of the plurality of protected access units may be a protected block.

第4圖繪示第2圖所示方法於一實施例中所涉及的L2p表。 FIG. 4 shows the L2p table involved in the method shown in FIG. 2 in one embodiment.

第5圖繪示第2圖所示方法於一實施例中所涉及的更新清單與復原日誌。 FIG. 5 shows an update list and a recovery log involved in the method shown in FIG. 2 in an embodiment.

第6圖繪示第2圖所示方法於另一實施例中所涉及的更新清單與復原日誌。 FIG. 6 shows an update list and a recovery log involved in the method shown in FIG. 2 in another embodiment.

第1圖係根據本發明一實施例之一儲存系統100和一使用者裝置10的示意圖。使用者裝置10可包含處理電路11(例如至少一處理器及相關電路),並且可另包含耦接至處理電路11的一介面電路12與儲存裝置。儲存系統100可包含處理電路111(例如至少一處理器及相關電路),並且可另包含透過匯流排110耦接至處理電路111的介面電路112與122以及隨機存取記憶體(Random Access Memory,可簡稱RAM)121,而儲存裝置{130,131,132,133,134}(諸如硬式磁碟機、及/或固態硬碟)可透過介面電路122安裝於儲存系統100以形成一RAID,其中執行於處理電路111上之程式碼111P可讀取自儲存裝置130(例如系統碟),且可維護(例如建立、儲存、及/或更新)RAM 121中之管理表121T以進行本發明之方法之相關運作,以管理資料區DR、表區TR與日誌區LR。介面電路12與112可實施成有線網路介面、及/或無線網路介面,以容許儲存系統100和使用者裝置10交換資訊。使用者可透過使用者裝置10存取(讀取或寫入)使用者資料於儲存系統100。使用者裝置10的例子可包含(但不限於):一多功能行動電話、一平板電腦、一穿戴式裝置以及個人電腦(諸如桌上型電腦和筆記型電腦)。儲存系統100的例子可包含(但不限於):一伺服器諸如儲存伺服器。依據某些實施例,儲存系統100的架構可予以變化。例如程式碼111P可透過設置於介面電路122中之專用的硬體來實施,以進行本發明之方法之相關運作。 FIG. 1 is a schematic diagram of a storage system 100 and a user device 10 according to an embodiment of the present invention. The user device 10 may include a processing circuit 11 (eg, at least one processor and related circuits), and may further include an interface circuit 12 coupled to the processing circuit 11 and a storage device. The storage system 100 may include a processing circuit 111 (eg, at least one processor and related circuits), and may further include interface circuits 112 and 122 coupled to the processing circuit 111 through the bus bar 110 and a random access memory (Random Access Memory, may be referred to as RAM) 121, and storage devices {130, 131, 132, 133, 134} (such as hard disk drives, and/or solid state disks) can be installed in the storage system 100 through the interface circuit 122 to form a RAID in which the programs executed on the processing circuit 111 The code 111P can be read from the storage device 130 (eg, the system disk), and can maintain (eg, create, store, and/or update) the management table 121T in the RAM 121 to perform operations related to the method of the present invention to manage the data area DR, table area TR and log area LR. The interface circuits 12 and 112 may be implemented as wired network interfaces and/or wireless network interfaces to allow the storage system 100 and the user device 10 to exchange information. The user can access (read or write) user data in the storage system 100 through the user device 10 . Examples of user device 10 may include, but are not limited to, a multifunction mobile phone, a tablet computer, a wearable device, and personal computers (such as desktop computers and notebook computers). Examples of storage system 100 may include, but are not limited to, a server such as a storage server. According to some embodiments, the architecture of the storage system 100 may vary. For example, the code 111P can be implemented through dedicated hardware provided in the interface circuit 122 to perform the related operations of the method of the present invention.

第2圖係根據本發明一實施例之用來進行關於一RAID(諸如第1圖所示之RAID)的映射資訊管理之方法200的流程圖。方法200可應用於第1圖所示 之儲存系統100、執行程式碼111P之處理電路111、及相關元件。 FIG. 2 is a flowchart of a method 200 for managing mapping information with respect to a RAID (such as the RAID shown in FIG. 1 ) according to an embodiment of the present invention. The method 200 can be applied to that shown in FIG. 1 The storage system 100, the processing circuit 111 for executing the code 111P, and related components.

在步驟210中,儲存系統100(例如處理電路111)以寫入重定向(Redirect-on-Write,可簡稱ROW)方式將資料寫入該RAID的資料區DR,且記錄該資料之邏輯位址以及資料區DR中之多個保護存取單元(protected access unit)之各自的保護存取單元位址(protected-access-unit address(p-address),可簡稱p-位址)之間的映射資訊至該RAID的表區TR中的一邏輯位址對保護存取單元位址表(logical-address-to-p-address(L2p)table,可簡稱L2p表),其中該資料的子集合分別被寫入該些保護存取單元。 In step 210 , the storage system 100 (eg, the processing circuit 111 ) writes data into the data area DR of the RAID in a Redirect-on-Write (ROW) manner, and records the logical address of the data and the mapping between the respective protected-access-unit addresses (p-address, may be referred to as p-address) of a plurality of protected access units (protected access units) in the data area DR information to a logical-address-to-p-address (L2p) table in the table area TR of the RAID to protect the access unit address table (logical-address-to-p-address (L2p) table, may be referred to as L2p table), wherein the subsets of the data are respectively are written to the protected access units.

在步驟220中,當該資料的局部資料被更新,儲存系統100(例如處理電路111)為該局部資料維護包含一組邏輯位址對保護存取單元位址表條目(L2p table entry,可簡稱L2p表條目)之一更新清單於RAM 121中,且維護對應於該更新清單之一復原日誌於該RAID的日誌區LR,以供停電復原之使用。 In step 220, when the local data of the data is updated, the storage system 100 (eg, the processing circuit 111) maintains a set of logical address pairs to protect the access unit address table entry (L2p table entry, may be referred to for short) for the local data An update list of L2p table entries) is stored in the RAM 121, and a recovery log corresponding to the update list is maintained in the log area LR of the RAID for power failure recovery.

在步驟230中,依據該更新清單,儲存系統100(例如處理電路111)偵測該組L2p表條目中之至少兩個同位置L2p表條目的數量是否達到一預定門檻值(例如:2,或其他預定數值),以選擇性地以該至少兩個同位置L2p表條目來更新該L2p表,其中該至少兩個同位置L2p表條目代表該組L2p表條目中應當被儲存至表區TR中的同一個保護存取單元之L2p表條目。例如,L2p表條目可為用以更新該L2p表的更新版本,且可包含對應於ROW運作之最新儲存位置。 In step 230, according to the update list, the storage system 100 (eg, the processing circuit 111) detects whether the number of at least two co-located L2p table entries in the set of L2p table entries reaches a predetermined threshold (eg, 2, or other predetermined values) to selectively update the L2p table with the at least two co-located L2p table entries, wherein the at least two co-located L2p table entries represent that the set of L2p table entries should be stored in the table region TR L2p table entry of the same protection access unit. For example, the L2p table entry may be an updated version used to update the L2p table, and may contain the latest storage location corresponding to the ROW operation.

依據本實施例,在步驟220中,當該資料的局部資料被更新,儲存系統100(例如處理電路111)可對應地於該更新清單中記錄輔助資訊,以供偵測該組L2p表條目中是否存在該至少兩個同位置L2p表條目。例如,該輔助資訊可指出該復原日誌中之一組復原日誌條目,且該組復原日誌條目可指向表區TR中的一組保護存取單元,以引導該L2p表依據該組L2p表條目而被更新。 According to the present embodiment, in step 220, when the partial data of the data is updated, the storage system 100 (eg, the processing circuit 111) can correspondingly record auxiliary information in the update list for detecting the L2p table entries in the set Whether the at least two co-located L2p table entries exist. For example, the auxiliary information may indicate a set of restore log entries in the restore log, and the set of restore log entries may point to a set of protected access units in the table region TR to direct the L2p table to Updated.

依據某些實施例,該更新清單可包含分別對應於該組L2p表條目之一 組指標器,該組指標器可分別指向該復原日誌中之一組復原日誌條目,並且該組復原日誌條目可指向表區TR中的一組保護存取單元。例如,該L2p表可包含應當被該組L2p表條目來更新之至少一子表,且該至少一子表於表區TR中之位置可對應於該組保護存取單元。又例如,該L2p表可包含應當被該組L2p表條目來更新之至少一子表。此外,該更新清單可包含分別對應於該至少兩個同位置L2p表條目之至少兩個指標器,該至少兩個指標器可分別指向該復原日誌中之同一個復原日誌條目,並且該同一個復原日誌條目可指向表區TR中的該同一個保護存取單元。 According to some embodiments, the update list may contain one of the L2p table entries respectively corresponding to the set A set of pointers, the set of pointers may respectively point to a set of restoration log entries in the restoration log, and the set of restoration log entries may point to a set of protection access units in the table region TR. For example, the L2p table may contain at least one sub-table that should be updated by the set of L2p table entries, and the position of the at least one sub-table in the table region TR may correspond to the set of protected access units. As another example, the L2p table may contain at least one sub-table that should be updated by the set of L2p table entries. In addition, the update list may include at least two pointers respectively corresponding to the at least two co-located L2p table entries, the at least two pointers may respectively point to the same recovery log entry in the recovery log, and the same recovery log entry The recovery log entry may point to the same protection access unit in the table region TR.

第3圖繪示第2圖所示方法200於一實施例中所涉及的複數個保護存取單元,其中該複數個保護存取單元的例子可為保護區塊310、320與330,但本發明不限於此。例如,針對保護區塊310、320與330之任一者中之任何一個保護區塊,符號「D」可代表該保護區塊中之資料,而符號「P」可代表該保護區塊中之校驗碼。透過校驗碼P,資料D可獲得保護。依據某些實施例,該RAID的類型及/或保護等級可予以變化,其中使用者資料可獲對應類型及/或等級的保護。 FIG. 3 shows a plurality of protected access units involved in the method 200 shown in FIG. 2 in an embodiment, wherein the example of the plurality of protected access units can be the protected blocks 310, 320 and 330, but this The invention is not limited to this. For example, for any one of the protection blocks 310, 320, and 330, the symbol "D" may represent the data in the protection block, and the symbol "P" may represent the data in the protection block Check code. Through the check code P, the data D can be protected. According to some embodiments, the type and/or level of protection of the RAID may be varied, wherein user data may be protected by the corresponding type and/or level.

第4圖繪示第2圖所示方法200於一實施例中所涉及的L2p表410(其可作為該L2p表的例子)。L2p表410可包含多個L2p子表(sub-table),其中第一列(row)L2p子表可分別將頁0-511(尤其,邏輯位址0-511)映射至其各自的儲存位置(例如:某些保護存取單元諸如保護區塊),第二列L2p子表可分別將頁512-1023(尤其,邏輯位址512-1023)映射至其各自的儲存位置(例如:某些保護存取單元諸如保護區塊),但本發明不限於此。依據某些實施例,該些儲存位置可視為ROW位置。 FIG. 4 illustrates the L2p table 410 involved in the method 200 shown in FIG. 2 in one embodiment (which can be used as an example of the L2p table). The L2p table 410 may include a plurality of L2p sub-tables, wherein a first row (row) of the L2p sub-tables may respectively map pages 0-511 (in particular, logical addresses 0-511) to their respective storage locations (eg some protected access units such as protected blocks), the second column of L2p sub-tables can map pages 512-1023 (in particular, logical addresses 512-1023) to their respective storage locations (eg: some A protected access unit such as a protected block), but the present invention is not limited thereto. According to some embodiments, these storage locations may be considered ROW locations.

第5圖繪示第2圖所示方法200於一實施例中所涉及的更新清單510與復原日誌520,其中輔助資訊{S4,S1021,S1022,S1023,S1,S2,...}可為指標器。 本實施例與前述實施例相仿的內容在此不重複贅述。 FIG. 5 shows the update list 510 and the recovery log 520 involved in the method 200 shown in FIG. 2 in an embodiment, wherein the auxiliary information {S4, S1021, S1022, S1023, S1, S2, ...} can be indicator. The contents of this embodiment similar to those of the foregoing embodiments are not repeated here.

第6圖繪示第2圖所示方法200於另一實施例中所涉及的更新清單610與復原日誌620,其中輔助資訊{S8,S3,S5,S1,S6,S1,...}可為指標器。例如,在步驟230中,當輔助資訊S1出現兩次,儲存系統100(例如處理電路111)偵測到該至少兩個同位置L2p表條目(例如第6圖中之這兩個包含輔助資訊S1之L2p表條目)的數量達到該預定門檻值(例如:2),就以該至少兩個同位置L2p表條目來更新該L2p表。於是,儲存系統100提前更新該L2p表,而不需要等到復原日誌620滿了才更新該L2p表,藉此,本發明之裝置能避免巨幅地更新該L2p表之運作所致之整體效能低落。因此,本發明的方法和裝置能保證儲存系統100可分別在各種情況下正常運作。另外,本發明的方法和裝置提供了強大的映射資訊管理機制,可以實現各種目標,如效能優化、高安全性、預算控制等。此外,本發明的方法和裝置可以在不引入任何副作用或以不太可能引入副作用的方式解決相關技術問題。 FIG. 6 shows the update list 610 and the recovery log 620 involved in the method 200 shown in FIG. 2 in another embodiment, wherein the auxiliary information {S8, S3, S5, S1, S6, S1, ...} can be for the indicator. For example, in step 230, when the auxiliary information S1 appears twice, the storage system 100 (eg, the processing circuit 111 ) detects that the at least two co-located L2p table entries (such as the two in FIG. 6 contain the auxiliary information S1 ) If the number of L2p table entries) reaches the predetermined threshold (eg: 2), the L2p table is updated with the at least two co-located L2p table entries. Therefore, the storage system 100 updates the L2p table in advance, and does not need to wait until the recovery log 620 is full before updating the L2p table. Therefore, the device of the present invention can avoid the overall performance drop caused by the operation of updating the L2p table greatly. . Therefore, the method and apparatus of the present invention can ensure that the storage system 100 can operate normally under various conditions, respectively. In addition, the method and apparatus of the present invention provide a powerful mapping information management mechanism, which can achieve various goals, such as performance optimization, high security, budget control, and the like. In addition, the method and apparatus of the present invention can solve the related technical problems in a manner that does not introduce any side effects or is less likely to introduce side effects.

以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 The above descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope of the present invention.

10:使用者裝置 10: User device

11,111:處理電路 11,111: Processing Circuits

12,112,122:介面電路 12, 112, 122: Interface Circuits

100:儲存系統 100: Storage System

110:匯流排 110: Busbar

111P:程式碼 111P: Code

121:隨機存取記憶體 121: Random Access Memory

121T:管理表 121T: Management table

130~134:儲存裝置 130~134: Storage device

RAID:容錯式磁碟陣列 RAID: Fault Tolerant Disk Array

DR:資料區 DR: data area

TR:表區 TR: table area

LR:日誌區 LR: log area

Claims (7)

一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,RAID)的映射資訊管理之方法,該方法包含:以寫入重定向方式將資料寫入該容錯式磁碟陣列的一資料區,使在寫入過程中之被寫入的資料係被寫入至該資料區中之多個存取單元(access unit)的至少一存取單元,且記錄該資料中之分別被寫入至該多個存取單元的資料之邏輯位址以及該多個存取單元之各自的存取單元位址(access-unit address)之間的映射資訊至該容錯式磁碟陣列的一表區(table region)中的一邏輯位址對存取單元位址表(logical-address-to-access-unit-address table),其中該多個存取單元中之任一存取單元是存取該容錯式磁碟陣列時的邏輯存取單元,且包含用以形成該容錯式磁碟陣列的多個儲存裝置之各自的局部儲存區,以及該資料中之所述分別被寫入至該多個存取單元的資料係分別於該多個存取單元中被對應於所述分別被寫入至該多個存取單元的資料之校驗碼所保護;當所述分別被寫入至該多個存取單元的資料中之任何資料被更新,維護包含分別對應於更新資料的一組更新的邏輯位址對存取單元位址表條目(entry)且另包含分別對應於該更新資料的輔助資訊之一更新清單於一揮發性記憶體中,且維護包含該更新資料之一復原日誌於該容錯式磁碟陣列的一日誌區,以供停電復原之使用,其中該復原日誌包含多個復原日誌條目,每一復原日誌條目位置對應於該資料區中之一存取單元,以及該輔助資訊的一數值指出一特定復原日誌條目位置;以及當被儲存至該更新清單之具有一相同數值的輔助資訊達到一預定門檻 值,而該預定門檻值至少為二,則判定該組更新的邏輯位址對存取單元位址表條目中之對應於一相同的復原日誌條目位置之邏輯位址對存取單元位址表條目的數量達到該預定門檻值,使用具有該相同數值的所述輔助資訊以存取(access)該更新清單中的對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目,並且以該更新清單中的對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目來更新該邏輯位址對存取單元位址表,其中對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目代表應當被儲存至該表區中的同一個存取單元之更新資料;其中,該預定門檻值係無關於該更新清單之容量、且無關於該更新清單的總資料量。 A method for managing mapping information about a fault-tolerant disk array (Redundant Array of Independent Disks, RAID), the method comprising: writing data into a data of the fault-tolerant disk array by means of write redirection area, so that the data to be written in the writing process is written to at least one access unit of a plurality of access units in the data area, and records which are respectively written in the data mapping information between logical addresses of data to the plurality of access units and respective access-unit addresses of the plurality of access units to a table area of the fault-tolerant disk array a logical-address-to-access-unit-address table in a (table region) where any one of the plurality of access units accesses the A logical access unit in a fault-tolerant disk array, and includes respective local storage areas of a plurality of storage devices used to form the fault-tolerant disk array, and the data in the data are written to the plurality of The data of the access units are respectively protected in the plurality of access units by the check codes corresponding to the data respectively written to the plurality of access units; when the data are respectively written to the plurality of access units Any data in the data of each access unit is updated, maintaining a set of updated logical address pair access unit address table entries respectively corresponding to the updated data and additionally including auxiliary corresponding to the updated data. An update list of information is stored in a volatile memory, and a recovery log containing the update data is maintained in a log area of the fault-tolerant disk array for power failure recovery, wherein the recovery log includes a plurality of recovery log entries, each recovery log entry position corresponds to an access unit in the data area, and a value of the auxiliary information indicates a particular recovery log entry position; and a log entry having the same value when stored in the update list The auxiliary information reaches a predetermined threshold value, and the predetermined threshold value is at least two, it is determined that the set of updated logical address pair access unit address table entries corresponds to a logical address pair access unit address table corresponding to the same recovery log entry position the number of entries reaches the predetermined threshold, using the auxiliary information with the same value to access the logical address pair access unit bit in the update list corresponding to the same recovery log entry location address table entry, and update the logical address pair access unit address table with the logical address pair access unit address table entry in the update list corresponding to the same recovery log entry location, where the corresponding The logical address pair access unit address table entry at the same recovery log entry location represents the update data that should be stored to the same access unit in the table area; wherein the predetermined threshold value is irrelevant The capacity of the update list, regardless of the total amount of data in the update list. 如申請專利範圍第1項所述的方法,其中該更新清單包含分別對應於該組更新的邏輯位址對存取單元位址表條目之一組指標器,以及該組指標器分別指向該復原日誌中之一組復原日誌條目。 The method of claim 1, wherein the update list includes a set of pointers respectively corresponding to the set of updated logical address pair access unit address table entries, and the set of pointers respectively point to the restoration A set of restore log entries in the log. 如申請專利範圍第2項所述的方法,其中該邏輯位址對存取單元位址表包含應當被該組更新的邏輯位址對存取單元位址表條目來更新之至少一子表;以及該至少一子表於該表區中之位置對應於該表區中的一組存取單元。 The method of claim 2, wherein the logical address pair access unit address table includes at least one sub-table that should be updated by the set of updated logical address pair access unit address table entries; And the position of the at least one sub-table in the table area corresponds to a group of access units in the table area. 如申請專利範圍第1項所述的方法,其中該邏輯位址對存取單元位址表包含應當被該組更新的邏輯位址對存取單元位址表條目來更新之 至少一子表。 The method of claim 1, wherein the logical address pair access unit address table contains logical address pair access unit address table entries that should be updated by the set of updated At least one subtable. 如申請專利範圍第1項所述的方法,其中該更新清單包含分別對應於所述邏輯位址對存取單元位址表條目之至少兩個指標器,該至少兩個指標器分別指向該復原日誌中之同一個復原日誌條目,以及該同一個復原日誌條目指向該表區中的該同一個存取單元。 The method of claim 1, wherein the update list includes at least two pointers respectively corresponding to the logical address pair access unit address table entries, the at least two pointers respectively point to the restoration The same recovery log entry in the log, and the same recovery log entry points to the same access unit in the table area. 一種儲存系統,包含:一容錯式磁碟陣列(Redundant Array of Independent Disks,RAID);以及一處理電路,用來控制該儲存系統之運作,且進行關於該容錯式磁碟陣列的映射資訊管理,其中該儲存系統之該些運作包含:以寫入重定向方式將資料寫入該容錯式磁碟陣列的一資料區,使在寫入過程中之被寫入的資料係被寫入至該資料區中之多個存取單元(access unit)的至少一存取單元,且記錄該資料中之分別被寫入至該多個存取單元的資料之邏輯位址以及該多個存取單元之各自的存取單元位址(access-unit address)之間的映射資訊至該容錯式磁碟陣列的一表區(table region)中的一邏輯位址對存取單元位址表(logical-address-to-access-unit-address table),其中該多個存取單元中之任一存取單元是存取該容錯式磁碟陣列時的邏輯存取單元,且包含用以形成該容錯式磁碟陣列的多個儲存裝置之各自的局部儲存區,以及該資料中之所述分別被寫入至該多個存取單元的資料係分別於該多個存取單元中被對應於所述分別被寫入至該多個存取單元的資料之校驗碼所 保護;當所述分別被寫入至該多個存取單元的資料中之任何資料被更新,維護包含分別對應於更新資料的一組更新的邏輯位址對存取單元位址表條目(entry)且另包含分別對應於該更新資料的輔助資訊之一更新清單於一揮發性記憶體中,且維護包含該更新資料之一復原日誌於該容錯式磁碟陣列的一日誌區,以供停電復原之使用,其中該復原日誌包含多個復原日誌條目,每一復原日誌條目位置對應於該資料區中之一存取單元,以及該輔助資訊的一數值指出一特定復原日誌條目位置;以及當被儲存至該更新清單之具有一相同數值的輔助資訊達到一預定門檻值,而該預定門檻值至少為二,則判定該組更新的邏輯位址對存取單元位址表條目中之對應於一相同的復原日誌條目位置之邏輯位址對存取單元位址表條目的數量達到該預定門檻值,使用具有該相同數值的所述輔助資訊以存取(access)該更新清單中的對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目,並且以該更新清單中的對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目來更新該邏輯位址對存取單元位址表,其中對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目代表應當被儲存至該表區中的同一個存取單元之更新資料;其中,該預定門檻值係無關於該更新清單之容量、且無關於該更新清單的總資料量。 A storage system, comprising: a fault-tolerant disk array (Redundant Array of Independent Disks, RAID); and a processing circuit for controlling the operation of the storage system and managing mapping information about the fault-tolerant disk array, The operations of the storage system include: writing data into a data area of the fault-tolerant disk array by means of write redirection, so that the data written in the writing process is written to the data At least one access unit of a plurality of access units in the area, and records the logical addresses of the data in the data respectively written to the plurality of access units and the data of the plurality of access units Mapping information between respective access-unit addresses to a logical-address-to-access-unit address table in a table region of the fault-tolerant disk array -to-access-unit-address table), wherein any access unit of the plurality of access units is a logical access unit when accessing the fault-tolerant disk array, and includes elements used to form the fault-tolerant disk array The respective local storage areas of the plurality of storage devices of the disk array, and the data respectively written to the plurality of access units in the data are respectively corresponding to the respective data in the plurality of access units where the check codes of the data written to the plurality of access units protection; when any of the data respectively written to the plurality of access units is updated, maintain an access unit address table entry containing a set of updated logical addresses respectively corresponding to the updated data ) and further includes an update list of auxiliary information corresponding to the update data in a volatile memory, and maintains a recovery log including the update data in a log area of the fault-tolerant disk array for power failure use of recovery, wherein the recovery log contains a plurality of recovery log entries, each recovery log entry location corresponds to an access unit in the data area, and a value of the auxiliary information indicates a particular recovery log entry location; and when Auxiliary information with the same value stored in the update list reaches a predetermined threshold value, and the predetermined threshold value is at least two, then it is determined that the set of updated logical addresses corresponds to the access unit address table entry. The number of logical address pair access unit address table entries of the same recovery log entry location reaches the predetermined threshold, using the auxiliary information with the same value to access the corresponding address in the update list The logical address of the same recovery log entry location is paired with the access unit address table entry, and the access unit address is paired with the logical address in the update list corresponding to the same recovery log entry location table entry to update the logical address pair access unit address table, wherein the logical address pair access unit address table entry corresponding to the same recovery log entry location represents the The update data of the same access unit; wherein, the predetermined threshold value is not related to the capacity of the update list, and is not related to the total data volume of the update list. 一種用來進行關於一容錯式磁碟陣列(Redundant Array of Independent Disks,RAID)的映射資訊管理之裝置,該裝置包含:一處理電路,位於一儲存系統中,用來控制該儲存系統之運作,其中該儲存系統之該些運作包含:以寫入重定向方式將資料寫入該容錯式磁碟陣列的一資料區,使在寫入過程中之被寫入的資料係被寫入至該資料區中之多個存取單元(access unit)的至少一存取單元,且記錄該資料中之分別被寫入至該多個存取單元的資料之邏輯位址以及該多個存取單元之各自的存取單元位址(access-unit address)之間的映射資訊至該容錯式磁碟陣列的一表區(table region)中的一邏輯位址對存取單元位址表(logical-address-to-access-unit-address table),其中該多個存取單元中之任一存取單元是存取該容錯式磁碟陣列時的邏輯存取單元,且包含用以形成該容錯式磁碟陣列的多個儲存裝置之各自的局部儲存區,以及該資料中之所述分別被寫入至該多個存取單元的資料係分別於該多個存取單元中被對應於所述分別被寫入至該多個存取單元的資料之校驗碼所保護;當所述分別被寫入至該多個存取單元的資料中之任何資料被更新,維護包含分別對應於更新資料的一組更新的邏輯位址對存取單元位址表條目(entry)且另包含分別對應於該更新資料的輔助資訊之一更新清單於一揮發性記憶體中,且維護包含該更新資料之一復原日誌於該容錯式磁碟陣列的一日誌區,以供停電復原之使用,其中該復原日誌包含多個復原日誌條目,每一復 原日誌條目位置對應於該資料區中之一存取單元,以及該輔助資訊的一數值指出一特定復原日誌條目位置;以及當被儲存至該更新清單之具有一相同數值的輔助資訊達到一預定門檻值,而該預定門檻值至少為二,則判定該組更新的邏輯位址對存取單元位址表條目中之對應於一相同的復原日誌條目位置之邏輯位址對存取單元位址表條目的數量達到該預定門檻值,使用具有該相同數值的所述輔助資訊以存取(access)該更新清單中的對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目,並且以該更新清單中的對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目來更新該邏輯位址對存取單元位址表,其中對應於該相同的復原日誌條目位置之所述邏輯位址對存取單元位址表條目代表應當被儲存至該表區中的同一個存取單元之更新資料;其中,該預定門檻值係無關於該更新清單之容量、且無關於該更新清單的總資料量。 A device for managing mapping information about a fault-tolerant disk array (Redundant Array of Independent Disks, RAID), the device comprises: a processing circuit located in a storage system for controlling the operation of the storage system, The operations of the storage system include: writing data into a data area of the fault-tolerant disk array by means of write redirection, so that the data written in the writing process is written to the data At least one access unit of a plurality of access units in the area, and records the logical addresses of the data in the data respectively written to the plurality of access units and the data of the plurality of access units Mapping information between respective access-unit addresses to a logical-address-to-access-unit address table in a table region of the fault-tolerant disk array -to-access-unit-address table), wherein any access unit of the plurality of access units is a logical access unit when accessing the fault-tolerant disk array, and includes elements used to form the fault-tolerant disk array The respective local storage areas of the plurality of storage devices of the disk array, and the data respectively written to the plurality of access units in the data are respectively corresponding to the respective data in the plurality of access units is protected by the check code of the data written to the plurality of access units; when any data in the data respectively written to the plurality of access units is updated, the maintenance includes the data corresponding to the updated data respectively. A set of updated logical address pair access unit address table entries and further includes an update list of auxiliary information respectively corresponding to the update data in a volatile memory, and maintains an update list including the update data The recovery log is stored in a log area of the fault-tolerant disk array for power failure recovery, wherein the recovery log includes a plurality of recovery log entries, each of which is repeated The original log entry position corresponds to an access unit in the data area, and a value of the auxiliary information indicates a specific recovery log entry position; and when auxiliary information with the same value stored in the update list reaches a predetermined value threshold value, and the predetermined threshold value is at least two, it is determined that the logical address pair access unit address corresponding to a same recovery log entry position in the set of updated logical address pair access unit address table entries The number of table entries reaches the predetermined threshold, the auxiliary information having the same value is used to access the logical address pair access unit in the update list corresponding to the same recovery log entry location address table entry, and update the logical address pair access unit address table with the logical address pair access unit address table entry in the update list corresponding to the same recovery log entry location, wherein The logical address pair access unit address table entry corresponding to the same recovery log entry location represents update data that should be stored to the same access unit in the table area; wherein the predetermined threshold is none About the capacity of the update list, and not about the total data volume of the update list.
TW109132998A 2018-11-08 2018-11-08 Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system TWI768476B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109132998A TWI768476B (en) 2018-11-08 2018-11-08 Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109132998A TWI768476B (en) 2018-11-08 2018-11-08 Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system

Publications (2)

Publication Number Publication Date
TW202117548A TW202117548A (en) 2021-05-01
TWI768476B true TWI768476B (en) 2022-06-21

Family

ID=77020944

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109132998A TWI768476B (en) 2018-11-08 2018-11-08 Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system

Country Status (1)

Country Link
TW (1) TWI768476B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12430207B2 (en) * 2023-03-23 2025-09-30 Silicon Motion, Inc. Method and apparatus for performing table management of memory device in predetermined communications architecture with aid of flexible table page grouping

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130332648A1 (en) * 2012-06-12 2013-12-12 International Business Machines Corporation Maintaining versions of data in solid state memory
TW201409232A (en) * 2012-08-18 2014-03-01 Storart Technology Co Ltd Method for mapping management
US20160132429A1 (en) * 2013-11-14 2016-05-12 Huawei Technologies Co., Ltd. Method and Storage Device for Collecting Garbage Data
TWI550407B (en) * 2009-04-22 2016-09-21 普安科技股份有限公司 Data accessing method and apparatus for performing the same
CN105975358A (en) * 2016-05-03 2016-09-28 深圳市杉岩数据技术有限公司 Fault-tolerant method and system based on SCSI equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550407B (en) * 2009-04-22 2016-09-21 普安科技股份有限公司 Data accessing method and apparatus for performing the same
US20130332648A1 (en) * 2012-06-12 2013-12-12 International Business Machines Corporation Maintaining versions of data in solid state memory
TW201409232A (en) * 2012-08-18 2014-03-01 Storart Technology Co Ltd Method for mapping management
US20160132429A1 (en) * 2013-11-14 2016-05-12 Huawei Technologies Co., Ltd. Method and Storage Device for Collecting Garbage Data
CN105975358A (en) * 2016-05-03 2016-09-28 深圳市杉岩数据技术有限公司 Fault-tolerant method and system based on SCSI equipment

Also Published As

Publication number Publication date
TW202117548A (en) 2021-05-01

Similar Documents

Publication Publication Date Title
CN109791520B (en) Physical media aware spatially coupled logging and replay
CN103064765B (en) Data reconstruction method, device and cluster storage system
US11301326B2 (en) Method and apparatus for performing dynamic recovery management regarding redundant array of independent disks
US9026845B2 (en) System and method for failure protection in a storage array
US9529674B2 (en) Storage device management of unrecoverable logical block addresses for RAID data regeneration
US11449400B2 (en) Method, device and program product for managing data of storage device
CN103649901A (en) Data transmission method, data receiving method and sotring equipment
US9563524B2 (en) Multi level data recovery in storage disk arrays
TW201107981A (en) Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system
EP3794451B1 (en) Parity log with by-pass
CN117149062A (en) A method and computing device for processing tape damaged data
TWI768476B (en) Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system
CN113391945A (en) Method, electronic device and computer program product for storage management
TWI709042B (en) Method and apparatus for performing mapping information management regarding redundant array of independent disks, and associated storage system
US11275513B2 (en) System and method for selecting a redundant array of independent disks (RAID) level for a storage device segment extent
US20100077283A1 (en) Apparatus to manage data stability and methods of storing and recovering data
KR102389929B1 (en) Storage Device Based on RAID
CN112328182B (en) RAID data management method, device and computer readable storage medium
US11928497B2 (en) Implementing erasure coding with persistent memory
JP6556980B2 (en) Storage control device, storage control method, and storage control program
JP7277754B2 (en) Storage systems, storage controllers and programs
JP2012174037A (en) Disk array device and control method thereof
US11586360B2 (en) Hybrid memory mirroring using storage class memory
US10366724B2 (en) Storage control device, storage system and method of controlling a storage device
JP2019159416A (en) Data management device, file system, data management method, and program