KR101677532B1 - Data storage device and method for restricting access thereof - Google Patents

Data storage device and method for restricting access thereof Download PDF

Info

Publication number
KR101677532B1
KR101677532B1 KR1020140098309A KR20140098309A KR101677532B1 KR 101677532 B1 KR101677532 B1 KR 101677532B1 KR 1020140098309 A KR1020140098309 A KR 1020140098309A KR 20140098309 A KR20140098309 A KR 20140098309A KR 101677532 B1 KR101677532 B1 KR 101677532B1
Authority
KR
South Korea
Prior art keywords
block
error bit
storage device
data storage
maintenance process
Prior art date
Application number
KR1020140098309A
Other languages
Korean (ko)
Other versions
KR20150017301A (en
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 실리콘 모션 인코포레이티드
Publication of KR20150017301A publication Critical patent/KR20150017301A/en
Application granted granted Critical
Publication of KR101677532B1 publication Critical patent/KR101677532B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Abstract

본 발명은 플래시 메모리, 온도 센서 및 제어기를 포함하는 데이터 저장 디바이스를 제공한다. 플래시 메모리는 복수의 블록을 구비하고, 각 블록은 복수의 페이지를 구비한다. 온도 센서는 주변 주위 온도를 검출하여 온도 파라미터를 생성한다. 제어기는 데이터 저장 디바이스가 전력 온된 이후 미리 결정된 기간 후에 제1 유지 과정을 수행하도록 배열된다. 제어기는 온도 센서를 판독하여 제1 유지 과정에서 제1 온도 파라미터를 획득하고, 제1 미리 결정된 조건에 따라 제2 유지 과정을 수행하기 위한 제1 시간 범위를 결정하며, 제1 미리 결정된 조건은 제1 온도 파라미터를 포함하고, 제어기는 제1 유지 과정이 완료된 이후 제1 시간 범위 후에 제2 유지 과정을 수행하도록 더 배열된다.The present invention provides a data storage device comprising a flash memory, a temperature sensor and a controller. The flash memory has a plurality of blocks, and each block has a plurality of pages. The temperature sensor detects the ambient temperature and generates temperature parameters. The controller is arranged to perform a first maintenance procedure after a predetermined period of time after the data storage device is powered on. The controller reads the temperature sensor to obtain a first temperature parameter in a first maintenance process and determines a first time range for performing a second maintenance process according to a first predetermined condition, 1 temperature parameter, and the controller is further arranged to perform a second maintenance process after a first time period after the first maintenance process is completed.

Description

데이터 저장 디바이스 및 이의 액세스 제한 방법{DATA STORAGE DEVICE AND METHOD FOR RESTRICTING ACCESS THEREOF}DATA STORAGE DEVICE AND METHOD FOR RESTRICTING ACCESS THEREOF FIELD OF THE INVENTION [0001]

관련 출원에 대한 상호 참조Cross-reference to related application

본 출원은 전체 내용이 본 명세서에 참조 문헌으로 병합된 2013년 12월 17일자로 출원된 대만 특허 출원 제102146530호의 우선권을 주장한다. 나아가, 본 출원은 2013년 8월 6일자로 출원된 미국 가출원 제61/862,858호의 이익을 주장한다.This application claims priority from Taiwan Patent Application No. 102146530, filed December 17, 2013, the entire contents of which is incorporated herein by reference. Further, the present application claims the benefit of U.S. Provisional Application No. 61 / 862,858, filed August 6, 2013.

발명의 기술 분야TECHNICAL FIELD OF THE INVENTION

본 발명은 메모리 디바이스에 적용되는 데이터 유지 방법에 관한 것으로, 보다 상세하게는 플래시 메모리를 자동적으로 모니터링할 수 있는 데이터 유지 방법에 관한 것이다.The present invention relates to a data holding method applied to a memory device, and more particularly, to a data holding method capable of automatically monitoring a flash memory.

전기적 방법을 사용하여 자체적으로 소거하고 프로그래밍하는 플래시 메모리는 비휘발성 데이터 저장 디바이스로 고려된다. 일례로서 NAND 플래시를 고려하면, 이것은 종종 메모리 카드, USB 플래시 디바이스, 솔리드 스테이트(solid state) 디바이스, eMMC 및 다른 용도에 사용된다.Flash memory that self-erases and programs using electrical methods is considered a non-volatile data storage device. Considering NAND flash as an example, it is often used for memory cards, USB flash devices, solid state devices, eMMC, and other applications.

NAND 플래시와 같은 플래시 메모리는 데이터를 저장하는데 다수의 블록 구조를 사용하며, 여기서 이 플래시 메모리는 플로팅 게이트 트랜지스터(floating gate transistor)들로 구성된다. 플로팅 게이트 트랜지스터의 플로팅 게이트는 전자 전하(electronic charge)를 포획하여 데이터를 저장할 수 있다. 그러나, 플로팅 게이트는 자체 동작 및 플래시 메모리의 여러 환경적 파라미터로 인해 전자 전하를 손실할 수 있어서, 판독 에러나 기록 에러를 초래할 수 있다.A flash memory, such as a NAND flash, uses a number of block structures to store data, wherein the flash memory is comprised of floating gate transistors. The floating gate of the floating gate transistor can capture electronic charge and store data. However, floating gates can lose electronic charge due to self-operation and various environmental parameters of the flash memory, resulting in read errors or write errors.

첨부 도면을 참조하여 이하 실시예에 상세한 설명이 주어진다.The following detailed description is given with reference to the accompanying drawings.

본 발명은 데이터 저장 디바이스를 제공한다. 데이터 저장 디바이스는 플래시 메모리, 온도 센서 및 제어기를 포함한다. 플래시 메모리는 복수의 블록을 구비하고, 각 블록은 복수의 페이지를 구비한다. 온도 센서는 주변 주위 온도를 검출하고 이에 따라 온도 파라미터를 생성하도록 배열되고, 여기서 온도 파라미터는 검출된 주변 주위 온도에 따라 변한다. 제어기는 데이터 저장 디바이스가 전력 온(power on)된 이후 미리 결정된 기간 후에 제1 유지 과정을 수행하도록 배열되고, 제1 미리 결정된 조건에 따라 제2 유지 과정을 수행하기 위한 제1 시간 범위(time span)를 결정하도록 더 배열되고, 여기서 제어기는 온도 센서를 판독하여 제1 유지 과정에서 제1 온도 파라미터를 획득하고, 제1 미리 결정된 조건은 제1 온도 파라미터를 포함하며, 제어기는 제1 유지 과정이 완료된 이후 제1 시간 범위 후에 제2 유지 과정을 수행하도록 더 배열된다.The present invention provides a data storage device. The data storage device includes a flash memory, a temperature sensor, and a controller. The flash memory has a plurality of blocks, and each block has a plurality of pages. The temperature sensor is arranged to detect the ambient ambient temperature and thereby generate a temperature parameter, wherein the temperature parameter varies with the detected ambient ambient temperature. The controller is arranged to perform a first maintenance process after a predetermined period of time after the data storage device is powered on and is configured to perform a first maintenance process in accordance with a first predetermined condition, ), Wherein the controller reads the temperature sensor to obtain a first temperature parameter in a first maintenance step, the first predetermined condition includes a first temperature parameter, and the controller is further configured to: And to perform a second maintenance process after the first time range after completion.

본 발명은 플래시 메모리의 데이터 저장 디바이스에 적용된 데이터 유지 방법을 더 제공하며, 여기서 플래시 메모리는 복수의 블록을 구비하고, 각 블록은 복수의 페이지를 구비한다. 데이터 유지 방법은 데이터 저장 디바이스가 전력 온된 이후 미리 결정된 기간 후에 제1 유지 과정을 수행하는 단계; 온도 센서를 판독하여 제1 유지 과정에서 제1 온도 파라미터를 획득하는 단계; 제1 유지 과정에서 제1 미리 결정된 조건에 따라 제2 유지 과정을 수행하기 위한 제1 시간 범위를 결정하는 단계로서, 제1 미리 결정된 조건은 제1 온도 파라미터를 포함하는 것인, 상기 결정하는 단계; 및 제1 유지 과정이 완료된 이후 제1 시간 범위 후에 제2 유지 과정을 수행하는 단계를 포함한다.The present invention further provides a data holding method applied to a data storage device of a flash memory, wherein the flash memory has a plurality of blocks, each block having a plurality of pages. The data holding method includes the steps of: performing a first holding process after a predetermined period of time after the data storage device is powered on; Reading a temperature sensor to obtain a first temperature parameter in a first maintenance process; Determining a first time range for performing a second maintenance process in accordance with a first predetermined condition in a first maintenance process, the first predetermined condition comprising a first temperature parameter; ; And performing a second maintenance process after a first time period after the first maintenance process is completed.

본 발명은 첨부 도면을 참조하여 후속 상세한 설명과 예를 판독하는 것에 의해 보다 충분히 이해될 수 있을 것이다:
도 1은 본 발명의 전자 시스템의 일 실시예를 도시한 개략도;
도 2는 본 발명의 일 실시예에 따른 액세스 제한 방법의 흐름도;
도 3은 본 발명의 다른 실시예에 따른 액세스 제한 방법의 흐름도.
The invention may be more fully understood by reading the following detailed description and examples with reference to the accompanying drawings, in which:
1 is a schematic diagram illustrating one embodiment of an electronic system of the present invention;
2 is a flow diagram of an access restriction method in accordance with an embodiment of the present invention;
3 is a flow diagram of an access restriction method in accordance with another embodiment of the present invention.

이하 상세한 설명은 본 발명을 수행하는 최상의 모드이다. 본 설명은 본 발명의 일반 원리를 도시하기 위한 것일 뿐이므로 발명을 제한하는 의미로 해석되어서는 안 된다. 본 발명의 범위는 첨부 도면을 참조하여 최상으로 결정된다.The following detailed description is the best mode for carrying out the invention. This description is made to illustrate the general principles of the present invention and should not be construed as limiting the invention. The scope of the present invention is best determined by reference to the accompanying drawings.

