KR20100036743A - Method for setting mode, and method for initializing in memory storage device - Google Patents

Method for setting mode, and method for initializing in memory storage device Download PDF

Info

Publication number
KR20100036743A
KR20100036743A KR1020080096117A KR20080096117A KR20100036743A KR 20100036743 A KR20100036743 A KR 20100036743A KR 1020080096117 A KR1020080096117 A KR 1020080096117A KR 20080096117 A KR20080096117 A KR 20080096117A KR 20100036743 A KR20100036743 A KR 20100036743A
Authority
KR
South Korea
Prior art keywords
memory
memory chip
read
mode
metadata
Prior art date
Application number
KR1020080096117A
Other languages
Korean (ko)
Other versions
KR101485577B1 (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 삼성전자주식회사
Priority to KR20080096117A priority Critical patent/KR101485577B1/en
Priority to US12/585,935 priority patent/US8327066B2/en
Publication of KR20100036743A publication Critical patent/KR20100036743A/en
Priority to US13/067,434 priority patent/US8904088B2/en
Priority to US13/067,436 priority patent/US20110238900A1/en
Priority to US14/508,393 priority patent/US9542199B2/en
Application granted granted Critical
Publication of KR101485577B1 publication Critical patent/KR101485577B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

PURPOSE: A method for setting and initializing a mode of a memory storage device are provided to supply a maximal reading service in spited of the disappearance of reserved substitute blocks when exchanging a bad block. CONSTITUTION: When a bad block is replaced, the number of bad block in a first memory chip is compared with a certain value(S310). When the number of the bad block exceeds the value, the first memory chip is set up at a read-only mode(S330). The metadata of the first memory chip is stored in a second memory chip(S332), and the bad blocks are exchanged with a reserved replacement block when the number of the bad block does not exceed the value(S320).

Description

메모리 저장 장치의 모드 설정 방법 및 초기화 방법{METHOD FOR SETTING MODE, AND METHOD FOR INITIALIZING IN MEMORY STORAGE DEVICE}Mode setting method and initialization method of memory storage device {METHOD FOR SETTING MODE, AND METHOD FOR INITIALIZING IN MEMORY STORAGE DEVICE}

본 발명은 메모리 저장 장치의 모드 설정 방법 및 초기화 방법에 관한 것이다.The present invention relates to a mode setting method and an initialization method of a memory storage device.

플래시 메모리 카드 혹은 SSD(Solid State Disk)와 같은 대용량의 저장 장치는 일반적으로 복수의 플래시 메모리 칩들을 포함하는 구조이다. 이때, 일부 플래시 메모리 칩에서 프로그램/소거 폐일 등에 의해 배드 블록의 수가 급격히 증가되어 미리 예약해 둔 대체용 블록을 모두 소진하고 나면, 더 이상의 서비스가 불가능하게 된다.Mass storage devices such as flash memory cards or solid state disks (SSDs) generally have a structure including a plurality of flash memory chips. In this case, after the number of bad blocks is suddenly increased in some flash memory chips due to program / erase dead days and the like, the previously reserved replacement blocks are exhausted, no further service is possible.

본 발명은 배드 블록 교체시 예약된 대체용 블록이 소진되더라도 최대한 읽기 서비스가 제공되도록 하는 메모리 저장 장치를 제공하는 데 있다.The present invention provides a memory storage device that provides a read service as much as possible even when a reserved block is exhausted when a bad block is replaced.

본 발명에 따른 메모리 저장 장치의 모드 설정 방법은: 배드 블록 교체시 제 1 메모리 칩의 배드 블록의 개수가 소정의 값을 초과했는지를 판별하는 단계; 상기 제 1 메모리 칩의 배드 블록의 개수가 소정의 값을 초과할 때 상기 제 1 메모리 칩을 읽기 전용 모드로 설정하는 단계; 및 상기 읽기 전용 모드로 설정된 상기 제 1 메모리 칩의 메타 데이터를 제 2 메모리 칩에 저장하는 단계를 포함한다.A mode setting method of a memory storage device according to the present invention includes: determining whether the number of bad blocks of a first memory chip exceeds a predetermined value when a bad block is replaced; Setting the first memory chip to a read-only mode when the number of bad blocks of the first memory chip exceeds a predetermined value; And storing metadata of the first memory chip set to the read-only mode in a second memory chip.

실시 예에 있어서, 상기 제 1 메모리 칩의 배드 블록의 개수가 소정의 값을 초과하지 않을 때 배드 블록을 교체하는 단계가 수행되는 것을 특징으로 한다.The method may further include replacing the bad blocks when the number of bad blocks of the first memory chip does not exceed a predetermined value.

본 발명에 따른 메모리 저장 장치의 초기화 방법은: 메모리 칩의 식별번호가 읽히는지 판별하는 단계; 상기 메모리 칩의 상기 식별번호가 읽히면, 상기 메모리 칩의 메타 데이터를 읽는 단계; 상기 읽혀진 메타 데이터로부터 상기 메모리 칩의 서비스 모드를 선택하는 단계; 및 모든 메모리 칩들에 대한 서비스 모드가 선택되었는 지 판별하는 단계를 포함한다.An initialization method of a memory storage device according to the present invention includes: determining whether an identification number of a memory chip is read; Reading the metadata of the memory chip when the identification number of the memory chip is read; Selecting a service mode of the memory chip from the read metadata; And determining whether a service mode for all memory chips has been selected.

실시 예에 있어서, 모든 메모리 칩들에 대한 서비스 모드가 선택되지 않았다면, 다른 메모리 칩의 식별번호가 읽히는지를 판별하는 단계가 진행되는 것을 특징으로 한다.In an embodiment, if the service mode for all the memory chips is not selected, determining whether the identification number of another memory chip is read is performed.

실시 예에 있어서, 상기 메모리 칩의 식별번호가 읽히지 않으면, 상기 메모리 칩은 접근 불가 모드로 설정되고, 상기 메모리 칩의 상기 접근 불가 모드는 다른 메모리 칩의 메타 블록에 저장되는 것을 특징으로 한다.In an embodiment, when the identification number of the memory chip is not read, the memory chip is set to an inaccessible mode, and the inaccessible mode of the memory chip is stored in a meta block of another memory chip.

실시 예에 있어서, 상기 메모리 칩의 상기 메타 데이터를 읽는 단계에서, 상기 메타 데이터는 상기 메모리 칩의 메타 블록으로부터 읽혀지며, 상기 메타 블록에는 상기 메타 데이터가 갱신될 때마다 갱신된 회수와 함께 상기 메타 데이터가 저장되는 것을 특징으로 한다.In an embodiment, in the reading of the metadata of the memory chip, the metadata may be read from a meta block of the memory chip, and the meta block may be read with the updated number of times each time the metadata is updated. The data is stored.

실시 예에 있어서, 상기 갱신된 회수가 가장 높은 메타 데이터가 상기 메모리 칩의 유효한 메타 데이터로 선택되는 것을 특징으로 한다.In example embodiments, the metadata having the highest updated number may be selected as valid metadata of the memory chip.

실시 예에 있어서, 상기 메모리 칩의 상기 메타 데이터는 나머지 메모리 칩들 모두에 저장되는 것을 특징으로 한다.The metadata of the memory chip may be stored in all of the remaining memory chips.

실시 예에 있어서, 모든 메모리 칩들 각각은 상기 모든 메모리 칩들에 대한 메타 데이터를 저장하는 것을 특징으로 한다.In some example embodiments, each of the memory chips stores metadata about all of the memory chips.

실시 예에 있어서, 상기 서비스 모드는 읽기/쓰기 모드, 읽기 전용 모드, 및 접근 불가 모드 중 어느 하나인 것인 특징으로 한다.In an embodiment, the service mode may be any one of a read / write mode, a read-only mode, and an inaccessible mode.

상술한 바와 같이 본 발명에 따른 메모리 저장 장치는 불량이 발생된 메모리 칩에 대하여 읽기 전용 모드를 설정함으로써, 불량이 발생된 메모리 칩의 사용자 데이터를 복원할 수 있게 된다.As described above, the memory storage device according to the present invention can restore the user data of the memory chip in which the failure occurs by setting the read only mode for the memory chip in which the failure occurs.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention.

본 발명에 따른 메모리 저장 장치는 불량이 발생된 메모리 칩에 대하여 읽기 전용 모드를 설정하도록 구성된다. 이로써, 불량 발생된 메모리 칩의 중요한 사용자 데이터의 백업이 가능하게 된다.The memory storage device according to the present invention is configured to set a read only mode for a memory chip in which a failure occurs. This makes it possible to back up important user data of a badly generated memory chip.

도 1은 본 발명에 따른 메모리 저장 장치(100)의 하드웨어 구성도이다. 도 1을 참조하면, 메모리 저장 장치(100)는 시스템 버스(102), 중앙처리장치(110), 램(120), 메모리 제어기(130), 메모리 칩들(141~148) 및 호스트 인터페이스 제어기(150)를 포함한다. 본 발명의 메모리 저장 장치(100)는 복수의 메모리 칩들(141~148) 각각을 읽기/쓰기 모드(Write/Read Mode), 읽기 전용 모드(Read Only Mode), 및 접근 불가 모드(Unaccessable Mode) 어느 하나로 운용할 수 있도록 구현된다. 도 1에 도시된 메모리 저장 장치(100)는 복수의 플래시 메모리 칩들을 구비하고 있지만, 본 발명의 메모리 저장 장치(100)가 반드시 플래시 메모리 칩들로 구성될 필요는 없다. 본 발명의 메모리 저장 장치(100)는 다양한 휘발성 메모리 칩들 혹은 비휘발성 메모리 칩들로 구성될 수 있다. 1 is a hardware configuration diagram of a memory storage device 100 according to the present invention. Referring to FIG. 1, the memory storage device 100 may include a system bus 102, a central processing unit 110, a RAM 120, a memory controller 130, memory chips 141 ˜ 148, and a host interface controller 150. ). The memory storage device 100 of the present invention may read each of the plurality of memory chips 141 to 148 in any of a read / write mode, a read-only mode, and an inaccessible mode. Implemented to operate as one. Although the memory storage device 100 shown in FIG. 1 includes a plurality of flash memory chips, the memory storage device 100 of the present invention is not necessarily configured as flash memory chips. The memory storage device 100 of the present invention may be composed of various volatile memory chips or nonvolatile memory chips.

