Browse Prior Art Database

Method and System for Optimizing Wear Leveling at RAID Level

IP.com Disclosure Number: IPCOM000204359D
Publication Date: 2011-Feb-21
Document File: 3 page(s) / 24K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system for optimizing wear leveling at RAID level is disclosed. A RAID controller determines an Expected Life Remaining (ELR) for each drive on a periodic basis. Thereafter, the RAID controller performs wear leveling by moving stripes from one rank to another.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 42% of the total text.

Page 01 of 3

Method and System for Optimizing Wear Leveling at RAID Level

Disclosed is a method and system for optimizing wear leveling at RAID level. A Raid controller is provided that determines candidate blocks to relocate based on wear leveling requirements of the underlying drives.

The RAID controller utilizes information present in a data structure to optimize the wear leveling. The data structure includes information for drives such as, Solid State Devices (SSDs) or devices subjected to wear out. The information is utilized by the RAID controller to determine candidate blocks to relocate based on wear leveling requirements of the underlying drives.

Each low level data block includes one entry in a large array for data blocks that have been created in a SSD or devices that are subjected to wear out. Typically, data in RAID is split across two or more disks, wherein the data is written in the form of strips on each disk. Strips can range from 64K to 256K. The method keeps track of the reads and writes and the recent operations for each strip. Additionally, the method also keeps track of full stride versus small block writes. As the data structure can be large in some scenarios, the data structure is cached with the most frequently accessed elements. For example, a 512GB SSD with approximately 16 bytes per strip would have a 64MB per drive. Thus, the data structure is cached for scenarios where the data structure is large.

In order to optimize the wear leveling, the RAID controller would use drives from where the RAID controller can read to get an indication of lifetime left. Further, in an optimal implementation, the RAID controller would use drives that use write reduction techniques and wear leveling based on the predicted life of the underlying Flash blocks. The SSD then calculates the expected lifetime left by using the information about the predicted life of the underlying blocks. Thereafter, the information about the expected lifetime left is sent to the RAID controller.

Even though the method may be applied on any unit with any value of lifetime left, for practical purposes, the method assumes that this value is a percentage of its original life. The value corresponding to percentage of original life left may be denoted as "Expected Life Remaining" (ELR). Thus, ELRn would correspond to expected life remaining for drive "n". In a scenario, the RAID controller would read ELR on a periodic basis such as after every 15 minutes.

If ELRn value is not available for a drive, then the RAID controller would use "SMART" data to determine the write cycles used vs. the limits provided. In a scenario, the limits may be provided by the manufacturer of the SSD. In another scenario when the limits provided by the manufacturer are not available, then the limits may be determined by the RAID controller designer. In yet another scenario, the number of bad blocks assigned can be used as a percentage of the limit for the device.

Additionally, the RAID...