KR20150013973A - Raid storage device and method for operating thereof - Google Patents

Raid storage device and method for operating thereof Download PDF

Info

Publication number
KR20150013973A
KR20150013973A KR1020130087492A KR20130087492A KR20150013973A KR 20150013973 A KR20150013973 A KR 20150013973A KR 1020130087492 A KR1020130087492 A KR 1020130087492A KR 20130087492 A KR20130087492 A KR 20130087492A KR 20150013973 A KR20150013973 A KR 20150013973A
Authority
KR
South Korea
Prior art keywords
storage device
data
volatile memory
storage devices
based storage
Prior art date
Application number
KR1020130087492A
Other languages
Korean (ko)
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 KR1020130087492A priority Critical patent/KR20150013973A/en
Publication of KR20150013973A publication Critical patent/KR20150013973A/en

Links

Images

Classifications

    • 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
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity

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)

Abstract

A method of operating a RAID storage device and a RAID storage device is provided. By storing the parity of data in a plurality of non-volatile memory-based storage devices in a differential manner, the reliability of the data of the RAID storage device can be ensured and the overhead associated with storage device replacement can be reduced.

Description

[0001] RAID STORAGE DEVICE AND METHOD FOR OPERATING THEREOF [0002]

The following description relates to a RAID storage device, and more particularly to the management of parity in a RAID storage device.

Redundant array of independent disks (RAID) storage is a storage device that provides a plurality of individual storage devices as a single storage device. The purpose of a RAID storage device is to prevent data loss and improve access speed. The prevention of data loss is to recover data in real time when an error occurs in one storage device among a plurality of storage devices included in the RAID storage device. The improvement of the access speed is to improve the data read speed and data write speed by simultaneously operating a plurality of storage devices at the time of inputting and outputting data.

There are six known RAID levels: RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, and RAID 5. Each level has different characteristics in terms of performance, stability, and cost, and uses different algorithms for implementation of fault tolerance.

Of the above levels, RAID 4 sequentially writes data to a storage device included in the RAID storage device and uses one storage device as a parity dedicated storage device to improve data stability. However, in RAID 4, a bottleneck may occur in the parity dedicated storage device, and therefore the overall performance of the RAID may deteriorate.

RAID 5 uniformly distributes not only data but also parity among a plurality of storage devices included in the RAID storage device. The distribution of parity reduces the bottleneck compared to RAID 4 and ensures stability and performance.

The plurality of storage devices included in the RAID storage device may be non-volatile memory based storage devices. In particular, when a flash memory-based storage device or SSD is used as a storage device included in a RAID storage device, advantages such as fast data reading and data writing can be provided.

Non-volatile memory-based storage devices may have a limited lifetime, particularly in the writing of data. The non-volatile memory includes a plurality of blocks, and the number of times of writing or erasing for each block can be limited. When the number of write or erase operations for a particular block reaches a predetermined threshold value, the block can no longer be used. Therefore, the lifetime of the nonvolatile memory can also be limited. The limited lifetime of the non-volatile memory can cause problems in terms of ensuring the reliability of data in the RAID storage device. In addition, the limited lifetime of the non-volatile memory may increase the overhead in the replacement of the storage device included in the RAID storage device.

One embodiment may provide a method of operating a RAID storage device and a RAID storage device that stores parity of data in a plurality of non-volatile memory-based storage devices in a differential manner.

One embodiment includes a RAID storage device that includes a controller for storing parity of data in a plurality of non-volatile memory-based storage devices differentially and receiving a signal indicating that each of the storage devices has a wear- And a method of operating the RAID storage device.

A storage system, comprising: a plurality of non-volatile memory-based storage devices for storing data and storing differently the parity of the data; and a controller for managing the plurality of non-volatile memory- Device is provided.

The number of blocks of the parity stored in each of the plurality of non-volatile memory-based storage devices may be different from each other.

