TWI891531B - Storage device management method and data storage system - Google Patents
Storage device management method and data storage systemInfo
- Publication number
- TWI891531B TWI891531B TW113138400A TW113138400A TWI891531B TW I891531 B TWI891531 B TW I891531B TW 113138400 A TW113138400 A TW 113138400A TW 113138400 A TW113138400 A TW 113138400A TW I891531 B TWI891531 B TW I891531B
- Authority
- TW
- Taiwan
- Prior art keywords
- physical storage
- management policy
- storage devices
- storage device
- target
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本發明是有關於一種儲存裝置管理方法與資料儲存系統。The present invention relates to a storage device management method and a data storage system.
為了提高儲存裝置的容量及/或存取速度,多個存儲裝置可以被組合成為獨立硬碟冗餘陣列群組(Redundant Array of Independent Disks group, RAID group)。屬於同一個獨立硬碟冗餘陣列群組的多個存儲裝置可以被平行存取(例如同步寫入資料或同步讀取資料)。但是,實際情況是,在將多個存儲裝置組成獨立硬碟冗餘陣列群組並使用一段時間後,同一個獨立硬碟冗餘陣列群組中的不同的存儲裝置可能存在使用程度不均的情況。例如,同一個獨立硬碟冗餘陣列群組中的部分存儲裝置可能會被過度頻繁地存取,從而導致該些存儲裝置(甚至整個獨立硬碟冗餘陣列群組)的使用壽命嚴重下降。但是,若不使用獨立硬碟冗餘陣列群組來管理此些儲存裝置,則又會導致資料存取效能下降。To increase storage device capacity and/or access speed, multiple storage devices can be combined into a Redundant Array of Independent Disks (RAID group). Multiple storage devices in the same RAID group can be accessed in parallel (e.g., data can be written or read simultaneously). However, in reality, after using multiple storage devices in a RAID group for a period of time, different storage devices in the same RAID group may experience uneven usage. For example, some storage devices in the same independent redundancy array group may be accessed too frequently, which can severely reduce the service life of these storage devices (or even the entire independent redundancy array group). However, if independent redundancy array groups are not used to manage these storage devices, data access performance will also be reduced.
有鑑於此,本發明提供一種儲存裝置管理方法與資料儲存系統,可改善上述問題。In view of this, the present invention provides a storage device management method and a data storage system to improve the above problems.
本發明的實施例提供一種儲存裝置管理方法,其用於主機系統,其中所述主機系統連接至多個實體儲存裝置,且所述儲存裝置管理方法包括:偵測存取事件;根據所述存取事件的類型,從多個候選管理策略中決定目標管理策略;若所述目標管理策略為所述多個候選管理策略中的第一管理策略,根據所述存取事件,對所述多個實體儲存裝置中的至少兩個實體儲存裝置執行平行存取操作;以及若所述目標管理策略為所述多個候選管理策略中的第二管理策略,根據所述存取事件,對所述多個實體儲存裝置中的單一實體儲存裝置執行單獨存取操作。An embodiment of the present invention provides a storage device management method for a host system, wherein the host system is connected to multiple physical storage devices, and the storage device management method includes: detecting an access event; determining a target management policy from multiple candidate management policies based on the type of the access event; if the target management policy is the first management policy among the multiple candidate management policies, performing parallel access operations on at least two of the multiple physical storage devices based on the access event; and if the target management policy is the second management policy among the multiple candidate management policies, performing a separate access operation on a single physical storage device among the multiple physical storage devices based on the access event.
本發明的實施例另提供一種資料儲存系統,其包括主機系統與多個實體儲存裝置。所述多個實體儲存裝置連接至所述主機系統。所述主機系統用以:偵測存取事件;根據所述存取事件的類型,從多個候選管理策略中決定目標管理策略;若所述目標管理策略為所述多個候選管理策略中的第一管理策略,根據所述存取事件,對所述多個實體儲存裝置中的至少兩個實體儲存裝置執行平行存取操作;以及若所述目標管理策略為所述多個候選管理策略中的第二管理策略,根據所述存取事件,對所述多個實體儲存裝置中的單一實體儲存裝置執行單獨存取操作。An embodiment of the present invention further provides a data storage system comprising a host system and a plurality of physical storage devices. The plurality of physical storage devices are connected to the host system. The host system is configured to: detect an access event; determine a target management policy from a plurality of candidate management policies based on the type of the access event; if the target management policy is the first management policy among the plurality of candidate management policies, perform parallel access operations on at least two of the plurality of physical storage devices based on the access event; and if the target management policy is the second management policy among the plurality of candidate management policies, perform a separate access operation on a single physical storage device among the plurality of physical storage devices based on the access event.
基於上述,在偵測到存取事件後,根據所述存取事件的類型,目標管理策略可從多個候選管理策略中被決定。接著,若目標管理策略為所述多個候選管理策略中的第一管理策略,則根據所述存取事件,平行存取操作可對多個實體儲存裝置中的至少兩個實體儲存裝置執行,以提高資料存取效能。然而,若目標管理策略為所述多個候選管理策略中的第二管理策略,則根據所述存取事件,單獨存取操作可對所述多個實體儲存裝置中的單一實體儲存裝置執行,以調節實體儲存裝置彼此間的使用程度差異。藉此,可在盡可能提升資料存取效能的前提下,有效維持甚至延長實體儲存裝置的使用壽命。Based on the above, after an access event is detected, a target management policy can be determined from a plurality of candidate management policies based on the type of the access event. Then, if the target management policy is the first management policy among the plurality of candidate management policies, then based on the access event, a parallel access operation can be performed on at least two of the plurality of physical storage devices to improve data access performance. However, if the target management policy is the second management policy among the plurality of candidate management policies, then based on the access event, a single access operation can be performed on a single physical storage device among the plurality of physical storage devices to adjust for differences in usage levels among the physical storage devices. In this way, the service life of the physical storage device can be effectively maintained or even extended while maximizing data access performance.
圖1是根據本發明的實施例所繪示的資料儲存系統的示意圖。請參照圖1,資料儲存系統10包括主機系統11與實體儲存裝置12(1)~12(n)。主機系統11可將資料儲存至實體儲存裝置12(1)~12(n)的至少其中之一,或從實體儲存裝置12(1)~12(n)的至少其中之一讀取資料。例如,主機系統11為可實質地與實體儲存裝置12(1)~12(n)配合以儲存資料的任意系統,例如,智慧型手機、平板電腦、筆記型電腦、桌上型電腦、工業用電腦、伺服器、遊戲機或設置於特定載體(例如車輛、飛機或船艦等)的電腦系統等。此外,實體儲存裝置12(1)~12(n)可包括隨身碟、記憶卡、固態硬碟(Solid State Drive, SSD)、安全數位(Secure Digital, SD)卡、小型快閃(Compact Flash, CF)卡或嵌入式儲存裝置等各式非揮發性實體儲存裝置。在一實施例中,實體儲存裝置12(1)~12(n)可分別可插拔式地連接至主機系統11。此外,實體儲存裝置12(1)~12(n)的總數可為任意大於1的數量,本發明不加以限制。FIG1 is a schematic diagram of a data storage system according to an embodiment of the present invention. Referring to FIG1 , the data storage system 10 includes a host system 11 and physical storage devices 12(1) to 12(n). The host system 11 can store data in at least one of the physical storage devices 12(1) to 12(n), or read data from at least one of the physical storage devices 12(1) to 12(n). For example, the host system 11 is any system that can actually cooperate with the physical storage devices 12(1)-12(n) to store data, such as a smart phone, a tablet computer, a laptop computer, a desktop computer, an industrial computer, a server, a game console, or a computer system installed in a specific carrier (such as a vehicle, an airplane, or a ship). In addition, the physical storage devices 12(1)-12(n) can include various non-volatile physical storage devices such as a flash drive, a memory card, a solid state drive (SSD), a secure digital (SD) card, a compact flash (CF) card, or an embedded storage device. In one embodiment, the physical storage devices 12(1)-12(n) can be pluggably connected to the host system 11. In addition, the total number of physical storage devices 12(1)-12(n) can be any number greater than 1, and the present invention is not limited thereto.
主機系統11包括處理器111與連接界面112。處理器111可用以控制主機系統11的整體或部分運作。例如,處理器111可包括中央處理單元(Central Processing Unit, CPU)、圖形處理單元(Graphic Processing Unit, GPU)、神經網路處理單元(Neural network Processing Unit, NPU)或是其他可程式化之一般用途或特殊用途的微處理器、數位訊號處理器(Digital Signal Processor, DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits, ASIC)、可程式化邏輯裝置(Programmable Logic Device, PLD)或其他類似裝置或這些裝置的組合。此外,處理器111的數量可為一或多個,本發明不加以限制。須注意的是,在以下實施例中,對處理器111的操作說明可等同於對主機系統11的操作說明。The host system 11 includes a processor 111 and a connection interface 112. The processor 111 can be used to control the operation of the host system 11 in whole or in part. For example, the processor 111 may include a central processing unit (CPU), a graphics processing unit (GPU), a neural network processing unit (NPU), or other programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or other similar devices or combinations of these devices. In addition, the number of processors 111 can be one or more, and the present invention is not limited thereto. It should be noted that in the following embodiments, the operating description of the processor 111 may be equivalent to the operating description of the host system 11.
連接界面112連接至處理器111。連接界面112可用以將訊號(包含資料或指令)傳輸至實體儲存裝置12(1)~12(n)的至少其中之一或從實體儲存裝置12(1)~12(n)的至少其中之一接收訊號。例如,連接界面112可符合序列先進附件(Serial Advanced Technology Attachment, SATA)、並列先進附件(Parallel Advanced Technology Attachment, PATA)、高速周邊零件互連(Peripheral Component Interconnect Express, PCI Express)及/或通用序列匯流排(Universal Serial Bus, USB)等一或多種連接界面標準。須注意的是,連接界面112的數量可為一或多個,本發明不加以限制。The connection interface 112 is connected to the processor 111. The connection interface 112 can be used to transmit signals (including data or instructions) to at least one of the physical storage devices 12(1)-12(n) or receive signals from at least one of the physical storage devices 12(1)-12(n). For example, the connection interface 112 can comply with one or more connection interface standards such as Serial Advanced Technology Attachment (SATA), Parallel Advanced Technology Attachment (PATA), Peripheral Component Interconnect Express (PCI Express), and/or Universal Serial Bus (USB). It should be noted that the number of the connection interface 112 can be one or more, and the present invention is not limited thereto.
在一實施例中,主機系統11還包含任何實務上所需的硬體裝置,例如電源管理電路、網路界面卡、鍵盤(或觸控板)、螢幕、麥克風及/或揚聲器等等。本發明不限制主機系統11所可額外包含的硬體裝置的數量與類型。In one embodiment, the host system 11 further includes any practically required hardware devices, such as a power management circuit, a network interface card, a keyboard (or touchpad), a screen, a microphone and/or a speaker, etc. The present invention does not limit the number and type of additional hardware devices that the host system 11 may include.
實體儲存裝置12(1)~12(n)分別包括一或多個記憶體模組。每一個記憶體模組用以儲存資料。例如,每一個記憶體模組可包括一或多個記憶胞陣列。記憶胞陣列中的記憶胞可用以非揮發性地儲存資料。例如,每一個記憶體模組可包括單階胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞可儲存1個位元的快閃記憶體模組)、二階胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞可儲存2個位元的快閃記憶體模組)、三階胞(Triple Level Cell, TLC)NAND型快閃記憶體模組(即,一個記憶胞可儲存3個位元的快閃記憶體模組)、四階胞(Quad Level Cell, QLC)NAND型快閃記憶體模組(即,一個記憶胞可儲存4個位元的快閃記憶體模組)、其他類型的快閃記憶體模組或具有相同或相似特性的非揮發性記憶體模組。The physical storage devices 12(1)-12(n) each include one or more memory modules. Each memory module is used to store data. For example, each memory module may include one or more memory cell arrays. The memory cells in the memory cell array may be used to store data in a non-volatile manner. For example, each memory module may include a single-level cell (SLC) NAND flash memory module (i.e., a flash memory module in which one memory cell can store one bit), a multi-level cell (MLC) NAND flash memory module (i.e., a flash memory module in which one memory cell can store two bits), a triple-level cell (TLC) NAND flash memory module (i.e., a flash memory module in which one memory cell can store three bits), a quad-level cell (MLC) NAND flash memory module (i.e., a flash memory module in which one memory cell can store three bits), or a quad-level cell (MLC) NAND flash memory module. A QLC (Quadrature Least Connection) NAND-type flash memory module (i.e., a flash memory module in which one memory cell can store 4 bits), other types of flash memory modules, or non-volatile memory modules having the same or similar characteristics.
在一實施例中,實體儲存裝置12(1)~12(n)分別包括一或多個記憶體控制器及一或多個連接界面。例如,實體儲存裝置12(i)中的記憶體控制器用以控制及/或管理實體儲存裝置12(i)中的記憶體模組。實體儲存裝置12(i)中的連接界面用以與主機系統11(例如連接界面112)通訊(例如交換資料及/或訊號)。此外,實體儲存裝置12(i)中的記憶體控制器可根據來自主機系統11的指令(例如寫入指令、讀取指令或其他指令)來存取實體儲存裝置12(i)中的記憶體模組。In one embodiment, the physical storage devices 12(1) to 12(n) each include one or more memory controllers and one or more connection interfaces. For example, the memory controller in the physical storage device 12(i) is used to control and/or manage the memory modules in the physical storage device 12(i). The connection interface in the physical storage device 12(i) is used to communicate (e.g., exchange data and/or signals) with the host system 11 (e.g., connection interface 112). In addition, the memory controller in the physical storage device 12(i) can access the memory modules in the physical storage device 12(i) based on instructions (e.g., write instructions, read instructions, or other instructions) from the host system 11.
在一實施例中,處理器111可偵測一個待執行的存取事件。例如,所述存取事件用於對屬於至少一邏輯單元的資料進行更新、讀取或刪除。例如,所述邏輯單元可包括邏輯區塊地址(Logical Block Address, LBA)或其他的邏輯管理單位。In one embodiment, the processor 111 may detect a pending access event. For example, the access event is used to update, read, or delete data belonging to at least one logical unit. For example, the logical unit may include a logical block address (LBA) or other logical management unit.
在一實施例中,所述存取事件可用以將屬於某一邏輯單元(亦稱為第一邏輯單元)的數據從某一數據(亦稱為第一數據)更新為另一數據(亦稱為第二數據)。在一實施例中,所述存取事件可用以讀取屬於某一邏輯單元(亦稱為第二邏輯單元)的數據。在一實施例中,所述存取事件可用以刪除屬於某一邏輯單元(亦稱為第三邏輯單元)的數據。In one embodiment, the access event may be used to update data belonging to a certain logic unit (also referred to as the first logic unit) from certain data (also referred to as the first data) to other data (also referred to as the second data). In one embodiment, the access event may be used to read data belonging to a certain logic unit (also referred to as the second logic unit). In one embodiment, the access event may be used to delete data belonging to a certain logic unit (also referred to as the third logic unit).
在一實施例中,處理器111可偵測所述存取事件的類型。然後,處理器111可根據所述存取事件的類型,從多個管理策略(亦稱為候選管理策略)中決定(例如選擇)一個管理策略(亦稱為目標管理策略)。每一個候選管理策略包括對應於實體儲存裝置12(1)~12(n)的至少其中之一的管理規則及/或存取規則。處理器111可根據所決定(例如選定)的管理策略(即目標管理策略)來管理及/或存取實體儲存裝置12(1)~12(n)的至少其中之一。In one embodiment, the processor 111 may detect the type of the access event. Then, the processor 111 may determine (e.g., select) a management policy (also referred to as a target management policy) from a plurality of management policies (also referred to as candidate management policies) based on the type of the access event. Each candidate management policy includes management rules and/or access rules corresponding to at least one of the physical storage devices 12(1)-12(n). The processor 111 may manage and/or access at least one of the physical storage devices 12(1)-12(n) based on the determined (e.g., selected) management policy (i.e., the target management policy).
在一實施例中,根據所述存取事件的類型,處理器111可將所述多個候選管理策略中的某一管理策略(亦稱為第一管理策略)決定為目標管理策略。在一實施例中,若目標管理策略為第一管理策略,則根據所述存取事件,處理器111可對實體儲存裝置12(1)~12(n)中的至少兩個實體儲存裝置執行平行存取操作。例如,在所述平行存取操作中,處理器111可基於目標管理策略(即第一管理策略),指示實體儲存裝置12(1)~12(n)中的至少兩個實體儲存裝置執行平行的資料寫入操作,以儲存所述存取事件所指示更新(例如儲存)的數據。In one embodiment, based on the type of the access event, the processor 111 may determine a management policy (also referred to as a first management policy) among the multiple candidate management policies as a target management policy. In one embodiment, if the target management policy is the first management policy, then based on the access event, the processor 111 may perform a parallel access operation on at least two of the physical storage devices 12(1) to 12(n). For example, in the parallel access operation, the processor 111 may, based on the target management policy (i.e., the first management policy), instruct at least two of the physical storage devices 12(1) to 12(n) to perform a parallel data write operation to store the data updated (e.g., stored) as indicated by the access event.
在一實施例中,根據所述存取事件的類型,處理器111可將所述多個候選管理策略中的另一管理策略(亦稱為第二管理策略)決定為目標管理策略。第一管理策略不同於第二管理策略。在一實施例中,若目標管理策略為第二管理策略,則根據所述存取事件,處理器111可對實體儲存裝置12(1)~12(n)中的單一實體儲存裝置執行單獨存取操作(亦稱為非平行存取操作)。例如,在所述單獨存取操作中,處理器111可基於目標管理策略(即第二管理策略),指示實體儲存裝置12(1)~12(n)中的單一個實體儲存裝置執行單獨(或獨立)的資料寫入操作,以儲存所述存取事件所指示更新(例如儲存)的數據。In one embodiment, based on the type of the access event, the processor 111 may determine another management policy (also referred to as a second management policy) from the plurality of candidate management policies as a target management policy. The first management policy is different from the second management policy. In one embodiment, if the target management policy is the second management policy, then based on the access event, the processor 111 may perform a single access operation (also referred to as a non-parallel access operation) on a single physical storage device among the physical storage devices 12(1)-12(n). For example, in the single access operation, the processor 111 may, based on the target management policy (i.e., the second management policy), instruct a single physical storage device among the physical storage devices 12(1)~12(n) to perform a single (or independent) data write operation to store the data updated (e.g., stored) indicated by the access event.
在一實施例中,所述存取事件的類型可反映所述存取事件為循序寫入(sequential write)事件或隨機寫入(random write)事件。所述循序寫入事件用以對多個連續的邏輯單元進行數據更新。相較於循序寫入事件,所述隨機寫入事件則用以對不連續的至少一邏輯單元進行數據更新。In one embodiment, the type of the access event may reflect whether the access event is a sequential write event or a random write event. The sequential write event is used to update data in a plurality of consecutive logic units. In contrast, the random write event is used to update data in at least one non-consecutive logic unit.
在一實施例中,一個循序寫入事件所指示更新的數據量(亦稱為第一數據量)必然大於一個隨機寫入事件所指示更新的數據量(亦稱為第二數據量)。例如,第一數據量可為16KB,且第二數據量可為4KB。此外,第一數據量與第二數據量皆可根據實務需求調整,本發明不加以限制。In one embodiment, the amount of data updated indicated by a sequential write event (also referred to as the first data amount) is necessarily greater than the amount of data updated indicated by a random write event (also referred to as the second data amount). For example, the first data amount may be 16KB, and the second data amount may be 4KB. Furthermore, both the first data amount and the second data amount can be adjusted based on practical needs and are not limited by the present invention.
在一實施例中,處理器111可將所述存取事件所指示更新的數據量與一個臨界值進行比較。然後,處理器111可根據比較結果判斷所述存取事件的類型。例如,若比較結果反映出所述存取事件所指示更新的數據量大於或等於此臨界值,處理器111可判定所述存取事件屬於循序寫入事件。然而,若比較結果反映出所述存取事件所指示更新的數據量小於此臨界值,則處理器111可判定所述存取事件屬於隨機寫入事件。In one embodiment, processor 111 may compare the amount of data updated indicated by the access event with a threshold value. Processor 111 may then determine the type of access event based on the comparison result. For example, if the comparison result indicates that the amount of data updated indicated by the access event is greater than or equal to the threshold value, processor 111 may determine that the access event is a sequential write event. However, if the comparison result indicates that the amount of data updated indicated by the access event is less than the threshold value, processor 111 may determine that the access event is a random write event.
在一實施例中,若所述存取事件為循序寫入事件,處理器111可將所述第一管理策略決定為目標管理策略。然而,若所述存取事件為隨機寫入事件,處理器111可將所述第二管理策略決定為目標管理策略。在一實施例中,處理器111亦可根據所述存取事件的類型為特定類型,將所述多個候選管理策略中的其他管理策略決定為目標管理策略,並基於目標管理策略來管理或存取實體儲存裝置12(1)~12(n)的至少其中之一,本發明不加以限制。In one embodiment, if the access event is a sequential write event, the processor 111 may determine the first management policy as the target management policy. However, if the access event is a random write event, the processor 111 may determine the second management policy as the target management policy. In one embodiment, the processor 111 may also determine another management policy from the plurality of candidate management policies as the target management policy based on whether the type of the access event is a specific type, and manage or access at least one of the physical storage devices 12(1)-12(n) based on the target management policy, but the present invention is not limited thereto.
在一實施例中,若目標管理策略為第一管理策略,處理器111可將所述至少兩個實體儲存裝置綁定為同一個獨立硬碟冗餘陣列群組(RAID group)。爾後,處理器111可根據所述存取事件,對屬於此獨立硬碟冗餘陣列群組的所述至少兩個實體儲存裝置執行平行存取操作。In one embodiment, if the target management policy is the first management policy, the processor 111 may bind the at least two physical storage devices into the same independent RAID group. The processor 111 may then perform parallel access operations on the at least two physical storage devices belonging to the independent RAID group based on the access event.
在一實施例中,若目標管理策略為第二管理策略,處理器111可解除先前對實體儲存裝置12(1)~12(n)中的至少兩個實體儲存裝置的綁定。爾後,處理器111可根據所述存取事件,對解除綁定的單一實體儲存裝置執行單獨存取操作。In one embodiment, if the target management policy is the second management policy, the processor 111 may release the binding previously applied to at least two of the physical storage devices 12(1)-12(n). Thereafter, the processor 111 may perform a separate access operation on the released single physical storage device according to the access event.
在一實施例中,所述單一實體儲存裝置為實體儲存裝置12(1)~12(n)中使用程度最低或相對較低的實體儲存裝置。在一實施例中,所述單一實體儲存裝置為實體儲存裝置12(1)~12(n)中使用程度低於預設使用程度的實體儲存裝置。In one embodiment, the single physical storage device is the physical storage device with the lowest or relatively low usage among the physical storage devices 12(1)-12(n). In one embodiment, the single physical storage device is the physical storage device with a usage level lower than a preset usage level among the physical storage devices 12(1)-12(n).
在一實施例中,處理器111可從實體儲存裝置12(1)~12(n)取得使用程度資訊。所述使用程度資訊可反映實體儲存裝置12(1)~12(n)各別的使用程度。例如,從實體儲存裝置12(i)取得的使用程度資訊,可反映實體儲存裝置12(i)的使用程度。然後,處理器111可根據所述使用程度資訊,將實體儲存裝置12(1)~12(n)的其中之一設定為所述單一實體儲存裝置。爾後,處理器111可根據所述存取事件,對所述單一實體儲存裝置執行所述單獨存取操作。In one embodiment, the processor 111 may obtain usage information from the physical storage devices 12(1) to 12(n). The usage information may reflect the usage levels of the physical storage devices 12(1) to 12(n). For example, the usage information obtained from the physical storage device 12(i) may reflect the usage level of the physical storage device 12(i). Then, the processor 111 may set one of the physical storage devices 12(1) to 12(n) as the single physical storage device based on the usage information. Thereafter, the processor 111 may perform the single access operation on the single physical storage device based on the access event.
在一實施例中,所述使用程度資訊包括計數資訊。所述計數資訊可反映實體儲存裝置12(1)~12(n)各別被執行目標操作的次數。例如,從實體儲存裝置12(i)取得的使用程度資訊,可反映實體儲存裝置12(i)被執行目標操作的次數。例如,所述目標操作包括讀取操作、寫入操作、抹除操作、解碼操作及重讀操作的至少其中之一。In one embodiment, the usage information includes count information. The count information may reflect the number of times a target operation has been performed on each of the physical storage devices 12(1)-12(n). For example, the usage information obtained from the physical storage device 12(i) may reflect the number of times a target operation has been performed on the physical storage device 12(i). For example, the target operation includes at least one of a read operation, a write operation, an erase operation, a decode operation, and a reread operation.
以實體儲存裝置12(i)為例,針對實體儲存裝置12(i)的讀取操作用以從實體儲存裝置12(i)讀取資料。針對實體儲存裝置12(i)的寫入操作用以將資料儲存至實體儲存裝置12(i)中。針對實體儲存裝置12(i)的抹除操作用以抹除實體儲存裝置12(i)中的資料。針對實體儲存裝置12(i)的解碼操作用以解碼從實體儲存裝置12(i)讀取的資料。針對實體儲存裝置12(i)的重讀操作用以在發生解碼失敗時,使用調整後的讀取電壓重新從實體儲存裝置12(i)讀取資料,以嘗試減少所讀取的資料中的錯誤位元。Taking physical storage device 12(i) as an example, a read operation on physical storage device 12(i) is used to read data from physical storage device 12(i). A write operation on physical storage device 12(i) is used to store data in physical storage device 12(i). An erase operation on physical storage device 12(i) is used to erase data in physical storage device 12(i). A decode operation on physical storage device 12(i) is used to decode data read from physical storage device 12(i). The reread operation for the physical storage device 12(i) is used to reread data from the physical storage device 12(i) using an adjusted read voltage when a decoding failure occurs, in an attempt to reduce error bits in the read data.
在一實施例中,處理器111可根據從實體儲存裝置12(1)~12(n)取得使用程度資訊,評估實體儲存裝置12(1)~12(n)各別的使用程度。例如,若從實體儲存裝置12(j)取得的所述計數資訊高於從實體儲存裝置12(k)取得的所述計數資訊,處理器111可判定實體儲存裝置12(j)的使用程度高於實體儲存裝置12(k)的使用程度。In one embodiment, the processor 111 may evaluate the usage level of each of the physical storage devices 12(1)-12(n) based on the usage level information obtained from the physical storage devices 12(1)-12(n). For example, if the count information obtained from the physical storage device 12(j) is higher than the count information obtained from the physical storage device 12(k), the processor 111 may determine that the usage level of the physical storage device 12(j) is higher than the usage level of the physical storage device 12(k).
在一實施例中,處理器111可對從實體儲存裝置12(1)~12(n)分別取得的使用程度資訊進行比較。然後,處理器111可根據比較結果,將實體儲存裝置12(1)~12(n)中使用程度最低或相對較低的實體儲存裝置設定為所述單一實體儲存裝置。In one embodiment, the processor 111 may compare the usage information obtained from the physical storage devices 12(1)-12(n). Then, based on the comparison result, the processor 111 may set the physical storage device with the lowest or relatively low usage among the physical storage devices 12(1)-12(n) as the single physical storage device.
在一實施例中,處理器111可將所選定的單一實體儲存裝置(即實體儲存裝置12(1)~12(n)中使用程度最低或相對較低的實體儲存裝置)設定為主要(primary)儲存裝置,並將實體儲存裝置12(1)~12(n)中的其餘實體儲存裝置設定為次要(secondary)儲存裝置。In one embodiment, the processor 111 may set a selected single physical storage device (i.e., the least used or relatively less used physical storage device among the physical storage devices 12(1)~12(n)) as a primary storage device, and set the remaining physical storage devices among the physical storage devices 12(1)~12(n) as secondary storage devices.
在一實施例中,根據循序寫入事件,處理器111可對主要儲存裝置及次要儲存裝置執行所述同步存取操作,以提高資料存取效能。此外,在一實施例中,根據隨機寫入事件,處理器111可對主要儲存裝置執行所述單獨存取操作,以透過增加對主要儲存裝置(即使用程度最低或相對較低的實體儲存裝置)的使用,來調節實體儲存裝置12(1)~12(n)彼此間的使用程度差異。In one embodiment, the processor 111 may perform the synchronous access operation on the primary storage device and the secondary storage device in response to a sequential write event to improve data access performance. In addition, in one embodiment, the processor 111 may perform the individual access operation on the primary storage device in response to a random write event to adjust for differences in usage among the physical storage devices 12(1)-12(n) by increasing usage of the primary storage device (i.e., the physical storage device with the lowest or relatively low usage).
圖2是根據本發明的實施例所繪示的基於第一管理策略存取至少兩個實體儲存裝置的示意圖。請參照圖2,在一實施例中,假設所偵測到的存取事件為循序寫入事件201。根據循序寫入事件201,處理器111可從多個候選管理策略中選擇第一管理策略作為目標管理策略。然後,處理器111可基於目標管理策略(即第一管理策略),將實體儲存裝置21(1)~21(m)綁定為獨立硬碟冗餘陣列(RAID)群組21。例如,實體儲存裝置21(1)~21(m)可為圖1的實體儲存裝置12(1)~12(n)中的至少兩個實體儲存裝置。FIG2 is a schematic diagram illustrating accessing at least two physical storage devices based on a first management policy according to an embodiment of the present invention. Referring to FIG2 , in one embodiment, it is assumed that the detected access event is a sequential write event 201. Based on the sequential write event 201, the processor 111 may select a first management policy from a plurality of candidate management policies as a target management policy. Then, the processor 111 may bind the physical storage devices 21(1) to 21(m) into a redundant array of independent hard disks (RAID) group 21 based on the target management policy (i.e., the first management policy). For example, the physical storage devices 21(1) to 21(m) may be at least two of the physical storage devices 12(1) to 12(n) of FIG1 .
接著,處理器111可根據循序寫入事件201,對綁定後的實體儲存裝置21(1)~21(m)執行平行存取操作。例如,在此平行存取操作中,處理器111可透過循序寫入的方式,將循序寫入事件201所指示更新(例如儲存)的資料分散儲存至實體儲存裝置21(1)~21(m)中。藉此,可有效提高資料儲存系統10的資料寫入效能。Then, the processor 111 can perform a parallel access operation on the bound physical storage devices 21(1)-21(m) according to the sequential write event 201. For example, in this parallel access operation, the processor 111 can distribute the data updated (e.g., stored) indicated by the sequential write event 201 to the physical storage devices 21(1)-21(m) through sequential write. In this way, the data write performance of the data storage system 10 can be effectively improved.
圖3是根據本發明的實施例所繪示的基於第二管理策略存取單一實體儲存裝置的示意圖。請參照圖3,在一實施例中,假設所偵測到的存取事件為隨機寫入事件301。根據隨機寫入事件301,處理器111可從多個候選管理策略中選擇第二管理策略作為目標管理策略。然後,處理器111可基於目標管理策略(即第二管理策略),解除原先針對部分實體儲存裝置的綁定。然後,處理器111可從解除綁定的實體儲存裝置中選擇使用程度最低或相對較低者作為實體儲存裝置31。例如,處理器111可對圖2中原先被綁定為獨立硬碟冗餘陣列群組21的實體儲存裝置21(1)~21(m)進行解綁定。然後,處理器111可從實體儲存裝置21(1)~21(m)中選擇使用程度最低或相對較低者作為實體儲存裝置31。FIG3 is a schematic diagram illustrating accessing a single physical storage device based on a second management policy according to an embodiment of the present invention. Referring to FIG3 , in one embodiment, it is assumed that the detected access event is a random write event 301. Based on the random write event 301, the processor 111 may select the second management policy from a plurality of candidate management policies as the target management policy. The processor 111 may then release the bindings previously assigned to some physical storage devices based on the target management policy (i.e., the second management policy). The processor 111 may then select the least utilized or relatively least utilized physical storage device from the released physical storage devices as the physical storage device 31. For example, the processor 111 may unbind the physical storage devices 21(1)-21(m) that were originally bound to the independent hard disk redundant array group 21 in FIG2 . Then, the processor 111 may select the least used or relatively less used physical storage device 31 from the physical storage devices 21(1)-21(m).
接著,處理器111可根據隨機寫入事件301,對實體儲存裝置31執行單獨存取操作。例如,在此單獨存取操作中,處理器111可透過隨機寫入的方式,將隨機寫入事件301所指示更新(例如儲存)的資料單獨儲存至實體儲存裝置31中。在一實施例中,透過在偵測到隨機寫入事件301時單獨對使用程度最低或相對較低的實體儲存裝置31執行隨機寫入,可達到對實體儲存裝置12(1)~12(n)執行損耗平衡的有益技術效果。藉此,可在不影響資料存取效能的前提下,有效維持甚至延長實體儲存裝置12(1)~12(n)整體的使用壽命。Then, the processor 111 may perform a separate access operation on the physical storage device 31 according to the random write event 301. For example, in this separate access operation, the processor 111 may store the data updated (e.g., stored) indicated by the random write event 301 separately in the physical storage device 31 through random write. In one embodiment, by performing a random write on the least used or relatively low used physical storage device 31 when the random write event 301 is detected, a beneficial technical effect of performing wear leveling on the physical storage devices 12(1)-12(n) may be achieved. In this way, the overall service life of the physical storage devices 12(1)~12(n) can be effectively maintained or even extended without affecting the data access performance.
圖4是根據本發明的實施例所繪示的儲存裝置管理方法的流程圖。請參照圖4,在步驟S401中,偵測存取事件。在步驟S402中,根據存取事件的類型,從多個候選管理策略中決定目標管理策略。若目標管理策略為所述多個候選管理策略中的第一管理策略,在步驟S403中,根據存取事件,對所述多個實體儲存裝置中的至少兩個實體儲存裝置執行平行存取操作。此外,若目標管理策略為所述多個候選管理策略中的第二管理策略,在步驟S404中,根據存取事件,對所述多個實體儲存裝置中的單一實體儲存裝置執行單獨存取操作。FIG4 is a flow chart of a storage device management method according to an embodiment of the present invention. Referring to FIG4 , in step S401, an access event is detected. In step S402, a target management policy is determined from a plurality of candidate management policies based on the type of the access event. If the target management policy is the first management policy among the plurality of candidate management policies, in step S403, based on the access event, parallel access operations are performed on at least two of the plurality of physical storage devices. In addition, if the target management policy is the second management policy among the plurality of candidate management policies, in step S404, based on the access event, a separate access operation is performed on a single physical storage device among the plurality of physical storage devices.
圖5是根據本發明的實施例所繪示的儲存裝置管理方法的流程圖。請參照圖5,在步驟S501中,偵測存取事件。在步驟S502中,判斷所述存取事件是否為循序寫入事件。若所述存取事件為循序寫入事件,在步驟S503中,將多個候選管理策略中的第一管理策略決定為目標管理策略。在步驟S504中,將所述多個實體儲存裝置中的至少兩個實體儲存裝置綁定為同一個獨立硬碟冗餘陣列群組。在步驟S505中,根據所述存取事件,對所述至少兩個實體儲存裝置執行平行存取操作。FIG5 is a flow chart of a storage device management method according to an embodiment of the present invention. Referring to FIG5 , in step S501, an access event is detected. In step S502, it is determined whether the access event is a sequential write event. If the access event is a sequential write event, in step S503, a first management strategy among multiple candidate management strategies is determined as a target management strategy. In step S504, at least two of the multiple physical storage devices are bound to the same independent hard disk redundant array group. In step S505, based on the access event, a parallel access operation is performed on the at least two physical storage devices.
另一方面,若所述存取事件非為循序寫入事件,則在步驟S506中,將所述多個候選管理策略中的第二管理策略決定為目標管理策略。在步驟S507中,對所述多個實體儲存裝置中的至少兩個實體儲存裝置解除綁定(例如從同一個獨立硬碟冗餘陣列群組中解除綁定)。在步驟S508中,根據所述存取事件,對解除綁定後的單一實體儲存裝置執行單獨存取操作。On the other hand, if the access event is not a sequential write event, then in step S506, a second management policy from the multiple candidate management policies is determined as the target management policy. In step S507, at least two of the multiple physical storage devices are unbound (e.g., unbound from the same independent hard drive redundant array group). In step S508, a single access operation is performed on the unbound single physical storage device based on the access event.
然而,圖4與圖5中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖4與圖5中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖4與圖5的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。However, the steps in Figures 4 and 5 have been described in detail above and will not be repeated here. It is worth noting that the steps in Figures 4 and 5 can be implemented as multiple code blocks or circuits, and the present invention is not limited thereto. Furthermore, the methods in Figures 4 and 5 can be used in conjunction with the above exemplary embodiments or independently, and the present invention is not limited thereto.
綜上所述,本發明的實施例提出的儲存裝置管理方法與資料儲存系統,可根據待執行的存取事件的類型(例如為循序寫入事件或隨機寫入事件),決定使用何種方式來管理並存取多個實體儲存裝置的至少其中之一。例如,針對循序寫入事件,可透過對多個實體儲存裝置中的至少兩個實體儲存裝置執行平行存取操作,以提高資料存取效能。此外,針對隨機寫入事件,則可透過對所述多個實體儲存裝置中的單一實體儲存裝置執行單獨存取操作,以調節實體儲存裝置彼此間的使用程度差異。藉此,可在盡可能提升資料存取效能的前提下,有效維持甚至延長多個實體儲存裝置政體的使用壽命。In summary, the storage device management method and data storage system proposed in the embodiments of the present invention can determine how to manage and access at least one of multiple physical storage devices based on the type of access event to be executed (e.g., a sequential write event or a random write event). For example, for sequential write events, parallel access operations can be performed on at least two of the multiple physical storage devices to improve data access performance. Furthermore, for random write events, individual access operations can be performed on a single physical storage device among the multiple physical storage devices to accommodate differences in usage among the physical storage devices. This can effectively maintain or even extend the service life of multiple physical storage device regimes while maximizing data access performance.
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed above by way of embodiments, they are not intended to limit the present invention. Any person having ordinary skill in the art may make slight modifications and improvements without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention shall be determined by the scope of the attached patent application.
10:資料儲存系統 11:主機系統 111:處理器 112:連接界面 12(1)~12(n),21(1)~21(m),31:實體儲存裝置 201:循序寫入事件 21:獨立硬碟冗餘陣列群組 301:隨機寫入事件 S401~S404,S501~S508:步驟10: Data storage system 11: Host system 111: Processor 112: Connection interface 12(1)~12(n), 21(1)~21(m), 31: Physical storage device 201: Sequential write event 21: Independent hard drive redundant array group 301: Random write event S401~S404, S501~S508: Steps
圖1是根據本發明的實施例所繪示的資料儲存系統的示意圖。 圖2是根據本發明的實施例所繪示的基於第一管理策略存取至少兩個實體儲存裝置的示意圖。 圖3是根據本發明的實施例所繪示的基於第二管理策略存取單一實體儲存裝置的示意圖。 圖4是根據本發明的實施例所繪示的儲存裝置管理方法的流程圖。 圖5是根據本發明的實施例所繪示的儲存裝置管理方法的流程圖。 Figure 1 is a schematic diagram of a data storage system according to an embodiment of the present invention. Figure 2 is a schematic diagram of accessing at least two physical storage devices based on a first management policy according to an embodiment of the present invention. Figure 3 is a schematic diagram of accessing a single physical storage device based on a second management policy according to an embodiment of the present invention. Figure 4 is a flow chart of a storage device management method according to an embodiment of the present invention. Figure 5 is a flow chart of a storage device management method according to an embodiment of the present invention.
S401~S404:步驟 S401~S404: Steps
Claims (14)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113138400A TWI891531B (en) | 2024-10-09 | 2024-10-09 | Storage device management method and data storage system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113138400A TWI891531B (en) | 2024-10-09 | 2024-10-09 | Storage device management method and data storage system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TWI891531B true TWI891531B (en) | 2025-07-21 |
Family
ID=97228306
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW113138400A TWI891531B (en) | 2024-10-09 | 2024-10-09 | Storage device management method and data storage system |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI891531B (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200627144A (en) * | 2004-09-30 | 2006-08-01 | Ibm | System and method for dynamic sizing of cache sequential list |
| TW201342082A (en) * | 2012-02-08 | 2013-10-16 | Lsi Corp | System and method for improved rebuild in RAID |
| TW201533742A (en) * | 2014-02-21 | 2015-09-01 | Phison Electronics Corp | Method for writing data, memory storage device and memory control circuit unit |
| TW201608469A (en) * | 2014-08-21 | 2016-03-01 | 達西系統股份有限公司 | Method and apparatus for efficiently destaging sequential I/O streams |
| TW201805825A (en) * | 2016-08-03 | 2018-02-16 | 美光科技公司 | Hybrid memory drive, computer system, and related methods for operating a multi-mode hybrid drive |
| US20210397346A1 (en) * | 2016-03-30 | 2021-12-23 | Amazon Technologies, Inc. | Dynamic cache management in hard drives |
-
2024
- 2024-10-09 TW TW113138400A patent/TWI891531B/en active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200627144A (en) * | 2004-09-30 | 2006-08-01 | Ibm | System and method for dynamic sizing of cache sequential list |
| TW201342082A (en) * | 2012-02-08 | 2013-10-16 | Lsi Corp | System and method for improved rebuild in RAID |
| TW201533742A (en) * | 2014-02-21 | 2015-09-01 | Phison Electronics Corp | Method for writing data, memory storage device and memory control circuit unit |
| TW201608469A (en) * | 2014-08-21 | 2016-03-01 | 達西系統股份有限公司 | Method and apparatus for efficiently destaging sequential I/O streams |
| US20210397346A1 (en) * | 2016-03-30 | 2021-12-23 | Amazon Technologies, Inc. | Dynamic cache management in hard drives |
| TW201805825A (en) * | 2016-08-03 | 2018-02-16 | 美光科技公司 | Hybrid memory drive, computer system, and related methods for operating a multi-mode hybrid drive |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11157417B2 (en) | Memory having a static cache and a dynamic cache | |
| TWI676132B (en) | Apparatuses and methods for garbage collection | |
| KR101459861B1 (en) | Stripe-based memory operation | |
| JP5823875B2 (en) | Solid memory formatting | |
| KR101421366B1 (en) | Boot partitions in memory devices and systems | |
| US8738994B2 (en) | Memory controller, memory system, and operating method | |
| US8417879B2 (en) | Method for suppressing errors, and associated memory device and controller thereof | |
| US12298902B2 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
| TWI698749B (en) | A data storage device and a data processing method | |
| JP2012507100A (en) | Logical unit operation | |
| US11809723B2 (en) | Unbalanced plane management method, associated data storage device and controller thereof | |
| CN104765569B (en) | Data writing method, memory control circuit unit and memory storage device | |
| US10789003B1 (en) | Selective deduplication based on data storage device controller status and media characteristics | |
| US20210263661A1 (en) | Apparatuses and methods for counter update operations | |
| CN109857584B (en) | Method for performing access control on memory device, memory device and controller thereof | |
| CN113628655B (en) | Method, flash memory controller and electronic device for accessing flash memory module | |
| US20250190344A1 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
| TWI891531B (en) | Storage device management method and data storage system | |
| US20220300196A1 (en) | Memory system and method of operating the same | |
| CN114115737B (en) | Data storage allocation method, memory storage device and control circuit unit | |
| CN112015339B (en) | Data storage system, data storage method and data storage system of memory | |
| KR102879451B1 (en) | Data storage device and operating method thereof | |
| TWI781846B (en) | Unbalanced plane management method, associated data storage device and controller thereof | |
| CN113126899A (en) | Full multi-plane operation enablement | |
| CN115048051B (en) | Data reading method, memory controller and memory storage device |