본 발명의 메모리 저장 장치(100)는 메모리 카드 혹은 SSD 일 수 있다.램(120)은 휘발성 메모리 장치로써, DRAM 혹은 SRAM일 수 있다. The memory storage device 100 of the present invention may be a memory card or an SSD. The RAM 120 is a volatile memory device and may be a DRAM or an SRAM.

메모리 제어기(130)는 복수의 메모리 칩들(141~148)을 제어한다. 메모리 제어기(130)는 복수의 메모리 칩들(141~148) 각각의 모드 상태를 점검하고 이에 따라 호스트로부터 전달된 읽기 혹은 쓰기 요청에 따라 메모리 칩들(141~148)을 제어한다. 또한, 메모리 제어기(130)는 메모리 칩들(141~148)의 에러 정정을 위한 ECC 엔진을 장착하고 있다.The memory controller 130 controls the plurality of memory chips 141 to 148. The memory controller 130 checks the mode state of each of the memory chips 141 ˜ 148 and controls the memory chips 141 ˜ 148 according to a read or write request transmitted from the host. In addition, the memory controller 130 is equipped with an ECC engine for error correction of the memory chips (141 ~ 148).

메모리 칩들(141~148)은 데이터를 저장하는 장치이다. 도 1에 도시된 메모리 칩들(141~148)는 8개이지만, 본 발명의 메모리 칩들이 반드시 8개로 한정될 필요가 없다. 본 발명의 메모리 칩들은 2개 이상의 복수의 메모리 칩들로 구성될 것이다. 본 발명의 메모리 저장 장치(100)에서 복수의 메모리 칩들을 이용하는 이유는 대용량뿐 아니라 성능 향상을 위해서이다. 즉, 복수의 메모리 칩들(141~148)을 동시에 동작시킴으로써 보다 빠르게 호스트의 읽기/쓰기 요청이 처리될 수 있다. 또한, 본 발명의 메모리 칩들(141~148)은 도 1에 도시된 바와 같이 플래시 메모리 외에도 다양한 메모리들로 구성될 수 있다. 본 발명의 메모리 칩들은 휘발성 메모리 혹은 비휘발성 메모리들(예를 들어, MRAM, PRAM, FRAM)로 구현가능하다.The memory chips 141 to 148 are devices for storing data. Although there are eight memory chips 141 to 148 shown in FIG. 1, the memory chips of the present invention are not necessarily limited to eight. The memory chips of the present invention will be composed of two or more memory chips. The reason why the plurality of memory chips are used in the memory storage device 100 of the present invention is to improve performance as well as a large capacity. In other words, by simultaneously operating the plurality of memory chips 141 to 148, a read / write request of the host may be processed more quickly. In addition, the memory chips 141 ˜ 148 of the present invention may be configured with various memories in addition to the flash memory as shown in FIG. 1. The memory chips of the present invention may be implemented in volatile memory or nonvolatile memories (eg, MRAM, PRAM, FRAM).

호스트 인터페이스 제어기(150)는 메모리 카드의 경우에 있어서 SD(Secure Digital) 카드 인터페이스 혹은 MMC(Multi Media Card) 카드 인터페이스가 될 수 있으며, SSD(Solid State Disk)의 경우에는 PATA, SATA, 혹은 PCI-express 등이 될 수 있다. 여기서 이러한 인터페이스는 호스트(도시되지 않음)와의 통신 채널을 정의하고 있다.The host interface controller 150 may be a Secure Digital (SD) card interface or a Multi Media Card (MMC) card interface in the case of a memory card, and PATA, SATA, or PCI- in the case of a solid state disk (SSD). It can be express etc. This interface here defines a communication channel with a host (not shown).

일반적인 메모리 저장 장치에서는 복수의 메모리 칩들 중 어느 하나가 불량이면 전체 메모리 저장 장치의 사용이 불가능했다. 그러나 본 발명의 메모리 저장 장치(100)는 복수의 메모리 칩들(141~148) 중 어느 하나가 정상적인 읽기/쓰기 서비스가 불가능하더라도 불량 처리된 메모리 칩(146)을 읽기 전용 모드(Read Only mode)로 동작시킴으로 메모리 저장 장치(100)의 사용이 가능케 된다. 메모리 칩의 모드 변경 서비스는 메모리 제어기(130)에서 수행된다. 아래에서는 설명의 편의를 위하여 메모리 칩을 플래시 메모리라는 가정하에 설명하도록 하겠다.In a typical memory storage device, if any one of the plurality of memory chips is defective, the entire memory storage device cannot be used. However, the memory storage device 100 of the present invention, even if any one of the plurality of memory chips (141 ~ 148) can not be a normal read / write service, the bad memory chip 146 in a read only mode (Read Only mode) In operation, the memory storage device 100 may be used. The mode change service of the memory chip is performed in the memory controller 130. In the following description, the memory chip is assumed to be a flash memory for convenience of description.

도 2는 본 발명에 따른 플래시 메모리 저장 장치(100)의 소프트웨어 모듈 구성도이다. 호스트 커맨드 핸들러는 호스트 명령을 분석하고 호스트로부터 수신 혹 은 송신할 버퍼 관리를 담당한다. 호스트가 요청하는 읽기 혹은 쓰기 위치는 플래시 메모리의 물리적 주소와 1:1로 일치하지 않는다. 이에 논리 주소를 플래시 메모리의 물리 주소로 변환할 필요가 있다. 이를 담당하는 소프트웨어 모듈은 FTL(Flash Translation Layer)이라고 불린다. FTL은 다시 논리 주소를 플래시 메모리의 주소로 변환하는 주소 변환기(Address Tanslator), 및 소거 폐일 발생시 배드 블록으로 등록하고 이를 배드 블록의 교체를 담당하는 배드 블록 관리 모듈(Bad Block Management Module)을 포함한다.2 is a software module configuration diagram of a flash memory storage device 100 according to the present invention. The host command handler is responsible for analyzing host commands and managing buffers to be sent or received from the host. The read or write location requested by the host does not match 1: 1 with the physical address of the flash memory. Therefore, it is necessary to convert the logical address into the physical address of the flash memory. The software module responsible for this is called the Flash Translation Layer (FTL). The FTL includes an Address Tanslator which converts a logical address back into an address of flash memory, and a Bad Block Management Module, which registers as a bad block and replaces the bad block when an erase failure occurs. .

또한 FTL은 각각의 플래시 메모리 칩들에 읽기, 프로그램, 소거 등의 구동을 수행하기 위한 플래시 메모리 제어기 인터페이스를 포함한다. 본 발명의 FTL은 특정 플래시 메모리가 불량으로 인해 정상적인 서비스를 제공하지 못할 경우에 이를 관리하기 위한 소프트웨어적인 방법을 포함한다. 이러한 방법에는 예를 들어 플래시 메모리들 각각에 대한 서비스 모드 설정 방법이 포함될 것이다.The FTL also includes a flash memory controller interface for driving read, program, erase, and the like on each of the flash memory chips. The FTL of the present invention includes a software method for managing a specific flash memory when it fails to provide a normal service due to a failure. Such a method would include, for example, a method of setting a service mode for each of the flash memories.