The n-th non-volatile memory-based storage device among the plurality of non-volatile memory-based storage devices may store n * x parity blocks.

The n may be an integer of 1 or more and m or less.

X may be an integer of 1 or more.

M may be the number of the plurality of non-volatile memory-based storage devices.

The controller may distribute the blocks of parity differently to the plurality of nonvolatile memory based storage devices based on a change in the number of storage devices based on the plurality of nonvolatile memory.

Each of the plurality of non-volatile memory based storage devices may include an output unit.

Each of the plurality of non-volatile memory-based storage devices may output a signal through the output when the wear-count is greater than a predetermined value. The controller may receive a signal from the first storage device among the plurality of non-volatile memory-based storage devices to indicate that the wear-count of the first storage device is greater than or equal to a predetermined value.

The controller may transfer the first data and the first parity stored in the first storage device to the second one of the plurality of non-volatile memory-based storage devices.

The controller may receive a read request for a part of the first data from the host of the RAID storage device during the migration.

The control unit may identify a storage device in which the first one of the first storage device and the second storage device is stored.

Read the portion of the first data from the identified storage device, and transfer the portion of the read first data to the host.

The controller may receive a write request for a part of the first data from the host of the RAID storage device during the transfer.

The control unit may write the part of the first data to the second storage device.

The controller may perform the transfer when the RAID storage device is idle.

The second storage device may be a non-volatile memory-based storage device having the lowest ware-count among the plurality of non-volatile memory-based storage devices.

In another aspect, there is provided a method of managing a plurality of non-volatile memory-based storage devices, the method comprising: storing a plurality of non-volatile memory-based storage devices; storing the data in a differential manner; A method of operating a RAID storage device is provided.

The method of operating the RAID storage device may further include the steps of distributing the blocks of parity differently to the plurality of nonvolatile memory based storage devices based on a change in the number of storage devices based on the plurality of nonvolatile memory Step < / RTI >

Each of the plurality of non-volatile memory based storage devices may include an output unit.

Each of the plurality of non-volatile memory-based storage devices may output a signal through the output when the wear-count is greater than a predetermined value.

The method of operating the RAID storage device includes receiving a signal from the first storage device of the plurality of non-volatile memory-based storage devices indicating that the ware-count of the first storage device is equal to or greater than a predetermined value As shown in FIG.

The method of operating the RAID storage device may further include the step of transferring the first data and the first parity stored in the first storage device to the second storage device of the plurality of nonvolatile memory based storage devices can do.

Wherein the transferring step comprises the steps of: the controller receiving a read request for a portion of the first data from a host of the RAID storage device; and the controller acquiring the first data of the first storage device and the second storage device Identifying the storage device in which the portion of the first data is stored, the control portion reading the portion of the first data from the identified storage device, As shown in FIG.

Wherein the transferring step comprises the steps of the controller receiving a write request for a portion of the first data from the host of the RAID storage device and the controller writing the portion of the first data to the second storage device Step < / RTI >

There is provided a method of operating a RAID storage device and a RAID storage device capable of increasing the reliability of data stored in storage devices by storing parity of data in a plurality of nonvolatile memory-based storage devices.

By receiving a signal indicating that the wear-count of each of the plurality of non-volatile memory-based storage devices is greater than or equal to a predetermined value, data of one storage device can be transferred to another storage device before each of the storage devices reaches the end of its life A RAID storage device and a method of operating a RAID storage device capable of reducing the overhead associated with replacement of a storage device are provided.

