KR20080071366A - Apparatus and method for backup data considering temperature of nand flash memory in raid system having nand flash memories - Google Patents
Apparatus and method for backup data considering temperature of nand flash memory in raid system having nand flash memories Download PDFInfo
- Publication number
- KR20080071366A KR20080071366A KR1020070009514A KR20070009514A KR20080071366A KR 20080071366 A KR20080071366 A KR 20080071366A KR 1020070009514 A KR1020070009514 A KR 1020070009514A KR 20070009514 A KR20070009514 A KR 20070009514A KR 20080071366 A KR20080071366 A KR 20080071366A
- Authority
- KR
- South Korea
- Prior art keywords
- nand flash
- data
- blocks
- backup area
- backup
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도 1은 본 발명의 실시 예에 따른 레이드 시스템의 내부 블록 구성도,1 is an internal block diagram of a RAID system according to an embodiment of the present invention;
도 2는 도 1의 레이드 시스템에서 데이터 백업을 위한 백업용 메모리 디바이스를 구비하는 메모리 부의 내부 블록 구성도,FIG. 2 is an internal block diagram of a memory unit including a backup memory device for data backup in the RAID system of FIG. 1; FIG.
도 3은 도 1의 레이드 시스템에서 데이터 백업을 위한 가상 백업용 메모리 디바이스를 구비하는 메모리 부의 내부 블록 구성도,3 is a block diagram illustrating an internal block of a memory unit including a virtual backup memory device for data backup in the RAID system of FIG. 1;
도 4는 본 발명의 실시 예에 따라 낸드 플래시의 온도를 고려하여 데이터 백업을 제어하기 위한 과정을 나타내는 제어 흐름도.4 is a control flowchart illustrating a process for controlling data backup in consideration of a temperature of a NAND flash according to an embodiment of the present invention.
본 발명은 낸드 플래시를 구비하는 레이드(RAID: Redundant Array of Inexpensive Disk) 시스템에서 데이터를 백업하는 장치 및 방법에 관한 것으로, 특히 적어도 하나의 낸드 플래시를 구비하는 레이드 시스템에서 낸드 플래시의 온도 를 고려하여 데이터를 백업하기 위한 장치 및 방법에 관한 것이다.The present invention relates to a device and method for backing up data in a RAID (Redundant Array of Inexpensive Disk) system, in particular, in consideration of the temperature of the NAND flash in a RAID system having at least one NAND flash. An apparatus and method for backing up data are provided.
일반적인 레이드(RAID) 시스템은 여러 개의 동종 또는 이종의 하드 디스크들이 연결되어 하나의 하드웨어와 같이 구성되고, 연결된 여러 개의 동종 또는 이종의 하드 디스크들이 단일 시스템 메모리로서 사용되는 시스템이다. 또한 이와 같은 레이드 시스템에서는 다수의 하드 디스크들 중에 하나의 하드 디스크를 백업용으로 사용하여 각 하드 디스크의 패리티(Parity)를 백업용 하드 디스크에 저장한다. 이후 소정의 하드 디스크에 물리적인 에러가 발생한다면 레이드 시스템은 백업용 하드 디스크에 저장되어 있는 각 하드 디스크의 패리티를 이용하여 데이터를 복구할 수 있다. A general RAID system is a system in which several homogeneous or heterogeneous hard disks are connected and configured as one piece of hardware, and several homogeneous or heterogeneous hard disks are used as a single system memory. Also, in such a RAID system, one hard disk among a plurality of hard disks is used for backup, and the parity of each hard disk is stored in the backup hard disk. Then, if a physical error occurs in a predetermined hard disk, the RAID system may recover data using parity of each hard disk stored in the backup hard disk.
그러나, 레이드 시스템에서 사용되는 하드 디스크는 가격이 비싸기 때문에 하드 디스크 대신에 가격이 저렴하고 집적도가 높은 낸드 플래시를 사용하여 레이드 시스템을 구성하는 노력이 많이 이루어지고 있다.However, since hard disks used in raid systems are expensive, efforts have been made to construct raid systems using NAND flash, which is inexpensive and has high density instead of hard disks.
이와 같이 레이드 시스템에서 사용되는 낸드 플래시는 일반적으로 초기 공정 시에 2비트 이상의 에러가 발생한 경우 배드 블록(Bad Block)으로 처리하고, 배드 블록에 대해서는 데이터 읽기/쓰기(Write/Read)를 할 수 없도록 생산되었다. As described above, NAND flash used in a RAID system is generally treated as a bad block if an error of 2 bits or more occurs in the initial process, and data read / write cannot be performed for the bad block. Produced.
상기와 같이 낸드 플래시는 초기 공정 시부터 배드 블록을 가지는 경우도 있지만 초기 공정 시에는 굿 블록이었던 블록이 10만 번 이상의 데이터 쓰기/지우기 동작을 수행하게 되면서 배드 블록으로 전환되는 경우가 있다. 이와 같이 초기 공정 시에는 굿 블록이었던 블록이 추후 배드 블록으로 전환되는 것을 런 타임 배드 블록(Run-time Bad Block)이라고 한다. 한편, 초기 공정 시부터 배드 블록인 블록 에 대해서는 데이터 읽기/쓰기 동작이 제한되므로 데이터 읽기 시 오류가 발생할 일이 없다. 하지만, 초기 공정 시에는 굿 블록이어서 해당 블록에 데이터를 저장하였는데, 이후 이 블록이 런 타임 배드 블록으로 전환된다면 이 블록에 저장되어 있는 데이터는 읽지 못하게 된다. As described above, the NAND flash may have a bad block from an initial process, but in the initial process, a block that was a good block may be converted to a bad block while performing a data write / erase operation of 100,000 or more times. In this way, a block that was a good block in the initial process is later converted into a bad block is called a run-time bad block. On the other hand, since the data read / write operation is restricted for the block that is the bad block from the initial process, no error occurs when reading data. However, during the initial process, the data is stored in the block because it is a good block. If the block is later converted to a runtime bad block, the data stored in the block cannot be read.
이와 같이 굿 블록으로 사용되던 블록이 10만 번 이상의 데이터 쓰기/지우기 동작을 수행하여 런 타임 배드 블록으로 전환된 경우 각각의 낸드 플래시를 구성하는 모든 블록에 대해 웨어 레벨링(Wear-leveling)을 수행하여 데이터 쓰기/지우기 동작이 고루 수행되도록 한다. 그리고 10만 번 이상 데이터 쓰기/지우기 동작을 수행한 블록에 저장되어 있는 데이터는 백업 영역에 저장한다.When a block used as a good block performs more than 100,000 data write / erase operations and is converted to a run-time bad block, wear-leveling is performed on all blocks constituting each NAND flash. Ensure that data write / erase operations are performed evenly. The data stored in the block which has been written or erased more than 100,000 times is stored in the backup area.
그러나 데이터를 백업할 수 있는 백업 영역의 용량은 한계가 있어서 런 타임 배드 블록으로 전환될 가능성이 높은 모든 블록에 대해서 저장할 수 없기 때문에 런타임 배드 블록으로 전환될 가능성이 높은 블록 순으로 백업 영역의 용량만큼 저장한다.However, since the capacity of the backup area to back up data is limited and cannot be stored for all the blocks that are likely to be converted to runtime bad blocks, the capacity of the backup area in the order of the blocks that are most likely to be converted to runtime bad blocks. Save it.
상기한 바와 같이 낸드 플래시를 구비하는 레이드 시스템에서는 미리 설정된 데이터 쓰기/지우기 횟수를 초과하는 낸드 플래시의 블록에 대해서만 백업 동작을 수행하고 있다. 그러나 상기와 같이 미리 설정된 횟수만큼 데이터 쓰기/지우기 동작을 하지 않은 블록일지라도 주위 환경에 의해서 낸드 플래시의 온도가 정상적인 동작 가능 온도 범위를 벗어나는 경우 런 타임 배드 블록으로 전환될 가능성이 높 아진다. As described above, in a RAID system having a NAND flash, a backup operation is performed only on a block of the NAND flash which exceeds a preset number of data write / erase times. However, even in a block in which data write / erase operations have not been performed a predetermined number of times as described above, when the NAND flash temperature is out of the normal operating temperature range due to the surrounding environment, it is more likely to be converted to the runtime bad block.
그러나 현재 낸드 플래시를 구비하는 레이드 시스템에서는 데이터 쓰기/지우기 횟수만을 고려하여 데이터 백업을 수행할 뿐 낸드 플래시의 온도를 고려하여 데이터 백업을 수행하는 방법은 없었다. However, at present, a RAID system having NAND flash performs data backup only by considering the number of data write / erases, and there is no method of performing data backup in consideration of NAND flash temperature.
따라서 본 발명은 낸드 플래시를 구비하는 레이드 시스템에서 낸드 플래시의 온도를 고려하여 런 타임 배드 블록으로 전환될 가능성이 높은 블록에 저장된 데이터를 백업하기 위한 장치 및 방법을 제공한다.Accordingly, the present invention provides an apparatus and method for backing up data stored in a block that is likely to be converted to a run time bad block in consideration of the NAND flash temperature in a RAID system having a NAND flash.
이를 위한 본 발명은 적어도 하나의 낸드 플래시와 데이터 백업을 위한 백업 영역을 구비하는 레이드 시스템에서 상기 낸드 플래시의 온도를 고려하여 데이터를 백업하기 위한 장치에 있어서, 상기 낸드 플래시의 온도를 측정하여 측정된 온도 값을 출력하는 온도센서와, 상기 적어도 하나의 낸드 플래시와 상기 백업 영역을 구비하는 메모리 부와, 상기 온도센서에서 입력된 온도 값이 상기 낸드 플래시의 정상 동작 가능 온도 범위를 벗어나면 상기 각 낸드 플래시를 구성하는 모든 블록에 대해 데이터 쓰기/지우기 동작 횟수를 체크하여 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록 순으로 정렬하고, 상기 백업 영역의 블록 수를 확인한 후 상기 확인된 백업 영역의 블록 수만큼 상기 정렬된 블록들 중 데이터 쓰기/지우기 동작이 가장 많은 블록 순으로 해당 블록의 데이터를 복사하여 상기 백업 영역에 저장하는 제어부를 구비함을 특징으로 한다.In accordance with an aspect of the present invention, there is provided a device for backing up data in consideration of a temperature of the NAND flash in a RAID system having at least one NAND flash and a backup area for data backup, wherein the temperature of the NAND flash is measured. A temperature sensor for outputting a temperature value, the memory unit including the at least one NAND flash and the backup area, and the temperature value input from the temperature sensor is outside the normal operating temperature range of the NAND flash. By checking the number of data write / erase operations for all blocks constituting the flash, the data write / erase operations are sorted in order of the largest number of data write operations, and the number of blocks in the backup area is checked after checking the number of blocks in the backup area. Block order with the most data write / erase operations among the sorted blocks To copy the data of the block is characterized in that a control unit for storing in the backup area.
또한, 본 발명은 적어도 하나의 낸드 플래시와 데이터 백업을 위한 백업 영역을 구비하는 레이드 시스템에서 상기 낸드 플래시의 온도를 고려하여 데이터를 백업하기 위한 방법에 있어서, 상기 낸드 플래시의 온도를 측정하고, 상기 측정된 온도가 낸드 플래시의 정상 동작 가능 온도 범위에 속하는지 검사하는 과정과, 낸드 플래시의 온도가 상기 정상 동작 가능 온도 범위를 벗어나면 상기 각각의 낸드 플래시를 구성하는 모든 블록에 대해 데이터 쓰기/지우기 동작 횟수를 체크하여 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록 순으로 정렬하는 과정과, 상기 백업 영역의 블록 수를 확인하고, 상기 확인된 백업 영역의 블록 수만큼 상기 정렬된 블록들 중 데이터 쓰기/지우기 동작이 가장 많은 블록 순으로 해당 블록의 데이터를 복사하여 상기 백업 영역에 저장하는 과정을 구비함을 특징으로 한다.The present invention also provides a method for backing up data in consideration of a temperature of the NAND flash in a RAID system having at least one NAND flash and a backup area for data backup, the method comprising: measuring the temperature of the NAND flash, Checking whether the measured temperature is within the normal operating temperature range of the NAND flash, and writing / clearing data for all blocks constituting each of the NAND flashes when the NAND flash temperature is outside the normal operating temperature range. Checking the number of operations and sorting the data in the order of the largest number of operations, checking the number of blocks of the backup area, and writing / writing data among the sorted blocks by the number of blocks of the checked backup area. The backup by copying the data of the block in order of the block with the most erase operation And storing the data in the area.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the annexed drawings, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.
본 발명에서는 낸드 플래시를 구비하는 레이드 시스템에서 낸드 플래시의 온도를 고려하여 런 타임 배드 블록으로 전환될 가능성이 높은 블록들에 저장된 데이터를 백업하기 위한 방법을 제안하도록 한다. The present invention proposes a method for backing up data stored in blocks that are likely to be converted to a runtime bad block in consideration of the NAND flash temperature in a RAID system having a NAND flash.
그러면 이제 도 1을 참조하여 낸드 플래시의 온도에 따라 런 타임 배드 블록으로 전환될 가능성이 높은 블록들에 저장된 데이터를 백업할 수 있는 레이드 시스템의 블록 구성을 살펴보도록 한다. 먼저, 본 발명의 실시 예에 따라 낸드 플래시의 온도에 따라 데이터 백업을 제어하기 위해 낸드 플래시의 온도를 측정해야 하지 만, 낸드 플래시의 온도를 직접 측정하기는 어렵다. 따라서, 본 발명의 실시 예에서는 낸드 플래시와 낸드 플래시가 장착된 인쇄 회로 기판(PCB: Printed Circuit Board)의 온도가 거의 유사하므로 PCB의 온도를 측정함으로써 낸드 플래시의 온도를 확인하도록 한다.Next, referring to FIG. 1, a block configuration of a RAID system capable of backing up data stored in blocks that are likely to be converted into a runtime bad block according to the NAND flash temperature will be described. First, in order to control the data backup according to the temperature of the NAND flash according to an embodiment of the present invention, the temperature of the NAND flash must be measured, but it is difficult to directly measure the temperature of the NAND flash. Therefore, in the embodiment of the present invention, since the temperatures of the NAND flash and the printed circuit board (PCB) on which the NAND flash is mounted are almost similar, the temperature of the NAND flash is determined by measuring the temperature of the PCB.
온도센서(102)는 서미스터(Thermistor), IC 온도 센서로 구성될 수 있고, 특정 소자의 온도를 측정한다. 특히, 본 발명에서 온도센서(102)는 메모리 부(104)를 구성하는 낸드 플래시가 장착되어 있는 PCB의 온도를 측정하고, 측정된 온도 값을 제어부(100)로 출력한다.The temperature sensor 102 may be composed of a thermistor, an IC temperature sensor, and measures the temperature of a specific device. In particular, in the present invention, the temperature sensor 102 measures the temperature of the PCB on which the NAND flash constituting the
그리고 제어부(100)는 레이드 시스템의 전반적인 제어 동작을 수행한다. 특히 본 발명에서 제어부(100)는 온도센서(102)로부터 입력된 PCB의 온도 값이 낸드 플래시의 정상 동작 가능 온도 범위 내에 존재하는지 검사한다. 이때 낸드 플래시의 정상 동작이 가능한 온도 범위에 대한 정보는 메모리 부(104)를 구성하는 낸드 플래시의 초기 공정 시 낸드 플래시의 일부 영역에 저장된다. 또한, 일반적인 낸드 플래시의 정상 동작 가능 온도 범위는 -30도에서 85도이다. 따라서, 제어부(100)는 이와 같이 낸드 플래시에 미리 저장된 온도 범위를 이용하여 온도 값이 정상 동작 가능 온도 범위 내에 있는지 확인한다. 이때, 만약 PCB의 온도 값이 낸드 플래시의 정상 동작 가능 온도 범위를 벗어나면 제어부(100)는 각각의 낸드 플래시를 구성하는 모든 블록에 대해 웨어 레벨링을 수행하여 데이터 쓰기/지우기 동작이 고루 수행되도록 한다. 이후 제어부(100)는 각각의 낸드 플래시를 구성하는 모든 블록에 대해 데이터 쓰기/지우기 동작 횟수를 체크하여 데이터 쓰기/지우기 동작이 가장 많은 블록 순으로 정렬시킨다. 그리고 제어부(100)는 데이터 백업을 위한 백업 영역의 블록 수를 확인하고, 상기 확인한 백업 영역의 블록 수만큼 상기 정렬된 블록들 중 데이터 쓰기/지우기 동작이 가장 많은 블록 순으로 복사하여 백업 영역에 저장한다. 이때, 블록을 복사하는 것은 블록에 저장된 데이터를 복사하는 것을 의미한다. 또한, 제어부(100)는 복사된 블록을 백업 영역에 저장할 시에 데이터 쓰기/지우기 동작 횟수가 가장 많은 순으로 백업 영역을 구성하는 첫번째 블록부터 순차적으로 저장한다.The
그리고 버퍼(106)는 제어부(100)의 제어 하에 제어부(100)에서 확인한 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록 순으로 정렬된 블록들의 순서 정보를 임시 저장한다. 또한, 버퍼(106)는 제어부(100)의 요청에 따라 저장된 블록 순서 정보를 출력하는 기능을 한다.Under the control of the
한편, 메모리 부(104)는 적어도 하나의 낸드 플래시를 가지고, 이러한 낸드 플래시들은 PCB에 장착되어 메모리 부(104)를 구성한다. 그리고 본 발명의 실시 예에 따른 메모리 부(104)는 데이터를 백업하기 위한 백업 영역을 구비한다. 이때 백업 영역은 별도의 백업용 메모리 디바이스를 사용할 수도 있고, 낸드 플래시의 예약된 유효 블록들을 모아서 구성된 하나의 가상 백업용 메모리 디바이스를 사용할 수 있다. 여기서 별도로 구비되는 백업용 메모리 디바이스는 하나의 낸드 플래시 또는 노어(NOR) 플래시가 될 수 있다. 또한, 메모리 부(104)는 낸드 플래시의 예약된 유효 블록들을 모아서 하나의 가상 백업용 메모리 디바이스로 구성하여 백업 영역으로 사용할 수 있다. 또한, 동종의 낸드 플래시는 동일한 개수의 예약된 유효 블록을 가지는 낸드 플래시를 말하고, 이종의 낸드 플래시는 서로 다른 개수의 예약된 유효 블록을 가지는 낸드 플래시를 말한다. 그리고 유효 블록은 굿 블록을 말하고, 예약된 유효 블록은 최소 유효 블록 중에서 임의로 사용하지 않은 굿 블록을 말한다. 또한 최소 유효 블록은 각 반도체 제조사의 스펙(Spec: Specification)에서 제시하는 값으로, 제조사가 이 블록의 개수만큼은 굿 블록이라는 것을 보장하는 값을 말한다.On the other hand, the
상기한 바와 같이 별도로 구비되는 백업용 메모리 디바이스를 가지는 메모리 부(104)의 내부 구성은 도 2와 같이 도시할 수 있다. 또한, 낸드 플래시의 예약된 유효 블록들을 모아서 구성된 하나의 가상 백업용 메모리 디바이스를 가지는 메모리 부(104)의 내부 구성은 도 3과 같이 도시할 수 있다.An internal configuration of the
한편, 백업 영역이 하기와 같은 <수학식1>과 같이 계산되는 최대 블록 수만큼의 블록 수를 가진다면 런 타임 배드 블록으로 전환될 가능성이 있는 모든 블록에 저장된 데이터를 저장할 수 있다. 단, <수학식1>에서는 하나의 낸드 플래시가 가지는 최소 유효 블록 수는 낸드 플래시의 종류에 따라 다르기 때문에 상기와 같은 <수학식1>에서는 동일한 개수의 최소 유효 블록을 가지는 낸드 플래시를 사용하는 경우로 가정한다.On the other hand, if the backup area has the number of blocks equal to the maximum number of blocks calculated as in
= 낸드 플래시의 개수 * (하나의 낸드 플래시가 가지는 전체 블록 수 - 하나의 낸드 플래시가 가지는 최소 유효 블록 수)= Number of NAND flashes * (the total number of blocks that one NAND flash has-minimum number of effective blocks that one NAND flash has)
가장 이상적인 백업 영역의 블록 수는 상기의 <수학식1>과 같이 계산되는 최대 블록 수만큼 가지는 것이지만, 메모리의 크기는 한정되어 있기 때문에 메모리의 일부를 사용하는 백업 영역도 한정될 수밖에 없다. 따라서, 본 발명의 실시 예에서는 한정된 블록 수를 가지는 백업 영역에 런 타임 배드 블록이 발생할 가장 큰 확률을 가지는 블록 순으로 백업 영역의 크기만큼 선택하여 백업할 수 있는 방안을 하기에서 제안하도록 한다.The most ideal number of blocks of the backup area is to have the maximum number of blocks calculated as in
상기의 도 2와 도 3을 과 같이 구성되는 메모리 부(104)의 백업 영역에 런 타임 배드 블록으로 전환될 가능성이 높은 블록 순으로 해당 블록에 저장된 데이터를 저장하는 과정에 대해서 하기의 도 4에 대한 설명에서 상세하게 설명하도록 한다.The process of storing the data stored in the block in the order of the blocks which are likely to be converted to the runtime bad block in the backup area of the
그러면 이제 상기의 도 1과 같이 구성되는 레이드 시스템에서 제어부(100)가 낸드 플래시의 온도를 고려하여 데이터 백업을 제어하는 과정에 대해서 도 4를 참조하여 살펴보도록 한다. Next, a process of controlling the data backup by considering the temperature of the NAND flash in the RAID system configured as shown in FIG. 1 will be described with reference to FIG. 4.
먼저, 400단계에서 제어부(100)는 온도센서(102)에서 측정된 PCB의 온도 값을 입력받아 PCB의 온도 값을 확인한다. 이후, 제어부(100)는 402단계로 진행하여 PCB의 온도 값이 낸드 플래시의 정상 동작 온도 범위를 벗어났는지 검사한다. 즉, 제어부(100)는 낸드 플래시의 온도가 낸드 플래시가 정상적으로 동작할 수 있는 온도 범위를 벗어나는지 확인하는 것이다. 여기서 낸드 플래시의 정상 동작 가능한 온도 범위는 메모리 부(104)를 구성하는 낸드 플래시에 초기 공정 시 저장되고, 이때 온도 범위 값은 -30도에서 85도이다.First, in
만약 402단계 검사 결과, PCB의 온도 값이 정상 동작 온도 범위를 벗어나면 제어부(100)는 403단계를 진행하고, 그렇지 않으면 413단계를 진행하여 일반적인 백업 동작을 수행한 후 데이터 백업 동작을 종료한다. 여기서 일반적인 백업 동작이란 각 낸드 플래시를 구성하는 블록들 중 데이터 쓰기/지우기 동작 횟수가 미리 설정된 횟수를 초과하는 블록이 발생하면 각각의 낸드 플래시를 구성하는 모든 블록에 대해 웨어 레벨링을 수행하고, 그 블록에 저장된 데이터를 복사하여 백업 영역에 저장한다.If the test result in
한편, 402단계 검사 결과 PCB의 온도 값이 낸드 플래시의 정상 동작 온도 범위를 벗어나서 진행한 403단계에서 제어부(100)는 각각의 낸드 플래시를 구성하는 모든 블록에 대해 웨어 레벨링을 수행하여 각 블록에 데이터 쓰기/지우기 동작이 고루 수행되도록 한다. 이후 제어부(100)는 404단계로 진행하여 각각의 낸드 플래시를 구성하는 모든 블록의 데이터 쓰기/지우기 동작 횟수를 체크한다. 이후, 406단계에서 제어부(100)는 각 낸드 플래시를 구성하는 모든 블록을 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록 순으로 정렬하고, 정렬된 블록들의 순서 정보를 버퍼(106)에 저장한다.On the other hand, in
이후 제어부(100)는 408단계로 진행하여 메모리 부(104)가 구비하는 백업 영역의 블록 수를 확인한다. 이때, 만약 메모리 부(104)가 별도의 백업용 메모리 디바이스를 백업 영역으로 구비하면, 408단계에서 제어부(100)는 백업용 메모리 디바이스의 크기를 확인한다. 예를 들어 메모리 부(104)가 도 2와 같이 4개의 낸드 플래시 NAND#1, NAND#2, NAND#3, NAND#4와 1개의 백업용 메모리 디바이스를 백업 영 역으로 구비한다고 가정한다. 이때 도 2에서 백업용 메모리 디바이스의 블록 수가 4개의 최소 유효 블록 개수를 가진다면 백업용 메모리 디바이스는 4개의 블록에 저장된 데이터를 백업할 수 있다.In
만약 다른 실시 예로 메모리 부(104)가 도 3과 같이 각 낸드 플래시들이 가지는 예약된 유효 블록들을 모아서 하나의 가상 백업용 메모리 디바이스로 구성하여 백업 영역으로 사용한다고 가정하면, 408단계에서 제어부(100)는 각 낸드 플래시들이 가지는 예약된 유효 블록들의 총 개수를 확인한다. 예를 들어 메모리 부(104)가 도 3과 같이 N개의 블록을 가지는 M개의 낸드 플래시들 NAND#1, NAND#2, NAND#3,…, NAND#M로 구성되고, 각각의 낸드 플래시가 가지는 예약된 유효 블록의 개수가 3개라고 가정한다. 그러면 가상 백업용 메모리 디바이스의 블록 수는 3*M개가 된다.In another embodiment, it is assumed that the
이후 408단계에서 410단계로 진행한 제어부(100)는 백업 영역의 블록 수만큼 상기 정렬된 블록들 중 데이터 쓰기/지우기 동작이 가장 많은 블록 순으로 해당 블록의 데이터를 복사하여 데이터 쓰기/지우기 동작 횟수가 가장 많은 순으로 백업 영역을 구성하는 첫 번째 블록부터 순차적으로 백업 영역에 저장한다. 예를 들어 도 2와 같이 백업용 메모리 디바이스를 백업 영역으로 구비하는 메모리 부(104)에서 NAND#1, NAND#2, NAND#3, NAND#4가 가지는 블록들 중 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록에서 적은 블록 순으로 정렬한 순서가 block#1-1> block#2-3> block#3-1> block#4-5 라고 가정한다. 이때 제어부(100)는 백업용 메모리 디바이스의 첫 번째 블록에 block#1-1에 저장된 데이터를 저장하고, 두 번째 블록에는 block#2-3에 저장된 데이터를, 세 번째 블록에는 block#3-1에 저장된 데이터를, 네 번째 블록에는 block#4-5에 저장되어 있는 데이터를 저장한다. After that, the
만약 다른 실시 예로 도 3과 같이 메모리 부(104)를 구성하는 다수의 낸드 플래시들이 가지는 예약된 유효 블록들을 모아서 하나의 가상 백업용 메모리처럼 사용하는 메모리 부(104)에서 A, B, C, D영역 순으로 데이터를 저장한다고 가정한다. 이때 제어부(100)는 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록에서 적은 블록 순으로 정렬된 M*(N-3)개의 블록들에 저장된 데이터를 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록부터 순차적으로 A, B, C, D영역에 저장한다.As another embodiment, as shown in FIG. 3, regions A, B, C, and D of the
이후, 제어부(100)는 412단계로 진행하여 데이터가 백업된 낸드 플래시의 블록 주소와 해당 낸드 플래시의 데이터를 백업한 백업 영역의 블록 주소를 매핑시킨 백업 주소 관리 테이블을 메모리 부(104)에 저장한다. 이후 제어부(100)는 데이터 백업 과정이 종료되면 다시 400단계에서 412단계의 과정을 계속적으로 진행한다. After that, the
한편 상술한 본 발명의 설명에서는 실시 예에 대해서 설명하였으나 여러 가지 변형이 본 발명의 범위 내에서 이루어질 수 있다. 특히 본 발명의 실시 예에서는 다수의 동종인 낸드 플래시로 구성된 레이드 시스템을 이용하여 예를 들어 설명하였으나 다수의 이종인 낸드 플래시로 구성된 레이드 시스템에서도 상기의 데이터 백업 방법을 적용할 수 있다.Meanwhile, in the above description of the present invention, the embodiments have been described, but various modifications may be made within the scope of the present invention. In particular, in the exemplary embodiment of the present invention, the above-described data backup method may be applied to a raid system composed of a plurality of heterogeneous NAND flashes.
상술한 바와 같이 본 발명은 낸드 플래시를 구비하는 레이드 시스템에서 낸 드 플래시의 온도가 정상 동작 가능 온도 범위를 벗어나면 백업 영역의 블록 수만큼 데이터 쓰기/지우기 동작 횟수가 가장 많은 블록부터 순차적으로 백업 영역에 저장한다. 따라서 본 발명에서는 낸드 플래시의 온도를 고려하여 런타임 배드 블록으로 전환될 가능성이 높은 블록에 저장된 데이터를 백업할 수 있는 이점이 있다. As described above, in the RAID system having the NAND flash, when the NAND flash temperature is outside the normal operating temperature range, the backup area is sequentially sequentially starting from the block with the largest number of data write / erase operations by the number of blocks in the backup area. Store in Therefore, the present invention has an advantage of backing up data stored in a block that is likely to be converted to a runtime bad block in consideration of the NAND flash temperature.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070009514A KR20080071366A (en) | 2007-01-30 | 2007-01-30 | Apparatus and method for backup data considering temperature of nand flash memory in raid system having nand flash memories |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070009514A KR20080071366A (en) | 2007-01-30 | 2007-01-30 | Apparatus and method for backup data considering temperature of nand flash memory in raid system having nand flash memories |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080071366A true KR20080071366A (en) | 2008-08-04 |
Family
ID=39882148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070009514A KR20080071366A (en) | 2007-01-30 | 2007-01-30 | Apparatus and method for backup data considering temperature of nand flash memory in raid system having nand flash memories |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080071366A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8897074B2 (en) | 2013-03-08 | 2014-11-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Writing data to a thermally sensitive memory device |
US9852067B2 (en) | 2015-11-04 | 2017-12-26 | SK Hynix Inc. | Data storage device and operating method thereof |
CN108628718A (en) * | 2018-03-29 | 2018-10-09 | 深圳忆联信息系统有限公司 | It is a kind of to mitigate the SSD management methods and SSD that temperature influences |
EP3726339A1 (en) * | 2019-04-18 | 2020-10-21 | Lockpoint IP GmbH | Data handling device |
US11029888B2 (en) | 2019-04-30 | 2021-06-08 | SK Hynix Inc. | Memory system and method of controlling operations on bad memory block based on temperature |
CN113110794A (en) * | 2020-01-10 | 2021-07-13 | 株洲中车时代电气股份有限公司 | Data storage method and system for NandFlash |
-
2007
- 2007-01-30 KR KR1020070009514A patent/KR20080071366A/en not_active Application Discontinuation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8897074B2 (en) | 2013-03-08 | 2014-11-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Writing data to a thermally sensitive memory device |
US8988944B2 (en) | 2013-03-08 | 2015-03-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Writing data to a thermally sensitive memory device |
US9852067B2 (en) | 2015-11-04 | 2017-12-26 | SK Hynix Inc. | Data storage device and operating method thereof |
CN108628718A (en) * | 2018-03-29 | 2018-10-09 | 深圳忆联信息系统有限公司 | It is a kind of to mitigate the SSD management methods and SSD that temperature influences |
CN108628718B (en) * | 2018-03-29 | 2021-02-09 | 深圳忆联信息系统有限公司 | SSD (solid State disk) management method for reducing temperature influence and SSD |
EP3726339A1 (en) * | 2019-04-18 | 2020-10-21 | Lockpoint IP GmbH | Data handling device |
WO2020211985A1 (en) * | 2019-04-18 | 2020-10-22 | Lockpoint Ip Gmbh | Data handling device |
US11972138B2 (en) | 2019-04-18 | 2024-04-30 | Swiss Vault Systems GmbH | Data storage system for balancing thermal load over storage devices |
US11029888B2 (en) | 2019-04-30 | 2021-06-08 | SK Hynix Inc. | Memory system and method of controlling operations on bad memory block based on temperature |
CN113110794A (en) * | 2020-01-10 | 2021-07-13 | 株洲中车时代电气股份有限公司 | Data storage method and system for NandFlash |
CN113110794B (en) * | 2020-01-10 | 2023-09-08 | 株洲中车时代电气股份有限公司 | Data storage method and system for NandFlash |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4901987B1 (en) | Storage device, electronic device, and error data correction method | |
US7873885B1 (en) | SSD test systems and methods | |
JP5585919B2 (en) | Power shutdown management | |
JP4524309B2 (en) | Memory controller for flash memory | |
KR100873943B1 (en) | System and method of reading non-volatile computer memory | |
US8255614B2 (en) | Information processing device that accesses memory, processor and memory management method | |
US8745443B2 (en) | Memory system | |
US20110099324A1 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
US10860247B2 (en) | Data writing method and storage controller | |
US11853599B2 (en) | Memory system and information processing system | |
CN104731674B (en) | Method and apparatus for storing electronic system firmware using MLC NVM | |
JP2011070346A (en) | Memory system | |
US9990149B2 (en) | Memory device for internally performing read-verify operation, method of operating the same, and memory system including the same | |
KR20080071366A (en) | Apparatus and method for backup data considering temperature of nand flash memory in raid system having nand flash memories | |
TWI803203B (en) | Storage device, controller, and operating method | |
JP4460967B2 (en) | MEMORY CARD, NONVOLATILE SEMICONDUCTOR MEMORY, AND SEMICONDUCTOR MEMORY CONTROL METHOD | |
US20070294588A1 (en) | Performing a diagnostic on a block of memory associated with a correctable read error | |
KR20100090001A (en) | Memory device, device and method for memory management | |
JP2010500699A (en) | Allowable bit errors for each sector in the memory device | |
US11984181B2 (en) | Systems and methods for evaluating integrity of adjacent sub blocks of data storage apparatuses | |
TWI616807B (en) | Data writing method and storage controller | |
JP2021163512A (en) | Memory system and information processing system | |
TWI502350B (en) | Flash memory accessing apparatus and method thereof | |
JP2005050442A (en) | Redundant memory circuit | |
JP4661369B2 (en) | Memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |