WO2016078193A1 - 一种基于固态存储介质的raid系统及方法 - Google Patents

一种基于固态存储介质的raid系统及方法 Download PDF

Info

Publication number
WO2016078193A1
WO2016078193A1 PCT/CN2014/095876 CN2014095876W WO2016078193A1 WO 2016078193 A1 WO2016078193 A1 WO 2016078193A1 CN 2014095876 W CN2014095876 W CN 2014095876W WO 2016078193 A1 WO2016078193 A1 WO 2016078193A1
Authority
WO
WIPO (PCT)
Prior art keywords
state storage
solid state
storage medium
raid
solid
Prior art date
Application number
PCT/CN2014/095876
Other languages
English (en)
French (fr)
Inventor
阳学仕
Original Assignee
上海宝存信息科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海宝存信息科技有限公司 filed Critical 上海宝存信息科技有限公司
Priority to US15/527,781 priority Critical patent/US10353614B2/en
Publication of WO2016078193A1 publication Critical patent/WO2016078193A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Definitions

  • the present invention relates to data storage devices, and more particularly to a RAID system and method based on solid state storage media.
  • RAID technology has a wide range of applications in the field of data storage.
  • RAID has different architectures depending on the protection layer requirements, such as RAID-1, RAID-2, RAID-3, RAID-4, RAID-5 and RAID-6. The following statement uses RAID-5 as an example. It should be noted that the invention can be easily extended to other RAID modes, such as RAID-6, RAID10, and the like.
  • the traditional RAID technology has serious shortcomings, and the performance of random data writes is greatly lost compared to the parallel operation of multiple devices, especially when the underlying storage device is a solid state storage device. There are several reasons for this:
  • Parity bit write amplification caused by random data write Each randomly written data block causes parity update, causing more than double the amount of random write data.
  • solid state storage devices especially flash-based storage devices have a limited lifetime for writes.
  • Each block of data writes to a single solid-state storage device, which also causes write amplification, resulting in a total write amplification factor of greater than 2;
  • an object of the present invention is to provide a RAID system and method based on a solid-state storage medium, which solves the problem of large performance loss of the existing solid-state storage medium RAID in the prior art.
  • the present invention provides a RAID system and method based on a solid state storage medium, the system comprising: a plurality of solid state storage devices, wherein each solid state storage device comprises: a solid state storage medium and controlling read and write a controller of the solid state storage medium; a main control unit electrically connected to the controllers of each of the solid state storage devices, configured to form each of the solid state storage devices into a RAID array, and used to complete logical addresses from the RAID array to each An address map of the physical address of the flash solid state storage device.
  • the address mapping of the logical address to the physical address is dynamically changed; each stripe in the RAID array is updated according to a dynamic change of the address mapping.
  • parity bits are stored in each of the strips, and the parity bits are polled in respective solid state storage devices within the RAID array as the strips are updated.
  • the main control unit transmits PBA information to a controller of each of the solid state storage devices.
  • the solid state storage medium comprises: a flash solid state storage medium or a nonvolatile solid state storage medium; the flash solid state storage medium comprises: NAND FLASH; and the nonvolatile solid state storage medium comprises: PCM or MRAM.
  • the main control unit controls the garbage collection and wear leveling functions of each solid state storage device in the RAID array.
  • the present invention provides a RAID method based on a solid state storage medium, comprising: providing a plurality of solid state storage devices, wherein each solid state storage device comprises: a solid state storage medium and controlling reading and writing of the solid state storage a controller of the medium; a main control unit that electrically connects the controllers of each of the solid-state storage devices, and the solid-state storage devices are formed into a RAID array by the main control unit, and completes a logical address from the RAID array to Address mapping of physical addresses of each of the flash solid state storage devices.
  • the address mapping of the logical address to the physical address is dynamically changed; each stripe in the RAID array is updated according to a dynamic change of the address mapping.
  • parity bits are stored in each of the strips, and the parity bits are polled in respective solid state storage devices within the RAID array as the strips are updated.
  • the main control unit transmits PBA information to a controller of each of the solid state storage devices.
  • the main control unit controls the garbage collection and wear leveling functions of each solid state storage device in the RAID array.
  • the present invention provides a RAID system and method based on a solid state storage medium, the system comprising: a plurality of solid state storage devices, wherein each solid state storage device comprises: a solid state storage medium and a controller for controlling the read and write of the solid state storage medium; a main control unit electrically connecting the controllers of each of the solid state storage devices for Each of the solid state storage devices constitutes a RAID array, and is used to complete address mapping from a logical address in the RAID array to a physical address of each of the flash solid-state storage devices, and solves the problem in the traditional RAID system by fusing the address mapping and the RAID function.
  • the problem of amplification and low performance; and the implementation of multiple solid-state storage device address mapping improve the efficiency of garbage collection and wear leveling of solid-state storage systems.
  • FIG. 1 is a schematic structural diagram of a RAID system based on a solid state storage medium according to an embodiment of the present invention.
  • FIGS. 2a to 2d are diagrams showing an illustrative process of application of a RAID system based on a solid state storage medium according to an embodiment of the present invention.
  • FIG. 3 is a flow chart showing a RAID method based on a solid state storage medium according to an embodiment of the present invention.
  • the present invention provides a RAID system based on a solid state storage medium 112, including: a plurality of solid state storage devices 11 and a main control unit 12.
  • the plurality of solid state storage devices 11 each include a solid state storage medium 112 and a controller 111 that controls reading and writing of the solid state storage medium 112.
  • the solid state storage device 11 may be, for example, a flash memory (such as Nand Flash or the like or a non-volatile solid state storage medium (SSD), the non-volatile solid-state storage medium includes: Phase change memory (PCM: Phase Change Memory), MRAM (Magnetic Random Access Memory), etc.
  • PCM Phase Change Memory
  • MRAM Magnetic Random Access Memory
  • the controller 111 includes a control chip in the solid state storage device 11, which is mainly used to control functions such as reading and writing, but It is noted that the present invention separates the original Logical Block Address (LBA) to Physical Address Address (PBA) address mapping function of each controller 111, and integrates with the RAID mechanism. Text.
  • LBA Logical Block Address
  • PBA Physical Address Address
  • the main control unit 12 is electrically connected to the controller 111 of each of the solid-state storage devices 11 for forming each of the solid-state storage devices 11 into a RAID array, and is used to complete logical addresses from the RAID array to the respective Address mapping of the physical address of the flash solid state storage device 11.
  • the solid storage medium 112 is a flash memory
  • the main control unit 12 includes an FTL layer and a RAID mechanism.
  • the FTL is an English abbreviation of the Flash translation layer, and the FTL is a software intermediate layer.
  • the purpose is to prevent the protection of flash, to achieve balanced wear and increase the use time of Flash; and RAID is Redundant Arrays of Independent Disks (RAID), with the redundancy of independent disks.
  • Disk arrays are made up of a number of cheaper disks that are combined into a large disk group. The effect of using individual disks to provide data increases the overall disk system performance. Using this technology, the data is cut into a number of segments, which are stored on each hard disk. The disk array can also use the function of parity check (Parity Check). When any hard disk in the array is faulty, the data can still be read. When the data is reconstructed, the data is calculated and re-inserted into the new hard disk. .
  • the SSD is used as an independent storage unit, and the RAID mechanism is on the SSD and independent of the FTL layer of the SSD.
  • the role of the FTL (Flash Translation Layer) in the SSD is to implement the logical address (LBA: Logical Block). Address) Dynamic mapping to the physical address (PBA: Physical Block Address).
  • LBA Logical Block
  • PBA Physical Block Address
  • Each SSD corresponds to the LBA address segment in the entire RAID system. That is, in a traditional RAID system, the LBA segments included in each SSD are static, both statically mapped; and the information between the RAID mechanism and the SSD is communicated. Is the logical block address LBA.
  • each solid-state storage device 11 since the address mapping function of each solid-state storage device 11 is stripped and merged into RAID, the main control unit 12 and the controller 111 of each of the solid-state storage devices 11 are no longer LBAs. Communication is PBA communication.
  • the SSD storage device In this architecture, the SSD storage device only performs operations for reading and writing data according to physical addresses, without traditional mapping of physical addresses to physical addresses, wear leveling, etc. The burden on the controller 111 in the solid state storage device 11 is reduced and the life is extended.
  • an embodiment of a Flash-SSD-based Cross-Drive RAID architecture which separates the FTL layer from the SSD, and fuses the FTLs of the multiple SSDs to form a relatively independent functional layer, and is in the FTL.
  • an embedded RAID mechanism The main improvement from the prior art is that the information of the RAID layer and SSD communication is converted from the LBA in the traditional architecture to the PBA; the FTL layers of all the SSDs are merged to form a joint FTL layer.
  • the mechanism for communication between the FTL layer and the SSD is a physical (PBA) address, so that the SSD only performs the operations of reading and writing data according to the physical address in this architecture, without performing logical address to physical address mapping, and wear and tear. Equalization functions; FTL layer built-in RAID function to achieve redundancy mechanism beyond SSD; LBA corresponding to each SSD dynamically changes with data writing, realizing dynamic mapping.
  • each solid-state storage device 11SSD is used to form a RAID array (see SSD-1, SSD-2, and SSD-3).
  • each row in the RAID array represents a stripe.
  • Each block in the figure represents a physical address PBA, and the number in the block represents the logical address LBA.
  • the SSD-3 is stored in the RAID array. Parity for error detection.
  • the initial state of three SSDs is displayed, and all the contents of the block are empty; and as shown in FIG. 2b, the first strip of the RAID array is written into LBA0, LBA1, LBA2, and LBA3; As shown, the LBA 4, LBA 5 are written in the second strip; as shown in Figure 2d, the results exemplified after updating the data LBA 1 and LBA 3 are shown.
  • the design of the present invention eliminates the process of parity readout and reduces the overhead of the system.
  • the system maintains the data redundancy mechanism of the traditional RAID system, such as the RAID5 structure of this example, which can ensure the safe recovery of data in the event of a single SSD failure.
  • the design of the present invention is also well solved for existing write hole problems such as RAID 5 or other versions of the RAID architecture.
  • existing write hole problems such as RAID 5 or other versions of the RAID architecture.
  • the parity of the calculated SSD in the Parity will be written to the medium. This guarantee is provided by the SSD burst power-off protection mechanism.
  • the PBA that has not written data is judged to be an empty page, and the parity bit written is the partial parity of all written data.
  • main control unit 12 of the present invention may be implemented on a host by software, or may be implemented by configuring a dedicated processor (MCU or CPU).
  • MCU dedicated processor
  • the parity bit calculation can be implemented in software on the FTL, or through the hardware in the SSD control: when implemented by hardware, data written to other SSDs will be simultaneously written to store parity data.
  • the SSD when all data of the current RAID stripe is completed, the parity bit is also calculated and written to the flash media.
  • the SSD storing the parity bits can be dynamic, that is, polling is performed as data is written between multiple SSDs.
  • a plurality of SSDs share one FTL function module by a method of stripping the FTL layer from the SSD.
  • the RAID function is integrated in the FTL layer to solve the problem of write amplification and low performance in the conventional RAID system.
  • the FTL layers of multiple SSDs are brought together to improve the efficiency of garbage collection and wear leveling in traditional SSDs; the performance of solid-state storage systems based on traditional RAID architectures is greatly improved, and the system overhead can be greatly reduced. System life and reliability.
  • the present invention may also provide a RAID method based on a solid-state storage medium, including:
  • Step S1 providing a plurality of solid state storage devices, wherein each solid state storage device comprises: a solid state storage medium and a controller for controlling reading and writing of the solid state storage medium;
  • Step S2 providing a main control unit electrically connected to the controller of each of the solid-state storage devices, and configuring, by the main control unit, each of the solid-state storage devices into a RAID array, and completing logical addresses from the RAID array to each An address map of the physical address of the flash solid state storage device.
  • the flash storage medium is NAND FLASH, and the RAID array formed by the flash SSD-based solid-state storage device, the FTL layer is stripped from the SSD, and the FTLs of the plurality of SSDs are merged together. A relatively independent functional layer is formed, and an embedded RAID mechanism is implemented in the FTL.
  • the main improvement from the prior art is that the information of the RAID layer and SSD communication is converted from the LBA in the traditional architecture to the PBA; the FTL layers of all the SSDs are merged to form a joint FTL layer.
  • the mechanism for communication between the FTL layer and the SSD is a physical (PBA) address, so that the SSD only performs the operations of reading and writing data according to the physical address in this architecture, without performing logical address to physical address mapping, and wear and tear.
  • the address mapping of the logical address to the physical address is dynamically changed; each stripe in the RAID array is updated as the address map dynamically changes.
  • parity bits are stored in each of the strips, the parity bits being polled in respective solid state storage devices within the RAID array as the strips are updated.
  • the master unit communicates PBA information with a controller of each of the solid state storage devices.
  • the main control unit controls the garbage collection and wear leveling functions of each solid state storage device in the RAID array.
  • the present invention provides a RAID system and method based on a solid state storage medium, the system comprising: a plurality of solid state storage devices, wherein each solid state storage device comprises: a solid state storage medium and a control for reading and writing the solid state storage medium a controller, a controller electrically connected to each of the solid state storage devices, configured to form each of the solid state storage devices into a RAID array, and configured to complete a logical address from the RAID array to each of the flash solid state storage devices
  • the address mapping of the physical address of the device solves the problem of write amplification and low performance in the traditional RAID system by integrating address mapping and RAID functions. It also implements the management of multiple solid-state storage device address mappings, and improves the garbage collection of the solid-state storage system. And wear-balanced efficiency.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种基于固态存储介质(112)的RAID系统(1)及方法,系统(1)包括:多个固态存储装置(11),其中每个固态存储装置(11)包含:固态存储介质(112)及控制读写所述固态存储介质的控制器(111);主控单元(12),电性连接各所述固态存储装置(11)的控制器(111),用于将各所述固态存储装置(11)组成RAID阵列,并用于完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置(11)的物理地址的地址映射,通过将地址映射及RAID功能融合,解决传统RAID系统中写放大和性能低下的问题;并实现多个固态存储装置(11)地址映射的统管,提高了固态存储系统的垃圾回收和磨损均衡的效率。