1 illustrates a RAID storage device according to one embodiment.
FIG. 2 illustrates a method in which parity of data is stored differently in a plurality of non-volatile memory-based storage devices according to an embodiment.
FIG. 3 illustrates a non-volatile memory based storage device including an output according to an example.
4 is a flowchart illustrating a method of operating a RAID storage device according to an embodiment.
5 is a flowchart illustrating a step in which a controller according to an embodiment differentially distributes data parities to a plurality of nonvolatile memory-based storage devices.
FIG. 6 illustrates a method of transferring data and parity of a first storage device among non-volatile memory-based storage devices to a second storage device according to an exemplary embodiment of the present invention.
FIG. 7 illustrates a method of reading requested data from a RAID storage device by a read request of data from a host according to an example.
FIG. 8 illustrates a method of writing a requested data to a second storage device by a RAID storage device according to an exemplary embodiment of the present invention.

In the following, embodiments will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

Various modifications may be made to the embodiments and may have various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the description. It is to be understood, however, that the intention is not to limit the embodiments to the embodiments, but to include all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

1 shows a RAID storage device according to one embodiment.

The RAID storage device 110 may include a buffer 120, a controller 130, and a plurality of non-volatile memory-based storage devices 140. The RAID storage device 110 may be coupled to the host 190. RAID storage device 110 may provide access to host 190 as a storage device. Alternatively, the host 190 may include a RAID storage device 110.

RAID storage device 110 may be a RAID storage device based on RAID level 5.

The host 190 may request the control unit 130 to access data for a specific address of a plurality of nonvolatile memory-based storage devices 140. Here, the access may be a write of data or a read of data. In the absence of a request for access of data from the host 190, the state of the RAID storage device 110 may be an idle state. Alternatively, when the RAID storage device 110 processes a request for access of data from the host 190, the state of the RAID storage device 110 may be in a busy state.

The buffer 120 may be a region in which data to be transmitted is temporarily stored for transmission of data between the host 190 and the controller 130. In other words, the buffer 120 may be used to transfer the read data to the host 190, or may be an area used to transfer the data to be written to the controller 130.