도 3은 본 발명의 플래시 메모리의 프로그램 순서도이다. 도 3을 참조하면, 플래시 메모리의 프로그램 동작은 아래와 같이 진행된다. 플래시 메모리의 페이지 버퍼로 프로그램될 데이터가 전달되고(S110), 플래시 메모리로 프로그램 명령이 발생된다(S120). 발행된 프로그램 명령에 의거하여 플래시 메모리의 프로그램 동작이 수행될 것이다. 이후 프로그램 상태가 점검되고(S130), 점검 결과로써 프로그램이 성공적으로 수행되었는 지 판별된다(S140). 이때, 프로그램 동작이 성공하면, 프로그램 동작이 완료된다. 반면에 프로그램 동작이 성공하지 못하면, 배드 블록 교체 동작이 수행된다. 여기서 배드 블록 교체 동작에 대한 자세한 설명은 도 5에서 하 도록 하겠다.3 is a program flow diagram of a flash memory of the present invention. Referring to FIG. 3, the program operation of the flash memory proceeds as follows. Data to be programmed is transferred to the page buffer of the flash memory (S110), and a program command is generated to the flash memory (S120). The program operation of the flash memory will be performed based on the issued program command. After that, the program state is checked (S130), and it is determined whether the program has been successfully performed as a result of the check (S140). At this time, if the program operation is successful, the program operation is completed. On the other hand, if the program operation is not successful, the bad block replacement operation is performed. Here, a detailed description of the bad block replacement operation will be given in FIG. 5.

도 4은 본 발명의 플래시 메모리의 소거 순서도이다. 도 4을 참조하면, 플래시 메모리의 소거 동작은 아래와 같이 진행된다. 플래시 메모리로 소거 명령이 발행된다(S210). 발행된 소거 명령에 의거하여 플래시 메모리의 소거 동작이 수행될 것이다. 이후 소거 동작 상태가 점검되고(S220), 점검 결과로써 소거가 성공적으로 수행되었는지 판별된다(S230). 이때 소거 동작이 성공하면, 소거 동작이 완료된다. 반면에 소거 동작이 성공하지 못하면, 배드 블록 교체 동작이 수행된다. 여기서 배드 블록 교체 동작에 대한 자세한 설명은 도 5에서 하도록 하겠다.4 is an erase flowchart of the flash memory of the present invention. Referring to FIG. 4, the erase operation of the flash memory proceeds as follows. An erase command is issued to the flash memory (S210). An erase operation of the flash memory will be performed based on the issued erase command. Thereafter, the erase operation state is checked (S220), and it is determined whether the erase has been successfully performed as a result of the check (S230). At this time, if the erase operation succeeds, the erase operation is completed. On the other hand, if the erase operation is not successful, the bad block replacement operation is performed. Here, a detailed description of the bad block replacement operation will be made with reference to FIG. 5.

도 5은 본 발명에 따른 프로그램 폐일 동작시 배드 블록 교체 알고리즘이다. 도 5을 참조하면, 배드 블록 교체 동작은 다음과 같이 진행된다. 프로그램 폐일이 발생하면, 메모리 제어기(130)는 이제까지 발생된 배드 블록의 수가 대체용으로 확보된 예비 블록(reserved block)의 수를 초과하는지 판별한다(S310). 만약, 배드 블록의 수가 예비 블록의 수를 초과하지 않았다면, 메모리 제어기는 교체 가능한 새로운 프리 블록을 할당한다(S320). 이후, 메모리 제어기(130)는 새로운 프리 블록에 배드 블록에 저장된 이전 데이터를 복사한 후에(S322), 블록 맵핑 테이블을 갱신한다. 갱신된 맵핑 테이블에 대응하는 데이터는 플래시 메모리에 저장된다(S324). 이로써 프로그램 폐일시 블록 교체 동작이 완료된다.5 is a bad block replacement algorithm during a program closing operation according to the present invention. Referring to FIG. 5, the bad block replacement operation proceeds as follows. When a program close occurs, the memory controller 130 determines whether the number of bad blocks generated so far exceeds the number of reserved blocks reserved for replacement (S310). If the number of bad blocks does not exceed the number of spare blocks, the memory controller allocates a replaceable new free block (S320). Thereafter, the memory controller 130 copies the old data stored in the bad block to the new free block (S322) and updates the block mapping table. Data corresponding to the updated mapping table is stored in the flash memory (S324). This completes the block replacement operation when the program is closed.

반면에, 배드 블록의 수가 예비 블록의 수를 초과하면, 더 이상의 블록 교체 동작이 불가능하다. 따라서 이런 경우에 메모리 제어기(130)는 더 이상 블록 교체가 불가능 한 플래시 메모리의 맵핑 상태를 표시하는 메타 데이터에 읽기 전용 플 래그를 설정한다. 이렇게 갱신된 메타 데이터는 블록 교체가 불가능한 플래시 메모리에 저장될 수 없다. 이는 블록 교체가 불가능한 플래시 메모리는 더 이상 쓰기 동작을 수행할 수 없기 때문이다. 따라서 갱신된 메타 데이터는 블록 교체가 가능한 다른 플래시 메모리에 저장된다(S332). 이로써, 더 이상 블록 교체가 불가능한 플래시 메모리는 읽기 전용 모드 서비스를 제공하게 된다.On the other hand, if the number of bad blocks exceeds the number of spare blocks, no further block replacement operation is possible. Therefore, in this case, the memory controller 130 sets a read-only flag in the metadata indicating the mapping state of the flash memory which can no longer be replaced. This updated metadata cannot be stored in the flash memory which cannot be replaced. This is because flash memory that is not block replaceable can no longer perform write operations. Therefore, the updated metadata is stored in another flash memory which can be replaced with a block (S332). As a result, flash memory that can no longer be replaced can provide read-only mode services.