도 1은 본 발명의 전자 시스템의 일 실시예를 도시한 개략도이다. 전자 시스템(100)은 호스트(120) 및 데이터 저장 디바이스(140)를 포함한다. 데이터 저장 디바이스(140)는 제어기(160), 플래시 메모리(180) 및 온도 센서(190)를 포함한다. 나아가, 데이터 저장 디바이스(140)는 호스트(120)로부터 수신된 커맨드에 응답하여 동작할 수 있다. 제어기(160)는 컴퓨팅 유닛(162), 비휘발성 메모리(164) (예를 들어, 판독 전용 메모리), 랜덤 액세스 메모리(165) 및 타이밍 디바이스(166)를 포함한다. 비휘발성 메모리(164)에 저장된 프로그램 코드 및 데이터는 펌웨어를 구성할 수 있고, 컴퓨팅 유닛(162)에 의해 수행되어, 제어기(160)가 펌웨어에 의해 플래시 메모리(180)를 제어할 수 있게 한다. 예를 들어, 제어기(160)는 호스트 디바이스(120)로부터 수신된 커맨드에 따라 플래시 메모리(180)에 액세스하여 본 발명의 유지 과정을 자동적으로 수행할 수 있다. 본 실시예들 중 하나에서, 유지 과정은 배경에서 반복적으로 수행되는 것이 주목된다. 예를 들어, 제어기(160)는 아이들(idle)일 때에만 유지 과정을 수행하고, 수신된 커맨드에 대응하는 작업이 완료될 때까지 호스트(120)로부터 커맨드를 수신할 때 유지 과정을 중지시킨다. 플래시 메모리(180)는 복수의 블록을 구비하고, 각 블록은 복수의 페이지를 구비한다. 타이밍 디바이스(166)는 데이터 저장 디바이스(180)가 전력 온된 시간, 및 과정들 사이의 시간 기간 등을 레코드(record)하도록 배열된다. 온도 센서(190)는 데이터 저장 디바이스(140)의 주변 주위 온도를 검출하도록 배열되고, 주변 주위 온도의 변동에 응답하여 온도 파라미터를 생성한다. 이 실시예에서, 온도 센서(190)는 데이터 저장 디바이스(140)의 플래시 메모리(180)에 인접하여 구현되고, 플래시 메모리(180)의 주변 주위 온도를 검출하도록 배열되지만, 이것으로 제한되지 않는다. 다른 실시예에서, 온도 센서(190)는 데이터 저장 디바이스(140) 외부에 구현되고, 데이터 저장 디바이스(140)의 주변 주위 온도를 검출하도록 배열될 수 있다.1 is a schematic diagram showing one embodiment of an electronic system of the present invention. The electronic system 100 includes a host 120 and a data storage device 140. The data storage device 140 includes a controller 160, a flash memory 180, and a temperature sensor 190. Further, the data storage device 140 may operate in response to commands received from the host 120. [ Controller 160 includes a computing unit 162, a non-volatile memory 164 (e.g., read only memory), a random access memory 165, and a timing device 166. [ The program code and data stored in the non-volatile memory 164 may constitute firmware and may be executed by the computing unit 162 to allow the controller 160 to control the flash memory 180 by the firmware. For example, the controller 160 may access the flash memory 180 in accordance with commands received from the host device 120 to automatically perform the maintenance procedure of the present invention. It is noted that, in one of these embodiments, the maintenance process is performed iteratively in the background. For example, the controller 160 performs a maintenance process only when it is idle, and stops the maintenance process when receiving a command from the host 120 until the operation corresponding to the received command is completed. The flash memory 180 has a plurality of blocks, and each block has a plurality of pages. The timing device 166 is arranged to record the time at which the data storage device 180 is powered on, the time period between the processes, and so on. The temperature sensor 190 is arranged to detect the ambient temperature around the data storage device 140 and generates temperature parameters in response to variations in ambient ambient temperature. In this embodiment, the temperature sensor 190 is implemented adjacent to the flash memory 180 of the data storage device 140 and is arranged to detect the ambient ambient temperature of the flash memory 180, but is not limited thereto. In another embodiment, the temperature sensor 190 is implemented external to the data storage device 140 and can be arranged to detect the ambient ambient temperature of the data storage device 140.

나아가, 플래시 메모리(180)는 적어도 하나의 파라미터 테이블 및 적어도 하나의 스캔 조건 테이블을 저장하도록 더 배열된다. 일 실시예에서, 파라미터 테이블은 상이한 주변 주위 온도에 대응하는 시간 범위를 저장하도록 배열되고, 여기서 시간 범위는 현재 유지 과정 및 그 다음 유지 과정 사이의 시간 간격을 결정하도록 배열되지만, 이것으로 제한되지 않는다. 다른 실시예에서, 파라미터 테이블은 상이한 주변 주위 온도, 상이한 에러 비트 값, 상이한 개수의 소거된 블록, 호스트(120)가 데이터 저장 디바이스(140)에 마지막으로 액세스한 상이한 시간, 데이터 저장 디바이스(140)가 전력 온된 후의 상이한 시간 범위, 및/또는 블록이 소거된 횟수에 대응하는 시간 범위를 더 포함하며, 여기서 저장된 시간 범위는 그 다음 유지 과정을 구현하도록 배열된다. 스캔 조건 테이블은 상이한 에러 비트 값 및/또는 상이한 개수의 업데이트된 블록에 대응하는 스캔 조건을 저장하도록 배열된다. 예를 들어, 스캔 조건은 에러 비트 값의 임계값일 수 있으나, 이것으로 제한되지 않는다. 다른 실시예에서, 스캔 조건은 상이한 ECC 코드일 수 있다. 또 다른 실시예에서, 플래시 메모리(180)는 파라미터 함수(function) 및 스캔 조건 함수를 저장하도록 배열된다. 이 실시예에서, 이전의 유지 과정과 그 다음 유지 과정 사이의 시간 범위는 파라미터 함수에 의해 결정된다. 예를 들어, 파라미터 함수는 상이한 주변 주위 온도 값으로부터 현재 유지 과정과 다음 유지 과정 사이의 시간 범위를 계산하지만, 이것으로 제한되지 않는다. 다른 실시예에서, 파라미터 함수는 상이한 주변 주위 온도, 상이한 에러 비트 값, 업데이트된 블록의 개수, 호스트(120)가 데이터 저장 디바이스(140)에 마지막으로 액세스한 상이한 시간, 데이터 저장 디바이스(140)가 전력 온된 후의 상이한 시간 범위 및/또는 블록이 소거된 상이한 횟수에 따라 현재 유지 과정과 다음 유지 과정 사이의 시간 범위를 계산하도록 더 배열된다. 더욱이, 스캔 조건 함수는 상이한 에러 비트 값 및/또는 업데이트된 블록의 개수에 따라 상이한 스캔 조건을 결정하도록 더 배열된다. 더 높은 주변 주위 온도는 더 높은 에러 비트 값을 의미하고, 더 높은 개수의 업데이트된 블록을 의미하고, 데이터 저장 디바이스(140)가 전력 온된 시간이 더 긴 것을 의미하며, 블록이 소거된 횟수가 더 많다는 것은 현재 유지 과정과 다음 유지 과정 사이의 시간 범위가 더 짧다는 것을 의미한다는 것이 주목된다. 더 높은 에러 비트 값 및 더 높은 개수의 업데이트된 블록은 에러 비트 값의 더 낮은 임계값에 대응한다.Further, the flash memory 180 is further arranged to store at least one parameter table and at least one scan condition table. In one embodiment, the parameter table is arranged to store a time range corresponding to different ambient ambient temperatures, wherein the time range is arranged to determine the time interval between the current maintenance process and the next maintenance process, but is not limited thereto . In another embodiment, the parameter table may be stored in the data storage device 140, such as at different ambient temperature, different error bit values, different numbers of erased blocks, different times the host 120 last accessed the data storage device 140, Further comprising a time range corresponding to a different time range after the power is turned on and / or a number of times the block has been erased, wherein the stored time range is arranged to implement the next maintenance procedure. The scan condition table is arranged to store scan conditions corresponding to different error bit values and / or different numbers of updated blocks. For example, the scan conditions may be, but are not limited to, thresholds of error bit values. In another embodiment, the scan conditions may be different ECC codes. In yet another embodiment, the flash memory 180 is arranged to store a parameter function and a scan condition function. In this embodiment, the time range between the previous maintenance process and the next maintenance process is determined by the parameter function. For example, the parameter function calculates, but is not limited to, the time range between the current maintenance process and the next maintenance process from the different ambient ambient temperature values. In another embodiment, the parameter function may be a function of the data storage device 140, such as a different peripheral ambient temperature, a different error bit value, a number of updated blocks, different times the host 120 last accessed the data storage device 140, And to calculate a time range between the current maintenance process and the next maintenance process in accordance with the different time ranges after power-on and / or different times the blocks are erased. Moreover, the scan condition function is further arranged to determine different scan conditions depending on the different error bit values and / or the number of updated blocks. The higher ambient temperature means a higher error bit value, meaning a higher number of updated blocks, meaning that the data storage device 140 is powered on longer, and the number of times the block has been erased is greater It is noted that a large number means that the time range between the current maintenance process and the next maintenance process is shorter. The higher error bit value and the higher number of updated blocks correspond to the lower threshold value of the error bit value.

일 실시예에서, 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 이후 미리 결정된 기간 후에 제1 유지 과정을 수행하도록 배열된다. 이 실시예에서, 미리 결정된 기간은 미리 결정된 시간이지만, 이것으로 제한되지 않는다. 예를 들어, 미리 결정된 기간은 4 분 또는 5 분일 수 있으나, 이것으로 제한되지 않는다. 제1 유지 과정에서, 제어기(160)는 온도 센서(190)를 판독하여 제1 온도 파라미터를 획득하고, 제1 미리 결정된 조건에 따라 블록에 제1 블록 스캔을 수행하여 블록에 각각 대응하는 복수의 제1 에러 비트 값을 획득하기 위한 제1 시간 범위를 결정한다. 일 실시예에서, 제1 미리 결정된 조건은 제1 온도 파라미터를 포함하지만, 이것으로 제한되지 않는다. 다른 실시예에서, 제1 미리 결정된 조건은 호스트(120)가 데이터 저장 디바이스(140)에 마지막으로 액세스한 시간, 데이터 저장 디바이스(140)가 전력 온된 시간 및/또는 블록이 소거된 횟수를 더 포함할 수 있다. 제어기(160)는 파라미터 테이블 또는 파라미터 함수에 따라 제1 유지 과정에서 제1 시간 범위를 결정하여, 제어기(160)가 제1 유지 과정이 완료된 이후 제1 시간 범위 후에 제2 유지 과정을 수행할 수 있게 한다. 제1 미리 결정된 조건의 파라미터들은 현재 검출된 파라미터들인 것이 주목된다. 그리하여, 제1 유지 과정의 파라미터는 제2 유지 과정의 파라미터와는 상이할 수 있고, 제2 유지 과정의 파라미터는 제3 유지 과정의 파라미터와 상이할 수 있다. 일정 조건에서, 상이한 유지 과정은 동일한 파라미터를 구비할 수 있다. 예를 들어, 블록이 제2 유지 과정 및 제3 유지 과정에서 소거된 횟수는 호스트(120)가 제2 유지 과정과 제3 유지 과정 사이에 플래시 메모리(180)의 블록을 소거하지 않을 때에도 동일하다. 역으로, 블록이 제2 유지 과정에서 소거된 횟수는 호스트(120)가 제2 유지 과정과 제3 유지 과정 사이에 플래시 메모리(180)의 블록을 소거할 때에는 블록이 제3 유지 과정에서 소거된 횟수와 상이하다. 제어기(160)는 최소 하나의 블록에 대응하는 제1 에러 비트 값이 에러 비트 값의 미리 결정된 임계값을 초과할 때 적어도 하나의 블록을 업데이트하도록 더 배열된다는 것이 주목된다. 이 실시예에서, 에러 비트 값의 미리 결정된 임계값은 미리 결정된 임계값이지만, 이것으로 제한되지 않는다.In one embodiment, the controller 160 is arranged to perform a first maintenance procedure after a predetermined period of time after the data storage device 140 is powered on. In this embodiment, the predetermined period is a predetermined period of time, but is not limited thereto. For example, the predetermined period may be 4 minutes or 5 minutes, but is not limited thereto. In a first maintenance process, the controller 160 reads the temperature sensor 190 to obtain a first temperature parameter, and performs a first block scan on the block according to a first predetermined condition to generate a plurality of And determines a first time range for obtaining the first error bit value. In one embodiment, the first predetermined condition includes but is not limited to a first temperature parameter. In another embodiment, the first predetermined condition further includes the time the host 120 last accessed the data storage device 140, the time the data storage device 140 was powered on, and / or the number of times the block was erased can do. The controller 160 may determine the first time range in the first maintenance process according to the parameter table or the parameter function so that the controller 160 may perform the second maintenance process after the first time period after the first maintenance process is completed Let's do it. It is noted that the parameters of the first predetermined condition are currently detected parameters. Thus, the parameter of the first maintenance process may be different from the parameter of the second maintenance process, and the parameter of the second maintenance process may be different from the parameter of the third maintenance process. Under certain conditions, different maintenance procedures may have the same parameters. For example, the number of times the block is erased in the second and third maintenance processes is the same even when the host 120 does not erase the blocks of the flash memory 180 between the second maintenance process and the third maintenance process . Conversely, when the host 120 erases the block of the flash memory 180 between the second and third maintenance processes, the number of times the block is erased in the second maintenance process is such that the block is erased in the third maintenance process It differs from the number of times. It is noted that the controller 160 is further arranged to update at least one block when the first error bit value corresponding to the at least one block exceeds a predetermined threshold value of the error bit value. In this embodiment, the predetermined threshold value of the error bit value is a predetermined threshold value, but is not limited thereto.

다른 실시예에서, 미리 결정된 기간에서, 제어기(160)는 온도 센서(190)를 판독하여 미리 결정된 시간 간격에서 현재 온도 파라미터를 획득하고, 현재 온도 파라미터에 따라 제1 유지 과정을 시작하도록 배열된 시간을 조절하도록 더 배열된다. 즉, 제어기(160)는 온도 센서(190)를 판독하여 데이터 저장 디바이스(140)가 전력 온된 이후 미리 결정된 시간 간격에 현재 온도 파라미터를 획득하고, 현재 온도 파라미터에 따라 파라미터 테이블 또는 파라미터 함수를 룩업(look up)하는 것에 의해 제1 유지 과정을 시작하도록 배열된 시간을 결정하도록 배열되며, 여기서 미리 결정된 시간 간격의 범위는 미리 결정된 기간보다 짧다. 예를 들어, 미리 결정된 기간은 1 초 또는 2 초 등일 수 있으나, 이것으로 제한되지 않는다. 제1 유지 과정을 시작하도록 배열된 결정된 시간이 미리 결정된 기간 미만일 때, 제어기(160)는 제1 유지 과정을 시작하도록 배열된 결정된 시간에 따라 미리 결정된 기간을 조절하도록 더 배열된다. 예를 들어, 미리 결정된 기간은 5 분일 수 있고, 각 미리 결정된 시간 간격의 범위는 2 초이다. 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 후 5분 동안 매 2초 마다 온도 센서(190)를 판독하여 현재 온도 파라미터를 획득하고, 현재 온도 파라미터에 따라 제1 유지 과정을 구현하도록 배열된 시간을 결정하도록 배열된다. 예를 들어, 제어기(160)가 제1 유지 과정이 데이터 저장 디바이스(140)의 전력 온 이후 6분 (미리 결정된 기간보다 더 긴 기간) 후에 시작되어야 하는 것으로 결정할 때, 제어기(160)는 결정된 시간(6 분)을 무시하고, 온도 센서(190)를 판독하는 단계와 미리 결정된 기간이 종료할 때까지 매 2초마다 시간 범위를 결정하는 단계를 반복한다. 제어기(160)가 제1 유지 과정이 데이터 저장 디바이스(140)가 전력 온된 이후 3 분(미리 결정된 기간보다 더 짧은 기간) 후에 시작되어야 하는 것으로 결정할 때, 제어기(160)는 미리 결정된 기간을 3 분으로 조절하고, 온도 센서(190)를 판독하는 단계와 미리 결정된 기간이 종료될 때까지 매 2초마다 시간 범위를 결정하는 단계를 반복한다. 즉, 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 이후 예를 들어 3분 후에 제1 유지 과정을 수행한다.In another embodiment, in a predetermined time period, the controller 160 reads the temperature sensor 190 to obtain a current temperature parameter at a predetermined time interval, and adjusts the time Respectively. That is, the controller 160 reads the temperature sensor 190 to obtain the current temperature parameter at a predetermined time interval after the data storage device 140 is powered on, and displays the parameter table or parameter function in a lookup wherein the predetermined time interval is shorter than a predetermined period of time, wherein the predetermined time interval is shorter than the predetermined time interval. For example, the predetermined period may be, but is not limited to, one second or two seconds. The controller 160 is further arranged to adjust the predetermined period of time according to the determined time arranged to start the first maintenance process when the determined time arranged to start the first maintenance process is less than the predetermined period. For example, the predetermined period may be 5 minutes, and the range of each predetermined time interval is 2 seconds. The controller 160 is configured to read the temperature sensor 190 every two seconds for five minutes after the data storage device 140 is powered on to obtain the current temperature parameter and to arrange to implement the first maintenance procedure according to the current temperature parameter Lt; / RTI > For example, when the controller 160 determines that the first maintenance process should start after six minutes (a longer period than the predetermined period) after the power-on of the data storage device 140, (6 minutes), reading the temperature sensor 190, and determining the time range every 2 seconds until the predetermined period ends. When the controller 160 determines that the first maintenance process should start after three minutes (a shorter period than the predetermined period) after the data storage device 140 is powered on, the controller 160 sets the predetermined period to three minutes And reading the temperature sensor 190 and repeating the step of determining the time range every 2 seconds until the predetermined time period is ended. That is, the controller 160 performs the first maintenance process after, for example, three minutes after the data storage device 140 is powered on.

제어기(160)는 제1 유지 과정이 완료된 이후 제1 시간 범위 후에 제2 유지 과정을 수행하도록 더 배열된다. 제2 유지 과정에서, 제어기(160)는 온도 센서(190)를 판독하여 제2 온도 파라미터를 획득하고, 제2 미리 결정된 조건과 제1 이력 레코드에 따라 제3 유지 과정을 수행하는 제2 시간 범위를 결정하며, 제1 이력 레코드에 따라 블록에 제2 블록 스캔을 수행하기 위한 에러 비트 값의 제1 임계값을 결정한다. 일 실시예에서, 제2 미리 결정된 조건은 제2 온도 파라미터를 포함하고, 제1 이력 레코드는 제1 에러 비트 값 및 블록이 제1 유지 과정 동안 소거된 횟수를 포함하나, 이것으로 제한되지 않는다. 다른 실시예에서, 제2 미리 결정된 조건은 호스트(120)가 데이터 저장 디바이스(140)에 마지막으로 액세스한 시간, 데이터 저장 디바이스(140)가 전력 온된 시간 및/또는 블록이 소거된 횟수를 더 포함할 수 있다. 제어기(160)는 파라미터 테이블 또는 파라미터 함수에 따라 제2 유지 과정에서 제2 시간 범위를 결정하고, 제2 유지 과정이 완료된 이후 제2 시간 범위 후 제3 유지 과정을 수행할 수 있다. 제1 미리 결정된 조건의 파라미터들은 현재 검출된 파라미터들이고, 제3 유지 과정 및 제2 유지 과정의 동작은 동일한 것이 주목된다. 유사하게, 제3 유지 과정은 제4 유지 과정을 시작하도록 배열된 시간을 결정하는 제3 시간 범위를 결정하고, 블록에 제3 블록 스캔을 수행하기 위한 에러 비트 값의 제2 임계값을 결정할 수 있다. 제4 유지 과정 및 제2 유지 과정의 동작은 예를 들어 동일하다. 제어기(160)는 블록의 제2 에러 비트 값이 에러 비트 값의 제1 임계값보다 더 클 때 블록을 업데이트하도록 더 배열되는 것이 주목된다.The controller 160 is further arranged to perform a second maintenance process after a first time period after the first maintenance process is completed. In the second maintenance process, the controller 160 reads the temperature sensor 190 to obtain a second temperature parameter, and generates a second time range for performing a third maintenance process in accordance with the second predetermined condition and the first history record And determines a first threshold value of an error bit value for performing a second block scan on the block according to the first history record. In one embodiment, the second predetermined condition includes a second temperature parameter, and the first history record includes, but is not limited to, the first error bit value and the number of times the block was erased during the first maintenance process. In another embodiment, the second predetermined condition further includes the time the host 120 last accessed the data storage device 140, the time the data storage device 140 was powered on, and / or the number of times the block was erased can do. The controller 160 may determine the second time range in the second maintenance process according to the parameter table or the parameter function and perform the third maintenance process after the second time range after the completion of the second maintenance process. It is noted that the parameters of the first predetermined condition are the currently detected parameters, and the operations of the third maintenance process and the second maintenance process are the same. Similarly, the third maintenance process may determine a third time range that determines the time arranged to start the fourth maintenance process, and determine a second threshold of error bit values for performing a third block scan on the block have. The operations of the fourth maintenance process and the second maintenance process are the same for example. The controller 160 is further arranged to update the block when the second error bit value of the block is greater than the first threshold value of the error bit value.

제어기(160)는 블록 스캔의 결과(예를 들어, 에러 비트 값 및/또는 업데이트된 블록의 개수) 또는 유지 과정을 제공하기 위해 플래시 메모리(180)의 적어도 하나의 특정 블록에서 블록이 소거된 횟수(소거 카운트)를 저장할 수 있으나, 이것으로 제한되지 않는다. 블록 스캔에서, 제어기(160)는 플래시 메모리(180)의 각 블록을 스캔하여 각 블록에 대응하는 에러 비트 값을 획득하도록 배열된다. 보다 구체적으로, 제어기(160)는 플래시 메모리(180)의 각 블록을 판독하고 각 블록의 ECC(Error Correction)의 에러 비트 값을 획득하도록 배열된다. 이어서, 제어기(160)는 대응하는 에러 비트 값이 임계값, 예를 들어 에러 비트 값의 미리 결정된 임계값, 에러 비트 값의 제1 임계값, 및 에러 비트 값의 제2 임계값 등을 초과할 때, 블록을 업데이트하도록 더 배열된다. 나아가, 업데이트 과정에서, 제어기(160)는 블록의 데이터를 검색하고, 검색된 데이터를 정정하고, 정정된 데이터를 플래시 메모리(180)의 다른 블록에 저장하도록 배열된다. 에러 비트 값의 임계값은 ECC에 의해 정정될 수 있는 에러 비트 값의 최대값 미만인 것이 주목된다. 예를 들어, 데이터는 에러 비트가 43 비트 미만인 경우 ECC에 의해 정정될 수 있고, 에러 비트 값의 임계값은 35 비트 또는 38 비트일 수 있으나, 이것으로 제한되지 않는다. 기술 분야에 통상의 지식을 가진 자라면 ECC에 의해 정정될 수 있는 에러 비트 값의 최대값에 따라 에러 비트 값의 미리 결정된 임계값을 결정할 수 있을 것이다. 예를 들어, 에러 비트 값의 미리 결정된 임계값은 ECC에 의해 정정될 수 있는 에러 비트 값의 최대값이거나 또는 ECC에 의해 정정될 수 있는 에러 비트 값의 최대값 미만일 수 있다.The controller 160 determines the number of times the block has been erased in at least one particular block of the flash memory 180 to provide a result of the block scan (e.g., the error bit value and / or the number of updated blocks) (Erase count), but is not limited thereto. In a block scan, the controller 160 is arranged to scan each block of the flash memory 180 to obtain an error bit value corresponding to each block. More specifically, the controller 160 is arranged to read each block of the flash memory 180 and obtain the error bit value of the ECC (Error Correction) of each block. The controller 160 then determines if the corresponding error bit value exceeds a threshold, e.g., a predetermined threshold of error bit values, a first threshold of error bit values, and a second threshold of error bit values, and so on , It is further arranged to update the block. Further, in the updating process, the controller 160 is arranged to retrieve the data of the block, correct the retrieved data, and store the corrected data in another block of the flash memory 180. [ It is noted that the threshold value of the error bit value is less than the maximum value of the error bit value that can be corrected by the ECC. For example, the data may be corrected by the ECC if the error bit is less than 43 bits, and the threshold value of the error bit value may be 35 bits or 38 bits, but is not limited thereto. One of ordinary skill in the art will be able to determine a predetermined threshold value of the error bit value according to the maximum value of the error bit value that can be corrected by the ECC. For example, the predetermined threshold value of the error bit value may be the maximum value of the error bit value that can be corrected by the ECC or less than the maximum value of the error bit value that can be corrected by the ECC.

도 2는 본 발명의 일 실시예에 따른 액세스 제한 방법의 흐름도이다. 데이터 유지 방법은 도 1의 데이터 저장 디바이스(140)에 적용된다. 공정은 단계(S202)에서 시작한다.2 is a flow diagram of an access restriction method in accordance with an embodiment of the present invention. The data holding method is applied to the data storage device 140 of FIG. The process starts in step S202.

단계(S202)에서, 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 이후 미리 결정된 기간 후에 제1 유지 과정을 수행하도록 배열된다. 이 실시예에서, 미리 결정된 기간은 미리 결정된 시간이지만, 이것으로 제한되지 않는다. 예를 들어, 미리 결정된 기간은 4 분 또는 5 분일 수 있으나, 이것으로 제한되지 않는다. 제1 유지 과정에서, 제어기(160)는 온도 센서(190)를 판독하여 제1 온도 파라미터를 획득하고, 제1 미리 결정된 조건에 따라 블록에 제1 블록 스캔을 수행하여 블록에 각각 대응하는 복수의 제1 에러 비트 값을 획득하기 위한 제1 시간 범위를 결정한다. 일 실시예에서, 제1 미리 결정된 조건은 제1 온도 파라미터를 포함하지만, 이것으로 제한되지 않는다. 다른 실시예에서, 제1 미리 결정된 조건은 호스트(120)가 데이터 저장 디바이스(140)에 마지막으로 액세스한 시간, 데이터 저장 디바이스(140)가 전력 온된 시간 및/또는 블록이 소거된 횟수를 더 포함할 수 있다. 제어기(160)는 파라미터 테이블 또는 파라미터 함수에 따라 제1 유지 과정에서 시간 범위를 결정하여, 제어기(160)가 제1 유지 과정이 완료된 이후 결정된 시간 범위 후에 다음 유지 과정을 수행할 수 있게 하고, 다음 유지 과정은 제1 유지 과정, 제2 유지 과정 및 제3 유지 과정 등을 포함할 수 있다. 제1 미리 결정된 조건의 파라미터들은 현재 검출된 파라미터들이라는 것이 주목된다. 제어기(160)는 적어도 하나의 블록에 대응하는 제1 에러 비트 값이 에러 비트 값의 미리 결정된 임계값을 초과할 때 적어도 하나의 블록을 업데이트하도록 더 배열되는 것이 주목된다. 이 실시예에서, 에러 비트 값의 미리 결정된 임계값은 미리 결정된 임계값이지만, 이것으로 제한되지 않는다.In step S202, the controller 160 is arranged to perform the first maintenance process after a predetermined period of time since the data storage device 140 is powered on. In this embodiment, the predetermined period is a predetermined period of time, but is not limited thereto. For example, the predetermined period may be 4 minutes or 5 minutes, but is not limited thereto. In a first maintenance process, the controller 160 reads the temperature sensor 190 to obtain a first temperature parameter, and performs a first block scan on the block according to a first predetermined condition to generate a plurality of And determines a first time range for obtaining the first error bit value. In one embodiment, the first predetermined condition includes but is not limited to a first temperature parameter. In another embodiment, the first predetermined condition further includes the time the host 120 last accessed the data storage device 140, the time the data storage device 140 was powered on, and / or the number of times the block was erased can do. The controller 160 determines the time range in the first maintenance process according to the parameter table or the parameter function so that the controller 160 can perform the next maintenance process after the determined time range after the completion of the first maintenance process, The maintenance process may include a first maintenance process, a second maintenance process, and a third maintenance process. It is noted that the parameters of the first predetermined condition are currently detected parameters. The controller 160 is further arranged to update at least one block when the first error bit value corresponding to at least one block exceeds a predetermined threshold value of the error bit value. In this embodiment, the predetermined threshold value of the error bit value is a predetermined threshold value, but is not limited thereto.

다음에, 시간 범위 후에, 제어기(160)는 다음 유지 과정을 수행하기 시작한다. 예를 들어, 제어기(160)는 제1 유지 과정이 완료된 이후 단계(S202)에서 결정된 시간 범위 후 제2 유지 과정을 수행한다. 제일 먼저, 단계(S204)에서, 제어기(160)는 온도 센서(190)를 판독하여 현재 온도 파라미터를 획득한다. 나아가, 제어기(160)는 현재 미리 결정된 조건 및 이력 레코드에 따라 그 다음 유지 과정을 실행하는 다른 시간 범위를 결정하고, 이력 레코드에 따라 에러 비트 값의 임계값을 결정한다. 일 실시예에서, 미리 결정된 조건은 현재 온도 파라미터를 포함하고, 이력 레코드는 이전의 블록 스캔의 에러 비트 값 및 이전의 유지 과정에서 업데이트된 블록의 개수를 포함하지만, 이것으로 제한되지 않는다. 다른 실시예에서, 현재 미리 결정된 조건은 호스트(120)가 데이터 저장 디바이스(140)에 마지막으로 액세스한 시간, 데이터 저장 디바이스(140)가 전력 온된 시간 및/또는 블록이 소거된 횟수를 더 포함할 수 있다. 현재 유지 과정에서, 제어기(160)는 파라미터 테이블 또는 파라미터 함수에 따라 시간 범위를 결정하여, 제어기(160)가 현재 유지 과정이 완료된 이후 결정된 시간 범위 후에 다음 유지 과정을 수행할 수 있게 한다.Next, after the time range, the controller 160 starts performing the next maintenance process. For example, the controller 160 performs a second maintenance process after a time range determined in step S202 after the first maintenance process is completed. First, in step S204, the controller 160 reads the temperature sensor 190 to obtain the current temperature parameter. Further, the controller 160 determines another time range in which to execute the next maintenance process according to the currently predetermined condition and history record, and determines a threshold value of the error bit value according to the history record. In one embodiment, the predetermined condition includes the current temperature parameter, and the history record includes, but is not limited to, the error bit value of the previous block scan and the number of blocks updated in the previous maintenance process. In another embodiment, the current predetermined condition further includes the time the host 120 last accessed the data storage device 140, the time the data storage device 140 was powered on, and / or the number of times the block was erased . In the current maintenance process, the controller 160 determines a time range according to a parameter table or a parameter function, and allows the controller 160 to perform the next maintenance process after the current maintenance period is completed.

다음에, 단계(S206)에서, 제어기(160)는 에러 비트 값의 임계값에 따라 블록에 블록 스캔을 수행하고, 여기서 제어기(160)는 블록에 블록 스캔을 수행하여 블록에 각각 대응하는 에러 비트 값을 획득하고, 대응하는 에러 비트 값이 에러 비트 값의 임계값을 초과하는 경우 블록을 업데이트하도록 배열된다. 이어서, 공정은 단계(S204)로 리턴한다.Next, in step S206, the controller 160 performs a block scan on the block in accordance with the threshold value of the error bit value, wherein the controller 160 performs a block scan on the block, Value and to update the block if the corresponding error bit value exceeds the threshold value of the error bit value. Then, the process returns to step S204.

도 3은 본 발명의 다른 실시예에 따른 액세스 제한 방법의 흐름도이다. 데이터 유지 방법은 도 1의 데이터 저장 디바이스(140)에 적용된다. 공정은 단계(S300)에서 시작한다. 도 3의 데이터 유지 방법은 단계(S300)를 제외하고는 도 2의 데이터 유지 방법과 유사하다는 것이 주목된다. 그리하여, 단계(S302-S306)의 상세는 단계(S202-S206)에 대응할 수 있다.3 is a flow diagram of an access restriction method in accordance with another embodiment of the present invention. The data holding method is applied to the data storage device 140 of FIG. The process starts in step S300. It is noted that the data holding method of FIG. 3 is similar to the data holding method of FIG. 2 except for step S300. Thus, the details of steps S302-S306 may correspond to steps S202-S206.

단계(S300)에서, 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 이후 미리 결정된 시간 간격에서 온도 센서(190)를 판독하여 현재 온도 파라미터를 획득하고, 현재 온도 파라미터에 따라 미리 결정된 기간을 조절하도록 배열되고, 여기서 미리 결정된 기간은 제1 유지 과정을 시작하도록 배열된다. 즉, 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 이후 미리 결정된 시간 간격에서 온도 센서(190)를 판독하여 현재 온도 파라미터를 획득하고, 현재 온도 파라미터에 따라 파라미터 테이블 또는 파라미터 함수를 룩업하는 것에 의해 제1 유지 과정을 시작하도록 배열된 시간을 결정하도록 배열되고, 여기서 미리 결정된 시간 간격의 범위는 미리 결정된 기간보다 더 짧다. 예를 들어, 미리 결정된 기간은 1 초 또는 2 초 등일 수 있으나, 이것으로 제한되지 않는다. 제1 유지 과정을 시작하도록 배열된 결정된 시간이 미리 결정된 기간 미만인 경우, 제어기(160)는 제1 유지 과정을 시작하도록 배열된 결정된 시간에 따라 미리 결정된 기간을 조절하도록 더 배열된다. 예를 들어, 미리 결정된 기간은 5 분일 수 있고, 각 미리 결정된 시간 간격의 범위는 2 초이다. 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 이후 5분 동안 매 2초마다 온도 센서(190)를 판독하여 현재 온도 파라미터를 획득하고, 현재 온도 파라미터에 따라 제1 유지 과정을 구현하도록 배열된 시간을 결정하도록 배열된다. 예를 들어, 제어기(160)가 제1 유지 과정이 데이터 저장 디바이스(140)가 전력 온된 이후 6 분(미리 결정된 기간보다 더 긴 시간) 후에 시작되어야 하는 것으로 결정할 때, 제어기(160)는 결정된 시간(6 분)을 무시하고, 온도 센서(190)를 판독하는 단계와 미리 결정된 기간이 종료할 때까지 매 2초마다 시간 범위를 결정하는 단계를 반복한다. 제어기(160)가 제1 유지 과정이 데이터 저장 디바이스(140)가 전력 온된 이후 3 분(미리 결정된 기간보다 더 짧은 기간) 후에 시작되어야 하는 것으로 결정하면, 제어기(160)는 미리 결정된 기간을 3 분으로 조절하고, 온도 센서(190)를 판독하는 단계와 미리 결정된 기간이 종료될 때까지 매 2초마다 시간 범위를 결정하는 단계를 반복한다. 즉, 제어기(160)는 데이터 저장 디바이스(140)가 전력 온된 이후 예를 들어 3분 후에 제1 유지 과정을 수행한다.At step S300, the controller 160 reads the temperature sensor 190 at a predetermined time interval after the data storage device 140 is powered on to obtain the current temperature parameter, and determines a predetermined period of time Wherein the predetermined period is arranged to start the first maintenance process. That is, the controller 160 reads the temperature sensor 190 at a predetermined time interval after the data storage device 140 is powered on to obtain the current temperature parameter, and looks up the parameter table or parameter function according to the current temperature parameter Wherein the predetermined range of time intervals is shorter than the predetermined period of time. For example, the predetermined period may be, but is not limited to, one second or two seconds. The controller 160 is further arranged to adjust the predetermined duration according to the determined time arranged to start the first maintenance process if the determined time arranged to start the first maintenance process is less than the predetermined duration. For example, the predetermined period may be 5 minutes, and the range of each predetermined time interval is 2 seconds. The controller 160 is configured to read the temperature sensor 190 every two seconds for five minutes after the data storage device 140 is powered on to obtain the current temperature parameter and to arrange to implement the first maintenance process according to the current temperature parameter Lt; / RTI > For example, when the controller 160 determines that the first maintenance process should start after six minutes (a longer period of time than the predetermined period) after the data storage device 140 is powered on, (6 minutes), reading the temperature sensor 190, and determining the time range every 2 seconds until the predetermined period ends. If the controller 160 determines that the first maintenance procedure should start after three minutes (a shorter period than the predetermined period) after the data storage device 140 is powered on, the controller 160 may wait a predetermined period of time three minutes And reading the temperature sensor 190 and repeating the step of determining the time range every 2 seconds until the predetermined time period is ended. That is, the controller 160 performs the first maintenance process after, for example, three minutes after the data storage device 140 is powered on.

상기 설명으로부터 데이터 저장 디바이스(140) 및 데이터 유지 방법은 현재 온도에 따라 블록을 스캔하고 업데이트할 수 있다는 것을 볼 수 있다.From the above it can be seen that the data storage device 140 and the data retention method can scan and update the block according to the current temperature.

데이터 송신 방법, 또는 특정 측면 또는 그 일부는 플로피 디스켓, CD-ROMS, 하드 드라이브 또는 임의의 다른 기계-판독가능한 저장 매체와 같은 유형적인 매체에 구현된 프로그램 코드(즉, 실행가능한 명령)의 형태를 취할 수 있고, 여기서 프로그램 코드가 컴퓨터와 같은 기계에 로딩되어 이 기계에 의해 실행될 때, 이 기계는 본 방법을 실행하는 장치가 된다. 본 방법은 일부 송신 매체, 예를 들어 전기 배선(wiring) 또는 케이블(cabling), 광섬유 또는 임의의 다른 송신 형태를 통해 송신된 프로그램 코드의 형태로 구현될 수 있고, 여기서 프로그램 코드가 컴퓨터와 같은 기계에 수신되고 로딩되어 실행될 때, 이 기계는 개시된 방법을 실행하는 장치가 된다. 일반 목적 프로세서에서 구현될 때, 프로그램 코드는 프로세서와 결합하여 응용 특정 로직 회로와 유사하게 동작하는 고유한 장치를 제공한다.(Or executable instructions) embodied in tangible media, such as a floppy diskette, CD-ROMS, hard drive or any other machine-readable storage medium, Where the program code is loaded into a machine such as a computer and executed by the machine, the machine becomes an apparatus executing the method. The method may be implemented in the form of program code transmitted over some transmission medium, e.g., electrical wiring or cabling, fiber optics, or any other form of transmission, wherein the program code is transmitted to a machine Lt; / RTI > is received, loaded, and executed by the device, the machine becomes an apparatus executing the disclosed method. When implemented in a general purpose processor, the program code combines with the processor to provide a unique device that operates similarly to an application specific logic circuit.

본 발명은 예로서 바람직한 실시예 측면에서 설명되었으나, 본 발명은 개시된 실시예로 제한되지 않는다. 이와 반대로, 본 발명은 (이 기술 분야에 통상의 지식을 가진 자에게 자명한) 여러 변형과 유사한 배열을 커버하도록 의도된다. 그리하여, 첨부된 청구범위는 모든 변형과 유사한 배열을 포함하는 최광의로 해석하여야 한다.While the present invention has been described by way of example and in terms of a preferred embodiment, the invention is not limited to the disclosed embodiments. On the contrary, the invention is intended to cover an arrangement similar to various modifications (obvious to those skilled in the art). Thus, the appended claims should be interpreted as being in the best mode, including arrangements similar to all variations.

Claims (16)

데이터 저장 디바이스로서,
복수의 블록을 구비하는 플래시 메모리로서, 각 상기 블록은 복수의 페이지를 구비하는 것인, 상기 플래시 메모리; 및
데이터 저장 디바이스가 전력 온(power on)된 이후 미리 결정된 기간 후에 제1 유지 과정을 수행하도록 배열된 제어기를 포함하되,
상기 제어기는 상기 블록에 제 1블록 스캔을 각각 수행하여 상기 블록에 각각 대응하는 복수의 제1 에러 비트 값을 획득하고, 상기 대응하는 제1 에러 비트 값이 상기 제 1 유지 과정에서 에러 비트 값의 미리 결정된 임계값을 초과할 때 상기 블록을 업데이트하도록 더 배열되고,
또한, 상기 제어기는, 또 다른 유지 과정의 시작 시간을 결정하기 위하여, 상기 제 1 에러 비트 값 및 상기 제 1유지 과정에서 업데이트된 블록의 수에 따라 시간 범위를 결정하도록 더 배열되며,
상기 제어기는 상기 데이터 저장 디바이스가 전력 온된 마지막 시간에 따라 상기 시간 범위를 결정하도록 더 배열된 것인 데이터 저장 디바이스.
1. A data storage device,
CLAIMS What is claimed is: 1. A flash memory comprising a plurality of blocks, each block comprising a plurality of pages; And
And a controller arranged to perform a first maintenance process after a predetermined period of time after the data storage device is powered on,
Wherein the controller performs a first block scan on the block to obtain a plurality of first error bit values respectively corresponding to the blocks and if the corresponding first error bit value is greater than or equal to And to update the block when a predetermined threshold is exceeded,
The controller is further arranged to determine a time range according to the first error bit value and the number of blocks updated in the first holding step to determine a start time of another holding procedure,
Wherein the controller is further arranged to determine the time range in accordance with the last time the data storage device was powered on.
제1항에 있어서,
주변 주위 온도를 검출하여 온도 파라미터를 생성하도록 배열된 온도 센서를 더 포함하되,
상기 제어기는 상기 온도 센서를 판독하여 상기 제1 유지 과정에서 온도 파라미터를 획득하도록 배열되고, 상기 온도 파라미터에 따라 상기 시간 범위를 결정하도록 더 배열되는 것인, 데이터 저장 디바이스.
The method according to claim 1,
Further comprising a temperature sensor arranged to detect a surrounding ambient temperature to produce a temperature parameter,
Wherein the controller is further arranged to read the temperature sensor to obtain a temperature parameter in the first holding step and to determine the time range according to the temperature parameter.
제2항에 있어서, 상기 미리 결정된 기간에서, 상기 제어기는 상기 온도 센서를 판독하여 미리 결정된 시간 간격에서 현재 온도 파라미터를 획득하고, 상기 현재 온도 파라미터에 따라 상기 제1 유지 과정을 시작하도록 배열된 시간을 조절하도록 더 배열된 것인 데이터 저장 디바이스.3. The method of claim 2, wherein in the predetermined period, the controller reads the temperature sensor to obtain a current temperature parameter at a predetermined time interval, and adjusts the time Of the data storage device. 삭제delete 제3항에 있어서, 상기 제어기는 상기 제 1 에러비트 값 및 상기 제 1유지 과정에서 업데이트된 블록의 수에 따라 에러 비트 값의 제1 임계값을 결정하고, 상기 블록에 제2 블록 스캔을 수행하여 상기 블록에 대응하는 복수의 제2 에러 비트 값을 획득하며, 상기 대응하는 제2 에러 비트 값이 상기 에러 비트 값의 제1 임계값을 초과할 때 상기 블록을 업데이트하도록 더 배열된 것인 데이터 저장 디바이스.4. The method of claim 3, wherein the controller determines a first threshold value of an error bit value according to the first error bit value and the number of blocks updated in the first holding step, and performs a second block scan on the block To obtain a plurality of second error bit values corresponding to the block, and to update the block when the corresponding second error bit value exceeds a first threshold value of the error bit value Storage device. 제3항에 있어서, 상기 제어기는 호스트가 상기 데이터 저장 디바이스에 액세스한 마지막 시간에 따라 상기 시간 범위를 결정하도록 더 배열된 것인 데이터 저장 디바이스.4. The data storage device of claim 3, wherein the controller is further arranged to determine the time range according to the last time the host accessed the data storage device. 삭제delete 제3항에 있어서, 상기 제어기는 상기 블록이 소거된 횟수에 따라 상기 시간 범위를 결정하도록 더 배열된 것인 데이터 저장 디바이스.4. The data storage device of claim 3, wherein the controller is further arranged to determine the time range according to the number of times the block has been erased. 플래시 메모리의 데이터 저장 디바이스에 적용된 데이터 유지 방법으로서, 상기 플래시 메모리는 복수의 블록을 구비하고, 각 상기 블록은 복수의 페이지를 구비하며, 상기 데이터 유지 방법은,
상기 데이터 저장 디바이스가 전력 온된 이후 미리 결정된 기간 후에 제1 유지 과정을 수행하는 단계; 및
상기 제1 유지 과정이 완료된 이후 특정 시간 범위 후에 제2 유지 과정을 수행하는 단계를 포함하되,
상기 제 1유지 과정은
상기 블록에 제1 블록 스캔을 수행하여 상기 블록에 각각 대응하는 복수의 제1 에러 비트 값을 획득하는 단계;
상기 대응하는 제1 에러 비트 값이 에러 비트 값의 미리 결정된 임계값을 초과할 때 상기 블록을 업데이트하는 단계; 및
상기 제 2유지 과정의 시작 시간을 결정하기 위하여, 상기 제 1 에러 비트 값, 상기 데이터 저장 디바이스가 전력 온된 마지막 시간, 및 상기 제 1유지 과정에서 업데이트된 블록의 수에 따라 상기 시간 범위를 결정하는 단계를 포함하는 데이터 유지 방법.
A data holding method applied to a data storage device of a flash memory, the flash memory having a plurality of blocks, each block including a plurality of pages,
Performing a first maintenance process after a predetermined period of time after the data storage device is powered on; And
And performing a second maintenance process after a specific time range after the first maintenance process is completed,
The first maintenance process
Performing a first block scan on the block to obtain a plurality of first error bit values respectively corresponding to the blocks;
Updating the block when the corresponding first error bit value exceeds a predetermined threshold value of the error bit value; And
The time range is determined according to the first error bit value, the last time the data storage device is powered on, and the number of blocks updated in the first maintenance process to determine the start time of the second maintenance process The method comprising the steps of:
제9항에 있어서, 상기 제1 유지 과정은,
온도 센서를 판독하여 상기 제1 유지 과정에서 제 1온도 파라미터를 획득하는 단계를 더 포함하되, 상기 시간 범위를 결정하는 단계는 상기 제 1온도 파라미터에 따라 상기 시간 범위를 결정하는 단계를 더 포함하고,
제 1 미리 결정 조건이 상기 제 1 온도 파라미터를 포함하는 것인 데이터 유지방법.
10. The method of claim 9,
Further comprising: reading a temperature sensor to obtain a first temperature parameter in the first maintenance step, wherein the determining the time range further comprises determining the time range according to the first temperature parameter ,
Wherein the first predetermined condition includes the first temperature parameter.
제9항에 있어서,
온도 센서를 판독하여 상기 미리 결정된 기간 내 미리 결정된 시간 간격에서 현재 온도 파라미터를 획득하는 단계; 및
상기 현재 온도 파라미터에 따라 상기 제1 유지 과정을 시작하도록 배열된 시간을 조절하는 단계를 더 포함하는 데이터 유지 방법.
10. The method of claim 9,
Reading a temperature sensor to obtain a current temperature parameter at a predetermined time interval within the predetermined time period; And
And adjusting a time period arranged to start the first maintenance process according to the current temperature parameter.
삭제delete 제9항에 있어서, 상기 제2 유지 과정은,
상기 제 1 에러비트 값 및 상기 제 1유지 과정에서 업데이트된 블록의 수에 따라 에러 비트 값의 제1 임계값을 결정하는 단계;
상기 블록에 제2 블록 스캔을 수행하여 상기 블록의 복수의 제2 에러 비트 값을 획득하는 단계; 및
상기 대응하는 제2 에러 비트 값이 상기 에러 비트 값의 제1 임계값을 초과할 때 상기 블록을 업데이트하는 단계를 더 포함하는 것인 데이터 유지 방법.
10. The method according to claim 9,
Determining a first threshold value of an error bit value according to the first error bit value and the number of blocks updated in the first holding step;
Performing a second block scan on the block to obtain a plurality of second error bit values of the block; And
And updating the block when the corresponding second error bit value exceeds a first threshold value of the error bit value.
제10항에 있어서,
상기 시간 범위를 결정하는 단계는 호스트가 상기 데이터 저장 디바이스에 액세스한 마지막 시간에 따라 상기 시간 범위를 결정하는 단계를 더 포함하는 것인 데이터 유지 방법.
11. The method of claim 10,
Wherein the step of determining the time range further comprises determining the time range according to the last time the host accessed the data storage device.
삭제delete 제10항에 있어서,
상기 시간 범위를 결정하는 단계는 상기 블록이 소거된 횟수에 따라 상기 시간 범위를 결정하는 단계를 더 포함하는 것인 데이터 유지 방법.
11. The method of claim 10,
Wherein the determining the time range further comprises determining the time range according to the number of times the block has been erased.
KR1020140098309A 2013-08-06 2014-07-31 Data storage device and method for restricting access thereof KR101677532B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361862858P 2013-08-06 2013-08-06
US61/862,858 2013-08-06
TW102146530 2013-12-17
TW102146530A TWI490870B (en) 2013-08-06 2013-12-17 Data storage device and data maintenance method thereof

Publications (2)

Publication Number Publication Date
KR20150017301A KR20150017301A (en) 2015-02-16
KR101677532B1 true KR101677532B1 (en) 2016-11-18

Family

ID=53019470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140098309A KR101677532B1 (en) 2013-08-06 2014-07-31 Data storage device and method for restricting access thereof

Country Status (2)

Country Link
KR (1) KR101677532B1 (en)
TW (1) TWI490870B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11461025B2 (en) * 2020-11-05 2022-10-04 Macronix International Co., Ltd. Data retention in memory devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310888A (en) 2007-06-15 2008-12-25 Panasonic Corp Non-volatile semiconductor storage device
JP2009251627A (en) 2008-04-01 2009-10-29 Panasonic Corp Memory controller, nonvolatile storage device, and nonvolatile storage system
JP2011100519A (en) 2009-11-06 2011-05-19 Toshiba Corp Memory system
JP2012221025A (en) 2011-04-05 2012-11-12 Nec Casio Mobile Communications Ltd Backup notification system for data held by flash memory, and method and program for the same

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7079422B1 (en) * 2000-04-25 2006-07-18 Samsung Electronics Co., Ltd. Periodic refresh operations for non-volatile multiple-bit-per-cell memory
US6396744B1 (en) * 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
US20090327581A1 (en) * 2008-06-30 2009-12-31 Coulson Richard L Nand memory
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
CN102369579B (en) * 2008-12-30 2015-01-14 美光科技公司 Temperature alert and low rate refresh for a non-volatile memory
US8261136B2 (en) * 2009-06-29 2012-09-04 Sandisk Technologies Inc. Method and device for selectively refreshing a region of a memory of a data storage device
JP5549956B2 (en) * 2009-12-02 2014-07-16 マイクロン テクノロジー, インク. Refresh architecture and algorithm for non-volatile memory
US8656086B2 (en) * 2010-12-08 2014-02-18 Avocent Corporation System and method for autonomous NAND refresh
US8650353B2 (en) * 2011-07-01 2014-02-11 Intel Corporation Apparatus, system, and method for refreshing non-volatile memory
US9176800B2 (en) * 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310888A (en) 2007-06-15 2008-12-25 Panasonic Corp Non-volatile semiconductor storage device
JP2009251627A (en) 2008-04-01 2009-10-29 Panasonic Corp Memory controller, nonvolatile storage device, and nonvolatile storage system
JP2011100519A (en) 2009-11-06 2011-05-19 Toshiba Corp Memory system
JP2012221025A (en) 2011-04-05 2012-11-12 Nec Casio Mobile Communications Ltd Backup notification system for data held by flash memory, and method and program for the same

Also Published As

Publication number Publication date
TWI490870B (en) 2015-07-01
TW201506939A (en) 2015-02-16
KR20150017301A (en) 2015-02-16

Similar Documents

Publication Publication Date Title
US9368226B2 (en) Data storage device and method for restricting access thereof
US20150178001A1 (en) Data Storage Device and Data Maintenance Method Thereof
US10061512B2 (en) Data storage device and data writing method thereof
KR101594124B1 (en) Non-volatile ram solid state dirve including the same and computer system including the same
US9922706B2 (en) Solid state storage device using state prediction method
US20180096728A1 (en) Data Storage Device and Voltage Protection Method Thereof
CN104572489B (en) Wear leveling method and device
US10042754B2 (en) User device including a nonvolatile memory device and a data write method thereof
US9563249B2 (en) Data storage device and power-interruption detection method
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
US20150046637A1 (en) Data storage device and method for restricting access thereof
KR102508868B1 (en) Refresh management for flash memory
US9514848B2 (en) Solid state drive and associated error check and correction method
US20140215130A1 (en) Clock switching method, memory controller and memory storage apparatus
US20180101303A1 (en) Data Storage Device and Data Writing Method Thereof
US10545810B2 (en) Method and apparatus for monitoring non-volatile memory read errors using background media scan
KR101991437B1 (en) Semiconductor memory device and Operating method thereof
JP2010067098A (en) Information processor, information processing method, and information processing program
KR101677532B1 (en) Data storage device and method for restricting access thereof
CN113539345A (en) Adjusting trim settings to improve memory performance or reliability
KR101595557B1 (en) Data storage device and voltage protection method thereof
US10199107B2 (en) Data storage device and data refresh method thereof
CN106611619B (en) Data storage device and detection method of flash memory
JP6267497B2 (en) Semiconductor memory control device and unstable memory region detection method
KR20150045642A (en) Semiconductor device and operating method thereof

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190918

Year of fee payment: 4