The control unit 130 may be a device that manages a plurality of non-volatile memory-based storage devices 140. The control unit 130 may receive a request for accessing data for a specific address in an address space provided by the RAID storage device 110 transmitted by the host 190. [ The controller 130 may write data to the plurality of nonvolatile memory based storage devices 140 according to the request of accessing the data of the host 190 and may write data to the plurality of nonvolatile memory based storage devices 140 The data can be read out.

Each of the plurality of nonvolatile memory-based storage devices 140 may store parity of data and data transmitted from the controller 130. Each of the plurality of non-volatile memory-based storage devices 140 may be connected to the controller 130 through a channel. The channel may be a path that non-volatile memory based storage uses to transmit or receive data and parity of data.

In Figure 1, the number of non-volatile memory-based storage devices 140 is shown as m. m may be an integer of 2 or more. For example, when the number of the plurality of non-volatile memory-based storage devices 140 included in the RAID storage device 110 is two, the plurality of non-volatile memory-based storage devices 140 may be mirrored .

The control unit 130 may distribute the parity of data and data stored in the RAID storage device 110 to the storage devices 140 based on the non-volatile memory. The parity of the data may be dispersed in a plurality of nonvolatile memory-based storage devices 140 in a differential manner. The parity of the data can be distributed in units of blocks on a plurality of nonvolatile memory-based storage devices 140 in a differential manner. In other words, the plurality of non-volatile memory-based storage devices 140 can store data and store the parity of data differentially. The parity of data may be stored in units of a plurality of non-volatile memory-based storage devices 140 on a block-by-block basis. The number of blocks of parity stored in each of the plurality of non-volatile memory-based storage devices 140 may be different from each other.

 As the parity blocks of data are differentially distributed and stored in each of the non-volatile memory based storage devices 140, the data can also be distributed and stored differently in each of the non-volatile memory based storage devices 140 have.

The control unit 130 may distribute the blocks of parity to the non-volatile memory-based storage devices 140 based on the change of the number of the non-volatile memory-based storage devices 140.

The controller 130 may set a criterion for differentially distributing the blocks of the parity according to the change of the number of the non-volatile memory-based storage devices 140. For example, when a new non-volatile memory-based storage device is added to a plurality of non-volatile memory-based storage devices 140, the control unit 130 determines the number of blocks of parity Can be determined. For example, when one non-volatile memory-based storage device among the plurality of non-volatile memory-based storage devices 140 is removed, the control unit 130 determines whether the stored non-volatile memory- May be distributed to the remaining nonvolatile memory based storage devices. When one nonvolatile memory based storage device among the plurality of nonvolatile memory based storage devices 140 is removed, the control unit 130 stores the blocks of parity stored in the removed nonvolatile memory based storage device Based non-volatile memory based storage devices.

The plurality of non-volatile memory-based storage devices 140 may be flash memory based storage devices. The flash memory may be a NAND flash memory. The plurality of nonvolatile memory based storage devices 140 may be solid state disks (SSDs). If the plurality of non-volatile memory-based storage devices 140 are flash memory based storage devices, the access speed of the RAID storage device 110 can be improved.

If the plurality of non-volatile memory-based storage devices 140 are flash memory-based storage devices, each of the plurality of non-volatile memory-based storage devices 140 may store the number of erasures Lt; RTI ID = 0.0 > lifetime. ≪ / RTI >

For example, when the RAID storage device 110 is a general RAID 5 storage device, data access to a plurality of nonvolatile memory-based storage devices 140 may occur uniformly. Here, the access may include writing of data. If all or some of the non-volatile memory-based storage devices 140 are written at approximately the same time as the data is written uniformly or uniformly for both non-volatile memory-based storage devices 140, Can reach. At the same time, if two or more of the non-volatile memory-based storage devices 140 reach the limit of life within a predetermined time, recovery of data of the entire RAID storage device 110 may become difficult, A problem may arise in securing the reliability of data.

When writing of data occurs in the RAID storage device 110, writing is also required for the parity corresponding to the data. Thus, as the number of non-volatile memory-based storage devices 140 increases, the frequency of writing to the parity may increase more than the frequency of writing to the data. The parity of data is stored differently in the plurality of nonvolatile memory-based storage devices 140 as in the above-described embodiment, so that a larger number of times of parity than the nonvolatile memory- Data writing may occur. That is, the nonvolatile memory-based storage device storing relatively more parity blocks is firstly lifed up, so that all or some of the plurality of nonvolatile memory-based storage devices 140 simultaneously reach the end of life Therefore, reliability of data stored in the RAID storage device 110 can be secured.

FIG. 2 illustrates a method in which parity of data is stored differently in a plurality of non-volatile memory-based storage devices according to an embodiment.

The parity 210 may be parity for the entire data stored in the RAID storage device 110. The parity 210 may be a set of parity blocks.

1, the controller 130 may block the blocks of parity based on the change in the number of storage devices 140 based on the plurality of non-volatile memories based on the plurality of non-volatile memory-based storage devices 140 ). ≪ / RTI >

m may be the number of storage devices 140 based on a plurality of non-volatile memories. The number m of the plurality of non-volatile memory-based storage devices 140 may be an integer of 2 or more. In Figure 2, the value of m is shown to be four.

An n-th non-volatile memory-based storage device among the plurality of non-volatile memory-based storage devices 140 may store n * x blocks of parity. Here, n may be an integer of 1 or more and m or less. x may be an integer of 1 or more.

For example, as shown in FIG. 2, when the value of m is 4, the plurality of nonvolatile memory-based storage devices 140 are connected to the first storage device 210-1, the second storage device 210- 2, a third storage device 210-3, and a fourth storage device 210-4. A plurality of nonvolatile memory based storage devices 140 may store 1 * x, 2 * x, 3 * x, and 4 * x parity blocks differentially, respectively.

3 illustrates a non-volatile memory based storage device including an output unit according to an example.

Each of the non-volatile memory based storage devices 140 may be non-volatile memory based storage device 310.

The non-volatile memory based storage device 310 may include an output 320.