본 발명에 따른 플래시 메모리들의 모든 메타 데이터들은 각 플래시 메모리들에 저장되도록 구현될 것이다. 도 6은 본 발명의 플래시 메모리의 메타 블록 구성 및 그것의 저장 방식을 보여주는 실시 예를 보여주는 도면이다. 도 6을 참조하면, 플래시 메모리들의 메타 블록에는 모든 플래시 메모리들의 메타 데이터가 저장된다. 이로써 불량 발생으로 어느 하나의 플래시 메모리가 읽거나 혹은 쓸 수 없더라도 다른 플래시 메모리에 저장된 메타 데이터를 이용하여 불량 처리된 플래시 메모리에 대하여 서비스 모드가 조정될 수 있다. 예를 들어, 플래시 메모리(146)를 더이상 읽기/쓰기 모드 서비스를 제공할 수 없을 때, 플래시 메모리(146)는 다른 플래시 메모리의 메타 정보를 이용하여 읽기 전용 모드(Read Only mode) 서비스로 조정이 가능하다.All metadata of flash memories according to the present invention will be implemented to be stored in respective flash memories. FIG. 6 is a diagram illustrating an embodiment of a metablock configuration and a storage method thereof of a flash memory of the present invention. Referring to FIG. 6, meta data of all flash memories is stored in a meta block of flash memories. As a result, even if one flash memory cannot be read or written due to a failure, the service mode may be adjusted with respect to the flash memory that has been badly processed using metadata stored in another flash memory. For example, when the flash memory 146 can no longer provide read / write mode service, the flash memory 146 can be adjusted to read only mode service using meta information of another flash memory. It is possible.

본 발명의 메모리 저장 장치를 SSD에 응용할 경우에는, 스마트와 같은 드라이브 상태 정보를 도 6에 도시된 바와 같이 복수의 칩들에 저장하여 관리할 수 있다. 따라서, 특정 칩에 스마트 정보를 저장하지 않음으로써, 일부 칩의 불량 상황에서도 드라이브의 불량 상태 정보의 리포팅이 가능해진다.When the memory storage device of the present invention is applied to an SSD, drive state information such as smart may be stored and managed in a plurality of chips as shown in FIG. 6. Therefore, by not storing the smart information on a specific chip, it is possible to report the bad state information of the drive even in the failure situation of some chips.

각각의 플래시 메모리에는 메타 블록이 갱신될 때마다 에이지 값(Age Value) 이 증가될 것이다. 즉, 갱신된 회수에 따라 에이지 값도 증가된다. 메모리 제어기(130)는 플래시 메모리로부터 읽혀진 복수의 메타 데이터 중에서 가장 에이지 값이 높은 메타 데이터를 유효한 메타 데이터로 결정하게 된다. 왜냐하면, 가장 높은 에이지 값을 갖는 메타 데이터는 가장 최근에 갱신된 메타 데이터이기 때문이다.In each flash memory, the Age value will increase each time the meta block is updated. That is, the age value also increases with the number of updates. The memory controller 130 determines the metadata having the highest age value among the plurality of metadata read from the flash memory as valid metadata. This is because the metadata with the highest age value is the most recently updated metadata.

도 7은 플래시 메모리의 페이지 내의 메타 데이터에 대한 구성을 보여주는 실시 예이다. 도 7에 도시된 바와 같이, 어느 하나의 플래시 메모리의 메타 블록에는 4개의 플래시 메모리들의 메타 데이터가 저장된다. 여기서 각 플래시 메모리의 메타 데이터는 4KByte의 페이지에 저장된다.7 is a diagram illustrating a configuration of meta data in a page of a flash memory. As shown in FIG. 7, meta data of four flash memories is stored in a meta block of one flash memory. Here, the metadata of each flash memory is stored in a page of 4 KBytes.

플래시 메모리들에 대한 배드 블록 상태 정보를 갖는 메타 데이터가 모두 포함되도록 각 플래시 메모리들의 메타 블록에는 메타 데이터가 저장된다. 즉, 복수의 플래시 메모리들 각각은 각 플래시 메모리들의 메타 데이터 정보를 갖고 있다. 따라서, 이후 어느 하나의 플래시 메모리의 불량이 발생하더라도 불량의 플래시 메모리의 상태 정보는 다른 플래시 메모리의 메타 데이터로부터 추출 가능하다.Meta data is stored in the meta block of each of the flash memories so that all metadata having bad block state information for the flash memories is included. That is, each of the plurality of flash memories has metadata information of each flash memory. Therefore, even if a failure of any one of the flash memories occurs later, the state information of the defective flash memory can be extracted from the metadata of the other flash memory.

도 8은 플래시 메모리의 페이지 내의 스마트 데이터 구성을 보여주는 실시 예이다. 스마트 정보도 하나의 플래시 페이지 내의 복수의 칩들에 대한 정보를 함께 저장됨으로써, 인식 불능의 칩이 발생하더라도 다른 칩으로부터 인식 불능된 칩의 정보 추출이 가능하다.8 is a diagram illustrating a smart data configuration in a page of a flash memory. Smart information also stores information about a plurality of chips in one flash page, so that even if an unrecognized chip is generated, information of the unrecognized chip can be extracted from another chip.

도 9는 본 발명에 따른 메모리 저장 장치(100)의 초기화 과정에 대한 순서도이다. 도 9를 참조하면, 메모리 저장 장치(100)의 초기화 과정은 다음과 같이 진행된다. 먼저 메모리 제어기(130)는 개별 칩들(141~148)의 ID(Indentification)를 읽 는다(S410). 이때 메모리 제어기(130)는 읽어온 칩의 인식 여부를 판별한다(S420). 메모리 칩이 인식되지 못하면, 메모리 제어기(130)는 대응하는 메모리 칩이 접근 불가 모드로 설정되도록 메타 데이터를 갱신한다(S435). 이후 S460 단계가 진행된다.9 is a flowchart illustrating an initialization process of the memory storage device 100 according to the present invention. Referring to FIG. 9, the initialization process of the memory storage device 100 proceeds as follows. First, the memory controller 130 reads IDs of individual chips 141 to 148 (S410). In this case, the memory controller 130 determines whether the read chip is recognized (S420). If the memory chip is not recognized, the memory controller 130 updates the metadata so that the corresponding memory chip is set to an inaccessible mode (S435). Thereafter, step S460 is performed.

만약, 메모리 칩이 인식되면, 메모리 제어기(130)는 메모리 칩의 메타 블록들로부터 메타 데이터를 읽어 온다. 여기서 읽어온 메타 데이터 중에서 에이지 값이 가장 높은 것이 유효한 메타 데이터로 결정된다(S440). 여기서 메타 데이터의 에이지 값은 갱신될 때마다 증가된다. 유효한 메타 데이터로부터 메모리칩의 서비스 모드가 선택된다(S450). 여기서 서비스 모드는 읽기/쓰기 모드, 읽기 전용 모드, 혹은 접근 불가 모드 중 어느 하나로 선택된다.If the memory chip is recognized, the memory controller 130 reads the meta data from the meta blocks of the memory chip. The highest age value among the meta data read here is determined as valid meta data (S440). Here, the age value of the metadata is incremented each time it is updated. The service mode of the memory chip is selected from the valid metadata (S450). The service mode may be selected among read / write mode, read-only mode, or inaccessible mode.

메모리 제어기(130)는 모든 메모리 칩들에 대하여 진행되었는 지 판별한다(S460). 모든 메모리 칩들에 대하여 초기화 동작이 수행되지 않았으면, S410 단계가 진행된다. 만약, 모든 메모리 칩들에 대하여 초기화 동작이 수행되면, 메모리 저장 장치의 초기화 동작이 완료된다.The memory controller 130 determines whether all the memory chips have been processed (S460). If the initialization operation is not performed for all the memory chips, step S410 is performed. If the initialization operation is performed on all the memory chips, the initialization operation of the memory storage device is completed.

도 10은 본 발명에 따른 플래시 저장 장치(100)의 읽기 동작에 대한 흐름도이다. 도 10을 참조하면, 초기화 동작이 수행된 후, 플래시 저장 장치의 읽기 동작은 다음과 같이 진행된다. 메모리 제어기(130)는 호스트로부터 전달된 논리 블록 어드레스에 따라 대응하는 칩 ID을 계산한다(S510). 메모리 제어기(130)는 유효한 메타 데이터를 이용하여 계산된 칩 ID에 대하여 읽기가 가능한 지를 판별한다(S420). 만약, 계산된 칩 ID에 대하여 읽기/쓰기 모드 서비스 혹은 읽기 전용 모 드 서비스가 제공되지 않으면, 읽기 동작이 에러 처리된다(S530). 만약, 계산된 칩 ID에 대하여 읽기/쓰기 모드 서비스 혹은 읽기 전용 모드 서비스가 제공되면, 대응하는 메모리 칩으로부터 읽기 동작이 수행된다(S540).10 is a flowchart illustrating a read operation of the flash storage device 100 according to the present invention. Referring to FIG. 10, after the initialization operation is performed, the read operation of the flash storage device proceeds as follows. The memory controller 130 calculates a corresponding chip ID according to the logical block address transferred from the host (S510). The memory controller 130 determines whether it is possible to read the calculated chip ID using valid metadata (S420). If a read / write mode service or a read-only mode service is not provided for the calculated chip ID, a read operation is processed in error (S530). If a read / write mode service or a read-only mode service is provided for the calculated chip ID, a read operation is performed from the corresponding memory chip (S540).

도 11은 본 발명에 따른 플래시 저장 장치(100)의 쓰기 동작에 대한 흐름도이다. 도 11을 참조하면, 초기화 동작이 수행된 후, 플래시 저장 장치의 읽기 동작은 다음과 같이 진행된다. 메모리 제어기(130)는 호스트로부터 전달된 논리 블록 어드레스에 따라 대응하는 칩 ID을 계산한다(S610). 메모리 제어기(130)는 유효한 메타 데이터를 이용하여 계산된 칩 ID에 대하여 읽기가 가능한 지를 판별한다(S620). 만약, 계산된 칩 ID에 대하여 읽기/쓰기 모드 서비스가 제공되지 않으면, 쓰기 동작이 에러 처리된다(S630). 만약, 계산된 칩 ID에 대하여 읽기/쓰기 모드 서비스가 제공되면, 대응하는 메모리 칩으로부터 쓰기 동작이 수행된다(S640).11 is a flowchart illustrating a write operation of the flash storage device 100 according to the present invention. Referring to FIG. 11, after the initialization operation is performed, the read operation of the flash storage device proceeds as follows. The memory controller 130 calculates a corresponding chip ID according to the logical block address transferred from the host (S610). The memory controller 130 determines whether it is possible to read the calculated chip ID using valid metadata (S620). If the read / write mode service is not provided for the calculated chip ID, the write operation is error processed (S630). If a read / write mode service is provided for the calculated chip ID, a write operation is performed from the corresponding memory chip (S640).

비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 저장 장치에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 인가될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 제어기와 플래시 메모리는, 예를 들면, 데이터를 저장하는 데 비휘발성 메모리 장치를 사용하는 SSD(Solid State Drive/Disk)로 구성될 수도 있다.Although not shown in the drawings, it is common knowledge in the art that an application chipset, a camera image processor (CIS), a mobile DRAM, and the like may be further applied to the memory storage device according to the present invention. Self-explanatory to those who have learned. The memory controller and flash memory may be comprised of, for example, a solid state drive / disk (SSD) that uses a nonvolatile memory device to store data.