Description

一种基于固态存储介质的RAID系统及方法 技术领域
本发明涉及数据存储设备,特别是涉及一种基于固态存储介质的RAID系统及方法。
背景技术
RAID技术在数据存储领域中有广泛的应用。RAID:Redundant Array of Independent Disks或者是Redundant Array of Independent Devices利用数据和设备的冗余度而防止由于磁盘或者存储设备的失效造成的数据丢失。RAID根据保护层度需求不同而有不同的架构,如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5and RAID-6等。以下陈述以RAID-5为例。需要指出的是该发明可以很容易扩展到其它的RAID方式,如RAID-6,RAID10等。
在传统的RAID系统中由于固定的逻辑映射,既对于任意一逻辑块地址(LBA:Logical Block Address),其所对应的存储设备是固定的,这一对应关系并不随着新数据的写入或者数据的更新而变化。
传统的RAID技术存在严重的不足,在随机的数据写入时性能相对于多个设备的并行操作有很大的损失,尤其是当底层的存储设备是固态存储设备时。这有几方面的原因:
1.数据随机写入时造成的奇偶校验位写入放大:每一个随机写入的数据块会造成奇偶校验位的更新,既造成多于随机写入数据量的一倍的写入。在固态存储设备中,尤其是基于闪存的存储设备对写入量是有有限寿命的限制的。
2.每一个数据块对于单个固态存储设备的写入,也会造成写放大,造成总的写放大因子必然大于2;
3.随机写入时由于读校验位、写入校验位等多余操作的性能损失;
4.当写入的数据量小于一个RAID条带(RAID stripe)时,突发断电或者系统奔溃造成RAID stripe的信息不正确,尤其是奇偶校验位,即写入空洞的问题(write hole)。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于固态存储介质的RAID系统及方法,解决上述现有技术中现有固态存储介质RAID性能损失大的问题。
为实现上述目标及其他相关目标,本发明提供一种基于固态存储介质的RAID系统及方法,系统包括:多个固态存储装置,其中每个固态存储装置包含:固态存储介质及控制读写所述固态存储介质的控制器;主控单元,电性连接各所述固态存储装置的控制器,用于将各所述固态存储装置组成RAID阵列,并用于完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置的物理地址的地址映射。
可选的,所述逻辑地址至物理地址的地址映射是动态变化的;所述RAID阵列中的每个条带是随所述地址映射的动态变化而更新的。
可选的,每个所述条带中存储有奇偶校验位,所述奇偶校验位是随所在条带的更新而在所述RAID阵列内的各个固态存储装置中轮询的。
可选的,所述主控单元同各所述固态存储装置的控制器间传递PBA信息。
可选的,所述固态存储介质包括:闪存固态存储介质或非易失性固态存储介质;所述闪存固态存储介质包括:NAND FLASH;所述非易失性固态存储介质包括:PCM或MRAM。
可选的,所述主控单元控制完成所述RAID阵列中各固态存储装置的垃圾回收及磨损均衡功能。
为实现上述目标及其他相关目标,本发明提供一种基于固态存储介质的RAID方法,包括:提供多个固态存储装置,其中每个固态存储装置包含:固态存储介质及控制读写所述固态存储介质的控制器;提供电性连接各所述固态存储装置的控制器的主控单元,通过所述主控单元将各所述固态存储装置组成RAID阵列,并完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置的物理地址的地址映射。
可选的,所述逻辑地址至物理地址的地址映射是动态变化的;所述RAID阵列中的每个条带是随所述地址映射的动态变化而更新的。
可选的,每个所述条带中存储有奇偶校验位,所述奇偶校验位是随所在条带的更新而在所述RAID阵列内的各个固态存储装置中轮询的。
可选的,所述主控单元同各所述固态存储装置的控制器间传递PBA信息。
可选的,所述主控单元控制完成所述RAID阵列中各固态存储装置的垃圾回收及磨损均衡功能。
如上所述,本发明提供一种基于固态存储介质的RAID系统及方法,系统包括: 多个固态存储装置,其中每个固态存储装置包含:固态存储介质及控制读写所述固态存储介质的控制器;主控单元,电性连接各所述固态存储装置的控制器,用于将各所述固态存储装置组成RAID阵列,并用于完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置的物理地址的地址映射,通过将地址映射及RAID功能融合,解决传统RAID系统中写放大和性能低下的问题;并实现多个固态存储装置地址映射的统管,提高了固态存储系统的垃圾回收和磨损均衡的效率。
附图说明
图1显示为本发明一实施例中基于固态存储介质的RAID系统的结构示意图。
图2a至2d显示为本发明一实施例中基于固态存储介质的RAID系统的应用示意过程的图示。
图3显示为本发明一实施例中基于固态存储介质的RAID方法的流程示意图。
元件标号说明
1         基于固态存储介质的RAID系统
11        固态存储装置
111       控制器
112       固态存储介质
12        主控单元
S1~S2    方法步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,本发明提供一种基于固态存储介质112的RAID系统,包括:多个固态存储装置11及主控单元12。
所述多个固态存储装置11,其中每个固态存储装置11包含:固态存储介质112及控制读写所述固态存储介质112的控制器111。在一实施例中,所述固态存储装置 11可例如为闪存介质(Flash Memory,例如Nand Flash等或非易失性固态存储介质(Non-volatile)的SSD(Solid State Drives,固态硬盘),所述非易失性的固态存储介质包括:相变存储(PCM:Phase Change Memory)、或MRAM(Magnetic Random Access Memory)等。所述控制器111即包括固态存储装置11内的控制芯片,其主要用于控制实现读写等功能,但需说明的是,本发明将各所述控制器111原有的逻辑地址(Logical Block Address,LBA)到物理地址(Physical Block Address,PBA)地址映射功能分离出来,并与RAID机制整合,详见后文。
所述主控单元12,电性连接各所述固态存储装置11的控制器111,用于将各所述固态存储装置11组成RAID阵列,并用于完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置11的物理地址的地址映射。在一实施例中,以所述固态存储介质112为闪存,则所述主控单元12则包括FTL层及RAID机制,其中,FTL即Flash translation layer的英文缩写,FTL为一种软件中间层,最初由Intel提出,目的是防止对flash进行保护,做到均衡磨损,增长Flash使用时间;而RAID则为磁盘阵列(Redundant Arrays of independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用奇偶校验位检查(Parity Check)的功能,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
在传统架构中,是将SSD作为独立的存储单元,而RAID机制处于SSD之上,与SSD的FTL层相互独立;SSD中FTL(Flash Translation Layer)的作用是实现从逻辑地址(LBA:Logical Block Address)到物理地址(PBA:Physical Block Address)的动态映射。每一个SSD对应与整个RAID系统中的LBA地址段是固定的,即在传统的RAID系统中每个SSD所包含的LBA段是静态的,既静态映射;而RAID机制与SSD之间通信的信息是逻辑块地址LBA。
而在本发明中,由于将各个固态存储装置11的地址映射功能进行了剥离合一且融合RAID,使得所述主控单元12同各所述固态存储装置11的控制器111间不再是LBA通信而是PBA通信,SSD存储装置在这一架构中只完成按照物理地址对数据进行读出和写入的操作,无需进行传统的逻辑地址到物理地址的映射、磨损均衡等,大大 减少了固态存储装置11内控制器111的负担并延长寿命。
再请参阅第2a至2d图,举一具体实施例来说明本发明改进的RAID系统架构的原理及优点:
在本实施例中,提供的是基于闪存SSD的Cross-Drive RAID架构的实施例,将FTL层从SSD剥离出来,将多个SSD的FTL融合在一起形成相对独立的功能层,并在FTL内实现了内嵌的RAID机制。相对现有技术的主要改进差异点在于:RAID层与SSD通信的信息从传统架构中的LBA转化为PBA;所有SSD的FTL层融合在一起,而形成联合的FTL层。FTL层与SSD的通信的机制为物理(PBA)地址,使得SSD在这一架构中只完成按照物理地址对数据进行读出和写入的操作,而无需进行逻辑地址到物理地址的映射,磨损均衡等功能;FTL层内置RAID功能,实现超越SSD间的冗余机制;每个SSD所对应的LBA是随着数据的写入而动态变化的,实现了动态映射。
在本实施例中,采用了3个固态存储装置11SSD组成RAID阵列为例(见图示SSD-1、SSD-2、SSD-3),当然该实施例中的SSD的数量仅为例示而并非以此为限;RAID阵列中每一行表示一个条带(Stripe),图中的每一个方块代表一个物理地址PBA,方块内的数字代表逻辑地址LBA,本实施例中SSD-3存放RAID阵列中用于检错的奇偶校验位(Parity)。
如图2a所示,显示3个SSD的初始状态,所有区块内容皆为空;进而如图2b所示,RAID阵列的第一条带写入LBA0、LBA1、LBA2、及LBA3;如图2c所示,在第二条带中写入LBA 4、LBA 5;如图2d所示,展示更新数据LBA 1和LBA 3之后例示的结果。
由上述过程可见,所述逻辑地址至物理地址的地址映射是动态变化的,LBA1在更新前存储于SSD-2,更新后存储于SSD-1;所述RAID阵列中的每个条带是随所述地址映射的动态变化而更新的,LBA 2和LBA3在数据更新前属于同一RAID stripe,但在更新后LBA 2仍然属于原RAID Stripe(与已过期的LBA 3数据),其Parity对应于P12;LBA 1和LBA 3在数据更新后形成新的RAID stripe,其奇偶校验位对应于P22。
一方面,由以上描述过程可见,在数据更新的过程中没有奇偶校验位的读出和再写入过程。当有数据更新时,该数据将被写入新的PBA,与可能其它的LBA形成新的RAID stripe.这一架构的直接效果是将随机数据写入的写放大可以降低到2一下。既随机写入一个LBA并不对应一个奇偶校验位数据块写入,而在写入多个LBA后可能 对应于一个奇偶校验数据块写入。
一方面,本发明的设计免除了parity读出的过程,降低了系统的多余开销。该系统保持了传统RAID系统的数据冗余机制,如该示例的RAID5结构,在单个SSD出现故障时能够保证数据的安全恢复。
一方面,针对于现有例如RAID5或其他版本RAID架构的写漏洞(write hole)问题,本发明的设计也可以很好地解决。但系统突然断电时,在存放Parity的SSD的计算的部分parity会被写入介质,提供这一保障的是SSD的突发断电保护机制。当系统下次恢复的时候,没有写入数据的PBA会被判定为空页,而所写入的奇偶校验位是所有已写入数据的部分奇偶校验位。
需说明的是,本发明的主控单元12可以通过软件在主机上实现,也可以通过配置专用的处理器(MCU或CPU)来实现。
一方面,奇偶校验位的计算可以在FTL上通过软件实现,也可以通过SSD控制内的硬件来实现:通过硬件来实现时,写入其它SSD的数据会被同时写入存放奇偶校验数据的SSD,在当前RAID stripe的所有数据完成输入时,奇偶校验位也完成计算,同时被写入闪存介质。存储奇偶校验位的SSD可以是动态的,即在多个SSD之间随着数据的写入而做轮询。
通过将FTL层从SSD中剥离的方法,使得多个SSD共享一个FTL功能模块。同时,为提供传统RAID系统中的容错机制,在FTL层融入了RAID功能,解决传统RAID系统中写放大和性能低下的问题。同时,将多个SSD的FTL层集合在一起,提高了传统SSD中的垃圾回收和磨损均衡的效率;大幅度提高基于传统RAID架构中固态存储系统的性能,并能大幅减小系统开销,最大化系统寿命和可靠性。
如图3所示,结合上述RAID系统1的技术原理,本发明还可提供一种基于固态存储介质的RAID方法,包括:
步骤S1:提供多个固态存储装置,其中每个固态存储装置包含:固态存储介质及控制读写所述固态存储介质的控制器;
步骤S2:提供电性连接各所述固态存储装置的控制器的主控单元,通过所述主控单元将各所述固态存储装置组成RAID阵列,并完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置的物理地址的地址映射。
具体来说,若所述闪存存储介质为NAND FLASH,而在基于闪存SSD的固态存储装置所构成RAID阵列中,将FTL层从SSD剥离出来,将多个SSD的FTL融合在一起 形成相对独立的功能层,并在FTL内实现了内嵌的RAID机制。相对现有技术的主要改进差异点在于:RAID层与SSD通信的信息从传统架构中的LBA转化为PBA;所有SSD的FTL层融合在一起,而形成联合的FTL层。FTL层与SSD的通信的机制为物理(PBA)地址,使得SSD在这一架构中只完成按照物理地址对数据进行读出和写入的操作,而无需进行逻辑地址到物理地址的映射,磨损均衡等功能;FTL层内置RAID功能,实现超越SSD间的冗余机制;每个SSD所对应的LBA是随着数据的写入而动态变化的,实现了动态映射。
在一实施例中,所述逻辑地址至物理地址的地址映射是动态变化的;所述RAID阵列中的每个条带是随所述地址映射的动态变化而更新的。
在一实施例中,每个所述条带中存储有奇偶校验位,所述奇偶校验位是随所在条带的更新而在所述RAID阵列内的各个固态存储装置中轮询的。
在一实施例中,所述主控单元同各所述固态存储装置的控制器间传递PBA信息。
在一实施例中,所述主控单元控制完成所述RAID阵列中各固态存储装置的垃圾回收及磨损均衡功能。
综上所述,本发明提供一种基于固态存储介质的RAID系统及方法,系统包括:多个固态存储装置,其中每个固态存储装置包含:固态存储介质及控制读写所述固态存储介质的控制器;主控单元,电性连接各所述固态存储装置的控制器,用于将各所述固态存储装置组成RAID阵列,并用于完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置的物理地址的地址映射,通过将地址映射及RAID功能融合,解决传统RAID系统中写放大和性能低下的问题;并实现多个固态存储装置地址映射的统管,提高了固态存储系统的垃圾回收和磨损均衡的效率。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (11)

  1. 一种基于固态存储介质的RAID系统,其特征在于,包括:
    多个固态存储装置,其中每个固态存储装置包含:固态存储介质及控制读写所述固态存储介质的控制器;
    主控单元,电性连接各所述固态存储装置的控制器,用于将各所述固态存储装置组成RAID阵列,并用于完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置的物理地址的地址映射。
  2. 根据权利要求1所述的基于固态存储介质的RAID系统,其特征在于,所述逻辑地址至物理地址的地址映射是动态变化的;所述RAID阵列中的每个条带是随所述地址映射的动态变化而更新的。
  3. 根据权利要求2所述的基于固态存储介质的RAID系统,其特征在于,每个所述条带中存储有奇偶校验位,所述奇偶校验位是随所在条带的更新而在所述RAID阵列内的各个固态存储装置中轮询的。
  4. 根据权利要求1所述的基于固态存储介质的RAID系统,其特征在于,所述主控单元同各所述固态存储装置的控制器间传递PBA信息。
  5. 根据权利要求1所述的基于固态存储介质的RAID系统,其特征在于,所述固态存储介质包括:闪存固态存储介质或非易失性固态存储介质;所述闪存固态存储介质包括:NAND FLASH;所述非易失性固态存储介质包括:PCM或MRAM。
  6. 根据权利要求1所述的基于固态存储介质的RAID系统,其特征在于,所述主控单元控制完成所述RAID阵列中各固态存储装置的垃圾回收及磨损均衡功能。
  7. 一种基于固态存储介质的RAID方法,其特征在于,包括:
    提供多个固态存储装置,其中每个固态存储装置包含:固态存储介质及控制读写所述固态存储介质的控制器;
    提供电性连接各所述固态存储装置的控制器的主控单元,通过所述主控单元 将各所述固态存储装置组成RAID阵列,并完成从RAID阵列中的逻辑地址至各所述闪存固态存储装置的物理地址的地址映射。
  8. 根据权利要求7所述的基于固态存储介质的方法,其特征在于,所述逻辑地址至物理地址的地址映射是动态变化的;所述RAID阵列中的每个条带是随所述地址映射的动态变化而更新的。
  9. 根据权利要求8所述的基于固态存储介质的RAID方法,其特征在于,每个所述条带中存储有奇偶校验位,所述奇偶校验位是随所在条带的更新而在所述RAID阵列内的各个固态存储装置中轮询的。
  10. 根据权利要求7所述的基于固态存储介质的RAID方法,其特征在于,所述主控单元同各所述固态存储装置的控制器间传递PBA信息。
  11. 根据权利要求7所述的基于固态存储介质的RAID方法,其特征在于,所述主控单元控制完成所述RAID阵列中各固态存储装置的垃圾回收及磨损均衡功能。
PCT/CN2014/095876 2014-11-20 2014-12-31 一种基于固态存储介质的raid系统及方法 WO2016078193A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/527,781 US10353614B2 (en) 2014-11-20 2014-12-31 Raid system and method based on solid-state storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410668008.5 2014-11-20
CN201410668008.5A CN104407813B (zh) 2014-11-20 2014-11-20 一种基于固态存储介质的raid系统及方法

Publications (1)

Publication Number Publication Date
WO2016078193A1 true WO2016078193A1 (zh) 2016-05-26

Family

ID=52645446

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/095876 WO2016078193A1 (zh) 2014-11-20 2014-12-31 一种基于固态存储介质的raid系统及方法

Country Status (3)

Country Link
US (1) US10353614B2 (zh)
CN (1) CN104407813B (zh)
WO (1) WO2016078193A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794070B (zh) * 2015-04-23 2017-10-31 南京道熵信息技术有限公司 基于动态非覆盖raid技术的固态闪存写缓存系统及方法
US10191841B2 (en) 2015-07-06 2019-01-29 Shannon Systems Ltd. Host device, access system, and access method
CN106339179B (zh) * 2015-07-06 2020-11-17 上海宝存信息科技有限公司 主机装置、存取系统、以及存取方法
CN106933513B (zh) * 2017-03-06 2020-08-25 联想(北京)有限公司 具有raid功能的单盘存储系统及电子设备
CN108959108B (zh) * 2017-05-26 2021-08-24 上海宝存信息科技有限公司 固态硬盘访问方法以及使用该方法的装置
US11221958B2 (en) 2017-08-29 2022-01-11 Samsung Electronics Co., Ltd. System and method for LBA-based RAID
WO2019127212A1 (zh) 2017-12-28 2019-07-04 华为技术有限公司 一种数据写入的方法及固态硬盘阵列
CN110018966A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 一种存储器、存储系统、主机及数据操作、垃圾回收方法
CN108920313A (zh) * 2018-06-21 2018-11-30 郑州云海信息技术有限公司 一种raid的测试方法、装置、设备及介质
CN108984133B (zh) * 2018-08-27 2022-01-28 杭州阿姆科技有限公司 一种ssd中raid的实现方法
CN110895513A (zh) * 2018-09-12 2020-03-20 华为技术有限公司 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法
US11188250B2 (en) 2018-10-25 2021-11-30 Micron Technology, Inc. Two-stage hybrid memory buffer for multiple streams
CN110109621B (zh) * 2019-04-28 2022-07-12 南威软件股份有限公司 一种提升固态硬盘阵列系统性能和寿命的方法
CN110309078B (zh) * 2019-07-02 2021-07-02 北京计算机技术及应用研究所 一种全闪存储阵列的主机与固态盘协同垃圾回收方法
CN110471626B (zh) * 2019-08-15 2023-04-25 无锡融卡科技有限公司 应用于Java Card的Nor Flash管理层及方法
CN110795273B (zh) 2019-10-18 2021-06-15 苏州浪潮智能科技有限公司 一种raid的写洞保护方法、系统及存储介质
CN116027988B (zh) * 2023-03-22 2023-06-23 电子科技大学 用于存储器的损耗均衡方法及其芯片控制器的控制方法
CN117453147B (zh) * 2023-12-22 2024-04-02 合肥联宝信息技术有限公司 固态硬盘垃圾回收方法、装置及电子设备
CN117453152B (zh) * 2023-12-25 2024-04-02 武汉麓谷科技有限公司 一种ZNS固态硬盘Zone LBA管理方法以及区块管理命令的算法
CN117873406A (zh) * 2024-03-11 2024-04-12 武汉麓谷科技有限公司 一种控制zns固态硬盘的磨损均衡的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524204A (en) * 1994-11-03 1996-06-04 International Business Machines Corporation Method and apparatus for dynamically expanding a redundant array of disk drives
CN102656567A (zh) * 2009-12-17 2012-09-05 国际商业机器公司 固态存储器件内的数据管理
CN102915212A (zh) * 2012-09-19 2013-02-06 记忆科技(深圳)有限公司 一种固态硬盘的raid实现方法、固态硬盘及电子设备
CN103019882A (zh) * 2012-11-12 2013-04-03 记忆科技(深圳)有限公司 固态硬盘的raid4系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100125695A1 (en) * 2008-11-15 2010-05-20 Nanostar Corporation Non-volatile memory storage system
CN103049222B (zh) * 2012-12-28 2016-05-25 中国船舶重工集团公司第七0九研究所 一种raid5的写io优化处理方法
CN107066202B (zh) * 2013-03-11 2020-07-28 北京忆恒创源科技有限公司 具有多个固态盘的存储设备
US9933980B2 (en) * 2014-02-24 2018-04-03 Toshiba Memory Corporation NAND raid controller for connection between an SSD controller and multiple non-volatile storage units

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524204A (en) * 1994-11-03 1996-06-04 International Business Machines Corporation Method and apparatus for dynamically expanding a redundant array of disk drives
CN102656567A (zh) * 2009-12-17 2012-09-05 国际商业机器公司 固态存储器件内的数据管理
CN102915212A (zh) * 2012-09-19 2013-02-06 记忆科技(深圳)有限公司 一种固态硬盘的raid实现方法、固态硬盘及电子设备
CN103019882A (zh) * 2012-11-12 2013-04-03 记忆科技(深圳)有限公司 固态硬盘的raid4系统

Also Published As

Publication number Publication date
US20170329522A1 (en) 2017-11-16
CN104407813B (zh) 2019-02-19
CN104407813A (zh) 2015-03-11
US10353614B2 (en) 2019-07-16

Similar Documents

Publication Publication Date Title
WO2016078193A1 (zh) 一种基于固态存储介质的raid系统及方法
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
CN111433732B (zh) 存储设备以及由存储设备执行的计算机实现的方法
US10860508B2 (en) Offloaded disaggregated storage architecture
CN103793182B (zh) 用于可扩展存储保护的系统和方法
US10831603B2 (en) Rebuild assist using failed storage device
US8812902B2 (en) Methods and systems for two device failure tolerance in a RAID 5 storage system
US9684591B2 (en) Storage system and storage apparatus
US9026845B2 (en) System and method for failure protection in a storage array
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
US9575844B2 (en) Mass storage device and method of operating the same to back up data stored in volatile memory
WO2017173623A1 (zh) 用于处理存储设备中分条的方法和存储设备
CN103577111B (zh) 基于非易失性存储器的动态独立冗余阵列存储系统及方法
US20090172335A1 (en) Flash devices with raid
CN103488432B (zh) 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
JP2019502987A (ja) 不揮発性メモリ・システムにおけるマルチページ障害の回復
CN104035830A (zh) 一种数据恢复方法和装置
CN112513804B (zh) 一种数据处理方法及装置
US20120260035A1 (en) Zero rebuild extensions for raid
US10324782B1 (en) Hiccup management in a storage array
US10067833B2 (en) Storage system
CN103699337A (zh) 一种基于独立磁盘冗余阵列raid的写控制方法及系统
CN103019882B (zh) 固态硬盘的raid4系统
US20210342219A1 (en) Separating parity data from host data in a memory sub-system
US20170371782A1 (en) Virtual storage

Legal Events

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

Ref document number: 14906223

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15527781

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14906223

Country of ref document: EP

Kind code of ref document: A1