The output unit 320 may output a signal indicating the state of the storage device 310 based on the nonvolatile memory. The output unit 320 may output a signal when the wear-count of the non-volatile memory-based storage device 310 is equal to or greater than a predetermined value. In other words, each of the plurality of non-volatile memory-based storage devices 140 may include an output 320, and each of the plurality of non-volatile memory-based storage devices 140 may have a wear- It is possible to output the signal through the output unit 320. [0050]

As the wear-count value of the non-volatile memory based storage device 310 increases, the remaining life of the non-volatile memory based storage device 310 may decrease. The wear-count value may be a value of the number of times of writing and / or erasing of data to the non-volatile memory-based storage device 310 or a value proportional to the number of times. A non-volatile memory-based storage device 310 having a wear-count value equal to or greater than a predetermined threshold value can be regarded as a storage device that has expired.

The signal output by the output unit 320 may be a trigger signal. The signal output by the output unit 320 may be a visual signal. For example, the output unit 320 may be an LED that outputs an optical signal. A non-volatile memory based storage device 310 may optionally include an output 320. In other words, only some storage devices of the plurality of non-volatile memory-based storage devices 140 may include the output 320.

The signal output by the output unit 320 may be an audible signal. For example, the output unit 320 may output a beep sound.

By confirming the signal output of the output 320, the user of the RAID storage device 110 can predict the remaining life of the storage device 310 based on the non-volatile memory.

4 illustrates a method of operating a RAID storage device according to an embodiment.

As described above with reference to FIG. 1, at step 410, a plurality of non-volatile memory based storage devices 140 may store data and may store the parity of data differentially.

In step 420, the controller 130 may manage a plurality of non-volatile memory-based storage devices 140.

By performing steps 410 and 420, the RAID storage device 110 can store the parity of data in a plurality of nonvolatile memory-based storage devices 140 in a differential manner.

The technical contents described with reference to Figs. 1 to 3 can be applied as it is, and a detailed description will be omitted below.

FIG. 5 illustrates a step in which a controller according to an embodiment differentially distributes data parities to a plurality of non-volatile memory-based storage devices.

The method of operating the RAID storage device described above in FIG. 4 may further include step 510. In other words, the method of operating the RAID storage device described above in FIG. 4 may include steps 410, 420, and 510.

In step 510, the controller may differentially distribute the blocks of parity to a plurality of non-volatile memory-based storage devices based on a change in the number of storage devices based on the plurality of non-volatile memory.

The technical contents described above with reference to Figs. 1 to 4 can be applied as they are, so that a more detailed description will be omitted below.

FIG. 6 illustrates a method of transferring data and parity of a first storage device among non-volatile memory-based storage devices to a second storage device according to an exemplary embodiment of the present invention.

The first storage device 610 may be one of a plurality of non-volatile memory-based storage devices 140. The second storage device 620 may be another of the plurality of non-volatile memory based storage devices 140.

In step 630, the controller 130 determines that the ware-count of the first storage device 610 from the first storage device 610 among the plurality of non-volatile memory-based storage devices 140 is equal to or greater than a predetermined value Lt; / RTI >

In step 630, the first storage device 610 may send a signal to the controller 130 indicating that the wear-count is greater than or equal to a predetermined value. The signal received by the control unit 130 may be a trigger signal.

In step 640, the controller 130 transfers the first data stored in the first storage device 610 and the first parity to the second storage device 620 of the plurality of nonvolatile memory-based storage devices 140 You can transfer.