본 발명에 따른 플래시 메모리 그리고/또는 메모리 제어기는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 제어기는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.The flash memory and / or memory controller according to the present invention may be implemented using various types of packages. For example, the flash memory device and / or the memory controller according to the present invention may be a package on package (PoP), ball grid arrays (BGAs), chip scale packages (CSPs), plastic leaded chip carrier (PLCC), plastic dual in- Line Package (PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In-Line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flatpack (TQFP), Small Outline (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline (TSOP), Thin Quad Flatpack (TQFP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package (WFP), It can be implemented using packages such as Wafer-Level Processed Stack Package (WSP), or the like.

한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the equivalents of the claims of the present invention as well as the following claims.

도 1은 본 발명에 따른 플래시 메모리 저장 장치의 하드웨어 구성도이다.1 is a hardware configuration diagram of a flash memory storage device according to the present invention.

도 2는 본 발명에 따른 플래시 메모리 저장 장치의 소프트웨어 모듈 구성도이다.2 is a software module configuration diagram of a flash memory storage device according to the present invention.

도 3은 본 발명의 플래시 메모리의 프로그램 순서도이다.3 is a program flow diagram of a flash memory of the present invention.

도 4은 본 발명의 플래시 메모리의 소거 순서도이다.4 is an erase flowchart of the flash memory of the present invention.

도 5은 본 발명의 배드 블록 교체 알로리즘이다.5 is a bad block replacement algorithm of the present invention.

도 6은 본 발명의 플래시 메모리의 메타 블록 구성 및 그것의 저장 방식을 보여주는 실시 예를 보여주는 도면이다.FIG. 6 is a diagram illustrating an embodiment of a metablock configuration and a storage method thereof of a flash memory of the present invention.

도 7은 본 발명에 따른 플래시 메모리의 메타 데이터의 구성에 대한 실시 예를 보여주는 도면이다.7 is a diagram illustrating an embodiment of a configuration of metadata of a flash memory according to the present invention.

도 8은 본 발명에 따른 플래시 메모리의 스마트 데이터의 구성에 대한 실시 예를 보여주는 도면이다.8 is a diagram illustrating an embodiment of a configuration of smart data of a flash memory according to the present invention.

도 9은 본 발명에 따른 플래시 저장 장치의 초기화 과정에 대한 순서도이다.9 is a flowchart illustrating an initialization process of a flash storage device according to the present invention.

도 10은 본 발명에 따른 플래시 저장 장치의 읽기 동작에 대한 흐름도이다.10 is a flowchart illustrating a read operation of a flash storage device according to the present invention.

도 11은 본 발명에 따른 플래시 저장 장치의 쓰기 동작에 대한 흐름도이다.11 is a flowchart illustrating a write operation of a flash storage device according to the present invention.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100: 메모리 저장 장치 110: 중앙처리장치100: memory storage device 110: central processing unit

120: 램 130: 메모리 제어기120: RAM 130: memory controller

141~148: 메모리 칩 150: 호스트 인터페이스 제어기141 to 148: memory chip 150: host interface controller

Claims (10)

메모리 저장 장치의 모드 설정 방법에 있어서:In the mode setting method of the memory storage device: 배드 블록 교체시 제 1 메모리 칩의 배드 블록의 개수가 소정의 값을 초과했는지를 판별하는 단계;Determining whether the number of bad blocks of the first memory chip exceeds a predetermined value when the bad blocks are replaced; 상기 제 1 메모리 칩의 배드 블록의 개수가 소정의 값을 초과할 때 상기 제 1 메모리 칩을 읽기 전용 모드로 설정하는 단계; 및Setting the first memory chip to a read-only mode when the number of bad blocks of the first memory chip exceeds a predetermined value; And 상기 읽기 전용 모드로 설정된 상기 제 1 메모리 칩의 메타 데이터를 제 2 메모리 칩에 저장하는 단계를 포함하는 모드 설정 방법.And storing metadata of the first memory chip set to the read-only mode in a second memory chip. 제 1 항에 있어서,The method of claim 1, 상기 제 1 메모리 칩의 배드 블록의 개수가 소정의 값을 초과하지 않을 때 배드 블록을 교체하는 단계가 수행되는 것을 특징으로 하는 모드 설정 방법.And replacing the bad blocks when the number of bad blocks of the first memory chip does not exceed a predetermined value. 메모리 저장 장치의 초기화 방법에 있어서:In the method of initializing a memory storage device: 메모리 칩의 식별번호가 읽히는지 판별하는 단계; Determining whether an identification number of the memory chip is read; 상기 메모리 칩의 상기 식별번호가 읽히면, 상기 메모리 칩의 메타 데이터를 읽는 단계;Reading the metadata of the memory chip when the identification number of the memory chip is read; 상기 읽혀진 메타 데이터로부터 상기 메모리 칩의 서비스 모드를 선택하는 단계; 및Selecting a service mode of the memory chip from the read metadata; And 모든 메모리 칩들에 대한 서비스 모드가 선택되었는 지 판별하는 단계를 포함하는 초기화 방법.Determining whether a service mode for all memory chips has been selected. 제 3 항에 있어서,The method of claim 3, wherein 모든 메모리 칩들에 대한 서비스 모드가 선택되지 않았다면, 다른 메모리 칩의 식별번호가 읽히는지를 판별하는 단계가 진행되는 것을 특징으로 초기화 방법.If the service mode for all the memory chips is not selected, determining whether the identification number of another memory chip is read. 제 3 항에 있어서,The method of claim 3, wherein 상기 메모리 칩의 식별번호가 읽히지 않으면, 상기 메모리 칩은 접근 불가 모드로 설정되고, 상기 메모리 칩의 상기 접근 불가 모드는 다른 메모리 칩의 메타 블록에 저장되는 것을 특징으로 하는 초기화 방법.If the identification number of the memory chip is not read, the memory chip is set to an inaccessible mode, and the inaccessible mode of the memory chip is stored in a meta block of another memory chip. 제 3 항에 있어서,The method of claim 3, wherein 상기 메모리 칩의 상기 메타 데이터를 읽는 단계에서,In reading the metadata of the memory chip, 상기 메타 데이터는 상기 메모리 칩의 메타 블록으로부터 읽혀지며,The meta data is read from a meta block of the memory chip, 상기 메타 블록에는 상기 메타 데이터가 갱신될 때마다 갱신된 회수와 함께 상기 메타 데이터가 저장되는 것을 특징으로 하는 초기화 방법.And the meta data is stored in the meta block together with the updated number of times each time the meta data is updated. 제 6 항에 있어서,The method of claim 6, 상기 갱신된 회수가 가장 높은 메타 데이터가 상기 메모리 칩의 유효한 메타 데이터로 선택되는 것을 특징으로 하는 초기화 방법.And the metadata having the highest updated number is selected as valid metadata of the memory chip. 제 3 항에 있어서,The method of claim 3, wherein 상기 메모리 칩의 상기 메타 데이터는 나머지 메모리 칩들 모두에 저장되는 것을 특징으로 하는 초기화 방법.The metadata of the memory chip is stored in all remaining memory chips. 제 3 항에 있어서,The method of claim 3, wherein 모든 메모리 칩들 각각은 상기 모든 메모리 칩들에 대한 메타 데이터를 저장하는 것을 특징으로 하는 초기화 방법.Wherein each of all of the memory chips stores metadata for all of the memory chips. 제 3 항에 있어서,The method of claim 3, wherein 상기 서비스 모드는 읽기/쓰기 모드, 읽기 전용 모드, 및 접근 불가 모드 중 어느 하나인 것인 특징으로 하는 초기화 방법.And the service mode is one of a read / write mode, a read-only mode, and an inaccessible mode.
KR20080096117A 2008-09-30 2008-09-30 Method for setting mode, and method for initializing in memory storage device KR101485577B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20080096117A KR101485577B1 (en) 2008-09-30 2008-09-30 Method for setting mode, and method for initializing in memory storage device
US12/585,935 US8327066B2 (en) 2008-09-30 2009-09-29 Method of managing a solid state drive, associated systems and implementations
US13/067,434 US8904088B2 (en) 2008-09-30 2011-06-01 Method of managing a solid state drive, associated systems and implementations
US13/067,436 US20110238900A1 (en) 2008-09-30 2011-06-01 Method of managing a solid state drive, associated systems and implementations
US14/508,393 US9542199B2 (en) 2008-09-30 2014-10-07 Method of managing a solid state drive, associated systems and implementations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080096117A KR101485577B1 (en) 2008-09-30 2008-09-30 Method for setting mode, and method for initializing in memory storage device

Publications (2)

Publication Number Publication Date
KR20100036743A true KR20100036743A (en) 2010-04-08
KR101485577B1 KR101485577B1 (en) 2015-01-22

Family

ID=42214200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080096117A KR101485577B1 (en) 2008-09-30 2008-09-30 Method for setting mode, and method for initializing in memory storage device

Country Status (1)

Country Link
KR (1) KR101485577B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541458A (en) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 Method for increasing data writing speed of electronic hard disk
CN110502449A (en) * 2018-05-18 2019-11-26 爱思开海力士有限公司 Storage device and its operating method
CN113485948A (en) * 2021-06-29 2021-10-08 成都忆芯科技有限公司 NVM bad block management method and control unit
CN113688070A (en) * 2021-10-27 2021-11-23 苏州浪潮智能科技有限公司 Method, device and equipment for replacing bad block in NAND and readable medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875038B2 (en) 2021-04-20 2024-01-16 Western Digital Technologies, Inc. Block allocation for multi-CE/die structure SSD

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007287292A (en) 2006-04-20 2007-11-01 Renesas Technology Corp Semiconductor integrated circuit device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541458A (en) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 Method for increasing data writing speed of electronic hard disk
CN102541458B (en) * 2010-12-17 2015-11-25 西安奇维科技股份有限公司 A kind of method improving data writing speed of electronic hard disk
CN110502449A (en) * 2018-05-18 2019-11-26 爱思开海力士有限公司 Storage device and its operating method
CN110502449B (en) * 2018-05-18 2024-01-26 爱思开海力士有限公司 Memory device and method of operating the same
CN113485948A (en) * 2021-06-29 2021-10-08 成都忆芯科技有限公司 NVM bad block management method and control unit
CN113485948B (en) * 2021-06-29 2023-11-14 成都忆芯科技有限公司 NVM bad block management method and control part
CN113688070A (en) * 2021-10-27 2021-11-23 苏州浪潮智能科技有限公司 Method, device and equipment for replacing bad block in NAND and readable medium

Also Published As

Publication number Publication date
KR101485577B1 (en) 2015-01-22

Similar Documents

Publication Publication Date Title
US11768610B2 (en) Storage system having a host that manages physical data locations of a storage device
KR101856506B1 (en) Data storage device and data write method thereof
JP4429685B2 (en) Hybrid implementation for error correction code in non-volatile memory systems
JP5649742B2 (en) Transaction log restore
KR101459861B1 (en) Stripe-based memory operation
KR101447786B1 (en) Power interrupt management
US20130173954A1 (en) Method of managing bad storage region of memory device and storage device using the method
US20090259896A1 (en) Bad block identifying method for flash memory, storage system, and controller thereof
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
US20120089767A1 (en) Storage device and related lock mode management method
TWI423026B (en) Data writing method, memory controller and memory storage apparatus
KR101581859B1 (en) Memory system and data managing method of flash translation layer therof
US8825946B2 (en) Memory system and data writing method
KR20100094241A (en) Nonvolatile memory device not including reserved blocks
KR20180019419A (en) Memory Controller, Memory System and Operating Method thereof
CN103425589A (en) Control apparatus, storage device, and storage control method
CN102890655B (en) Memory storage device, memory controller and valid data recognition method thereof
TWI459198B (en) Memory storage device, memory controller thereof, and method for identifying valid data
KR101485577B1 (en) Method for setting mode, and method for initializing in memory storage device
US8607123B2 (en) Control circuit capable of identifying error data in flash memory and storage system and method thereof
US9223688B2 (en) Data storing method and memory controller and memory storage device using the same
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
TWI797464B (en) Data reading method, memory storage device and memory control circuit unit
CN113903383A (en) Storage device, flash memory controller and access method thereof
US20130067141A1 (en) Data writing method, and memory controller and memory storage apparatus using the same

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 6