The transfer in step 640 may be performed through the respective channels of the first storage device 610 and the second storage device 620. [

The method of operating the RAID storage device described above with reference to FIG. 4 may further include the steps 630 and 640 described above. 4, may include steps 410, 420, 630, and 640, and may further include step 510. In addition,

The control unit 130 may receive a signal from the first storage device 610 among the plurality of non-volatile memory-based storage devices 140 indicating that the ware-count of the first storage device 610 is equal to or greater than a predetermined value have. After receiving the signal, the control unit 130 may transfer the first data stored in the first storage unit 610 and the first parity to the second storage unit 620.

Through the step 640, the controller 130 transfers the first data and the first parity to the second storage 620 before the first storage 610 has reached the end of its life, so that the non-volatile memory- The probability of occurrence of an error in the storage device can be reduced and the occurrence of overhead due to the channel and storage device replacement operation for the error can be reduced.

The second storage device 620 may be a newly added non-volatile memory-based storage device that is not one of the plurality of existing non-volatile memory-based storage devices 140.

The second storage device 620 may be a non-volatile memory-based storage device having the lowest ware-count among the plurality of non-volatile memory-based storage devices 140. By transferring the first data and the first parity to the second storage 620 having the lowest wear-count, the first data and the first parity transferred to the second storage 620 are delayed again Can be. That is to say, the efficiency of the RAID storage device 110 can be improved since the frequency of occurrence of re-transfer of the first data and the first parity can be minimized.

 The controller 130 may perform the transfer of the step 640 when the RAID storage device 110 is idle.

When the transfer of step 640 is interrupted, the control unit 130 may store information about data corresponding to the point where the transfer is interrupted. The control unit 130 may resume the transfer of the first data and the first parity from the point where the previous transfer is stopped. Herein, the information stored by the controller 130 for resuming may include the address of the point where the transfer of the first data is to be resumed, and may include the address of the point where the transfer of the first parity is to be resumed. Here, the address may be a physical address in the address space provided by the first storage device 610.

For example, during the previous progress of step 640, the migration of step 640 may be aborted by releasing the idle state of the RAID storage device 110. [ If the transfer is interrupted, the controller 130 may store the address corresponding to the point where the transfer of the first data is stopped, and may store the address corresponding to the point where the transfer of the first parity is stopped. When the RAID storage device 110 returns to the idle state, the control unit 130 can resume the transfer from the stopped point for each of the first data and the first parity.

Migration of data may be performed only in the idle state, so that transfer of data may not interfere with data processing of the RAID storage device 110 in the non-idle state. Thus, the efficiency of the RAID storage device 110 can be improved.

The technical contents described above with reference to Figs. 1 to 5 may be applied as they are, so that a more detailed description will be omitted below.

FIG. 7 illustrates a method of reading requested data from a RAID storage device by a read request of data from a host according to an example.

Step 640 described above in FIG. 6 may further include steps 710, 720, 730, and 740 described below. In step 710, the control unit 130 may receive a read request for a portion of the first data from the host 190. [

The host 190 may transmit a read request for a part of the first data to the control unit 130. [ Here, the read request may be transmitted to the controller 130 via the buffer 120. [

In step 720, the controller 130 may identify a storage device in which a portion of the first one of the first storage device 610 and the second storage device 620 is stored.

If the control unit 130 receives a read request for a part of the first data from the host 190 while the transfer of the step 640 is in progress, the control unit 130 determines whether a part of the requested data is stored in the second storage unit 620 and may be stored in the first storage device 610 or a portion of the requested data may have already been transferred to the second storage device 620. [

In step 730, the controller 130 may read a portion of the first data from the identified storage device. The control unit 130 determines whether a part of the first data is received from the first storage device 610 when a part of the requested first data is not yet transferred to the second storage device 620 and remains in the first storage device 610 And may read a portion of the first data from the second storage device 620 when transferred to the second storage device 620. [

In step 740, the control unit 130 may transmit a part of the first data read out to the host 190. A portion of the first data may be transmitted to the host 190 via the buffer 120. [

That is, when the control unit 130 receives a read request for a part of the first data from the host 190 of the RAID storage device 110 during the transfer of the first data and the first parity, And may identify a storage device in which a portion of the first of the second storage devices 620 is stored. Also, the controller 130 may read a part of the first data from the identified storage device, and may transmit a part of the read first data to the host.

The technical contents described above with reference to Figs. 1 to 6 can be applied as they are, so that a more detailed description will be omitted below.

FIG. 8 illustrates a method of writing a requested data to a second storage device by a RAID storage device according to an exemplary embodiment of the present invention.

Step 640 described above in FIG. 6 may further include steps 810 and 820 described below.

In step 810, the controller 130 may receive a write request for a portion of the first data from the host 190 of the RAID storage device 110. The host 190 may transmit a write request for a part of the first data to the controller 130. [ Here, the write request may be transmitted to the controller 130 via the buffer 120. [

The host 190 may send a write request for the given address. The predetermined address may be a part of the address space provided by the RAID storage device 110, and may correspond to a part of the first data. That is, the first data may be data specified by a predetermined address among address spaces provided by the RAID storage device 110. The control unit 130 may convert a predetermined address of the write request into a physical address of the address space of the first storage device 610. [

In step 820, the controller 130 may write a portion of the first data requested by the host 190 to the second storage device 620 rather than to the first storage device 610. Steps 810 and 820 allow the RAID storage device 110 to write data to the second storage device 620 instead of the first storage device 610 where the ware-count value is greater than or equal to a predetermined value.

In other words, when the controller 130 receives a write request for a part of the first data from the host 110 of the RAID storage device 110 during the migration of the step 640, the control unit 130 instructs the second storage 620 to write the first data Can be written.

100: RAID storage device
110: Host
120: buffer
130:
140: Multiple non-volatile memory based storage devices
210: Parity
310: Non-volatile memory based storage device
320:
610: First storage device
620: Second storage device

Claims (16)

A RAID (Redundant Array of Independent Disks)
A plurality of non-volatile memory-based storage devices for storing data and differentially storing parity of the data; And
And a controller for managing the plurality of nonvolatile memory-based storage devices
Lt; / RTI >
The method according to claim 1,
Wherein the number of blocks of the parity stored in each of the plurality of non-volatile memory-based storage devices is different from each other.
The method according to claim 1,
The n-th non-volatile memory-based storage device of the plurality of non-volatile memory-based storage devices stores n * x blocks of parity,
Wherein n is an integer of 1 or more and m or less,
X is an integer of 1 or more,
Wherein m is a number of the plurality of non-volatile memory-based storage devices.
The method according to claim 1,
Wherein the controller distributes the blocks of the parity differentially to the plurality of non-volatile memory-based storage devices based on a change in the number of storage devices based on the plurality of non-volatile memory-based storage devices.
The method according to claim 1,
Wherein each of the plurality of non-volatile memory-based storage devices includes an output,
Wherein each of the plurality of non-volatile memory-based storage devices outputs a signal via the output when the wear-count is greater than or equal to a predetermined value.
The method according to claim 1,
Wherein the control unit receives a signal indicating that the wear-count of the first storage device is greater than or equal to a predetermined value from the first storage device among the plurality of non-volatile memory-based storage devices, Data and a first parity to a second one of the plurality of non-volatile memory-based storage devices.
The method according to claim 6,
Wherein the control unit receives a read request for a part of the first data from the host of the RAID storage device during the transfer, and when the part of the first data of the first storage device and the second storage device is stored in the storage device Reads the portion of the first data from the identified storage device, and transmits the portion of the read first data to the host.
The method according to claim 6,
Wherein the controller writes the portion of the first data to the second storage device upon receiving a write request for a portion of the first data from the host of the RAID storage device during the migration.
The method according to claim 6,
Wherein the controller performs the transfer when the RAID storage device is idle.
The method according to claim 6,
Wherein the second storage device is a nonvolatile memory based storage device having the lowest ware-count among the plurality of non-volatile memory-based storage devices.
A method of operating a RAID (Redundant Array of Independent Disks)
Storing a plurality of nonvolatile memory based storage devices and storing the data parity differentially; And
The control unit manages the plurality of non-volatile memory-based storage devices
Gt; a < / RTI > RAID storage device.
12. The method of claim 11,
Volatile memory based storage devices based on a change in the number of storage devices based on the plurality of non-volatile memory devices
Further comprising the step of:
12. The method of claim 11,
Wherein each of the plurality of non-volatile memory-based storage devices includes an output,
Wherein each of the plurality of non-volatile memory-based storage devices outputs a signal via the output when the wear-count is greater than or equal to a predetermined value.
12. The method of claim 11,
Receiving a signal from the first one of the plurality of non-volatile memory-based storage devices indicating that the ware-count of the first storage device is equal to or greater than a predetermined value; And
Wherein the control unit transfers the first data and the first parity stored in the first storage unit to the second one of the plurality of nonvolatile memory based storage units
Further comprising the step of:
12. The method of claim 11,
Wherein the transferring step comprises:
The controller receiving a read request for a portion of the first data from a host of the RAID storage device;
The control unit identifying a storage device in which the portion of the first data is stored, the first storage device and the second storage device;
The control unit reading the portion of the first data from the identified storage device; And
The control unit transmitting the part of the read first data to the host
Lt; / RTI >
12. The method of claim 11,
Wherein the transferring step comprises:
The controller receiving a write request for a portion of the first data from a host of the RAID storage device; And
The control unit writing the part of the first data to the second storage device
Gt; a < / RTI > RAID storage device.
KR1020130087492A 2013-07-24 2013-07-24 Raid storage device and method for operating thereof KR20150013973A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130087492A KR20150013973A (en) 2013-07-24 2013-07-24 Raid storage device and method for operating thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130087492A KR20150013973A (en) 2013-07-24 2013-07-24 Raid storage device and method for operating thereof

Publications (1)

Publication Number Publication Date
KR20150013973A true KR20150013973A (en) 2015-02-06

Family

ID=52570942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130087492A KR20150013973A (en) 2013-07-24 2013-07-24 Raid storage device and method for operating thereof

Country Status (1)

Country Link
KR (1) KR20150013973A (en)

Similar Documents

Publication Publication Date Title
US11068170B2 (en) Multi-tier scheme for logical storage management
CN107346290B (en) Replaying partition logical to physical data address translation tables using parallelized log lists
CN106445724B (en) Storing parity data separately from protected data
US9483404B2 (en) Write admittance policy for a memory cache
US9177638B2 (en) Methods and devices for avoiding lower page corruption in data storage devices
JP5759623B2 (en) Apparatus including memory system controller and associated method
US8015371B2 (en) Storage apparatus and method of managing data storage area
US8806111B2 (en) Apparatus, system, and method for backing data of a non-volatile storage device using a backing store
US8949507B2 (en) Method for performing block management, and associated memory device and controller thereof
US10275310B2 (en) Updating exclusive-or parity data
US20160179403A1 (en) Storage controller, storage device, storage system, and semiconductor storage device
US20160210060A1 (en) Dynamic resource allocation within storage devices
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
US9891989B2 (en) Storage apparatus, storage system, and storage apparatus control method for updating stored data stored in nonvolatile memory
AU2015258208A1 (en) Resource allocation and deallocation for power management in devices
KR20090019593A (en) Ecc control circuit and multi channel memory system icluding the same
US20190243578A1 (en) Memory buffer management for solid state drives
KR20210000877A (en) Apparatus and method for improving input/output throughput of memory system
CN114746834A (en) Partition append command scheduling based on partition status
KR101070511B1 (en) Solid state drive controller and method for operating of the solid state drive controller
US8533549B2 (en) Memory system and computer system
US9286176B1 (en) Selective skipping of blocks in an SSD
US20160306569A1 (en) Memory system
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
JP4430092B2 (en) RAID device, RAID device controller, and RAID device write-back control method

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination