KR20070007410A - 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법 - Google Patents

메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법 Download PDF

Info

Publication number
KR20070007410A
KR20070007410A KR1020050062000A KR20050062000A KR20070007410A KR 20070007410 A KR20070007410 A KR 20070007410A KR 1020050062000 A KR1020050062000 A KR 1020050062000A KR 20050062000 A KR20050062000 A KR 20050062000A KR 20070007410 A KR20070007410 A KR 20070007410A
Authority
KR
South Korea
Prior art keywords
memory
capacity
bad
capacity information
information
Prior art date
Application number
KR1020050062000A
Other languages
English (en)
Other versions
KR100746289B1 (ko
Inventor
김광명
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050062000A priority Critical patent/KR100746289B1/ko
Priority to US11/378,206 priority patent/US8458531B2/en
Priority to TW095116173A priority patent/TWI302313B/zh
Publication of KR20070007410A publication Critical patent/KR20070007410A/ko
Application granted granted Critical
Publication of KR100746289B1 publication Critical patent/KR100746289B1/ko

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

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)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치 및 방법이 개시된다. 본 발명의 비휘발성 메모리 카드 장치는 호스트 기기에 접속되어 동작하며, 비휘발성(예컨대, 낸드형 플래시) 메모리; 및 상기 비휘발성 메모리를 제어하고, 상기 호스트 기기와 통신하는 컨트롤러를 포함한다. 상기 컨트롤러는 상기 비휘발성 메모리의 불량 메모리 발생에 따라 불량 메모리 용량 정보를 산출하고, 산출된 불량 메모리 용량 정보를 반영하여 CSD 레지스터의 메모리 용량 정보를 갱신한다. 또한, 호스트 기기의 CSD 레지스터값 요청에 응답하여 갱신된 메모리 용량 정보를 포함하는 CSD 레지스터 값을 호스트 기기로 제공함으로써, 호스트 기기로 하여금 메모리 카드 장치의 실제 가용한 메모리 용량을 알 수 있도록 한다.

Description

메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치 및 방법{Non-volatile memory card apparatus and method for updating memory capacity}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 메모리 카드 장치를 개략적으로 나타내는 블록도이다.
도 2는 도 1에 도시된 메모리 카드의 내부 구성을 좀 더 상세하게 도시하는 블록도이다.
도 3은 메모리부의 구성을 좀 더 상세하게 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 메모리 용량 갱신 방법을 나타내는 흐름도이다.
도 5는 CSD 레지스터의 일 예를 구체적으로 나타내는 도면이다.
본 발명은 메모리 카드 장치에 관한 것으로, 특히, 호스트 기기에 접속되어 동작하는 비휘발성 메모리 카드 장치에서 불량 메모리 용량을 반영한 메모리 용량 을 산출하여 이를 호스트 기기로 제공하는 메모리 카드 장치 및 메모리 카드 장치가 접속된 호스트 기기에 관한 것이다.
메모리 카드 장치는 저장 장치를 추가로 필요로 하는 디지털 카메라, 휴대폰, MP3 플레이어 등의 전자/통신 기기에 접속되어 사용된다. 이 때, 전자/통신 기기는 메모리 카드 장치의 호스트 기기가 되어 메모리 카드에 데이터를 기입하고 독출한다. 최근에는 플래시 메모리가 메모리 카드 장치에 많이 사용되고 있는데, 특히, 낸드형(NAND type) 플래시 메모리는 노아형(NOR type)에 비해 제조단가가 싸고 대용량이 가능하다는 장점이 있어 메모리 카드 장치에 많이 사용된다.
호스트 기기는 메모리 카드 장치의 접속시에나 필요시 메모리 카드 장치로 카드 용량(즉, 메모리 용량) 정보를 요청한다. 호스트 기기의 요청에 응답하여, 메모리 카드 장치는 메모리 용량 정보를 호스트 기기로 전송한다. 통상적으로 메모리 용량 정보는 다른 정보와 함께 레지스터에 저장되고, 메모리 카드 장치는 레지스터 값을 호스트 기기로 전송한다.
한편, 메모리 카드에 사용되는 메모리는 통상적으로 다수의 메모리 블록들을 포함하며, 이들 다수의 메모리 블록들 중 불량 메모리 블록이 포함되어 있을 수 있다. 특히, MMC(MultiMedia Card) 또는 SD(Secure Digital) 카드와 같은 메모리 카드에서 주로 사용되는 낸드형 플래시 메모리는 소자 특성상 사용하지 않도록 권장하는 블량 메모리 블록이 발생한다.
종래 기술에서는 불량 메모리 블록이 발생하면 해당 불량 메모리 블록의 위치를 기억하고 해당 불량 메모리 블록을 사용하지 않는 것에 초점이 맞춰져 있으 며, 불량 메모리 블록의 총 용량에는 관심이 없었다. 따라서, 불량 메모리 블록이 전체 용량에서 어느 정도의 비율을 차지하는지, 불량 메모리 블록의 용량에 대한 정보를 제공하지 않았다.
또한, 종래 기술에서는, 불량 메모리 블록의 발생에 따른 불량 메로리 용량의 변화를 메모리 용량 정보에 반영하지 않았다. 즉, 메모리 카드 장치가 호스트 기기로 제공하는 메모리 용량 정보는 불량 메모리 블록을 반영하지 않은 전체 메모리 용량 정보으로서, 늘 고정된 값을 가진다. 따라서, 호스트 기기는 메모리 카드 장치의 전체 용량은 알 수 있으나, 불량 메모리 블록을 제외한 실제 사용 가능한 메모리 용량에 대해서는 알 수 없는 문제점이 있다. 메모리 카드의 최종 사용자 역시 메모리 카드의 전체 용량은 구매시 이미 알고 있는 사항이므로, 실제 필요한 정보는 전체 용량 보다 현재 사용 가능한 메모리 용량이다.
따라서, 본 발명은 불량 메모리 블록의 발생에 따라 변경된 메모리 용량을 산출하여 제공함으로써, 호스트 기기 및 최종 사용자가 실제 사용 가능한 메모리 용량 정보를 알 수 있도록 하는 메모리 카드 장치, 방법 및 메모리 카드 장치가 접속된 호스트 기기를 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 일 측면에 따르면, 호스트 기기에 접속되어 동작하는 메모리 카드 장치에 있어서, 비휘발성 메모리; 및 상기 비휘발성 메모리를 제어하고, 상기 호스트 기기와 통신하는 컨트롤러를 포 함하고, 상기 컨트롤러는 상기 비휘발성 메모리의 불량 메모리 발생에 따라 가용 메모리 용량 정보를 갱신하여 상기 호스트 기기로 전송하는 것을 특징으로 하는 메모리 카드 장치가 제공된다. 바람직하기로는, 상기 비휘발성 메모리는 낸드형 플래시 메모리이고, 상기 갱신된 가용 메모리 용량 정보는 상기 컨트롤러 내의 소정의 CSD 레지스터에 저장된다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 다른 일 측면에 따르면, 메모리 카드 장치에 있어서, 다수의 메모리 블록들을 포함하는 낸드형 플래시 메모리; 및 호스트 기기의 요청에 응답하여 상기 낸드형 플래시 메모리의 용량 정보를 상기 호스트 기기로 전송하는 컨트롤러를 포함하고, 상기 컨트롤러는 상기 낸드형 플래시 메모리에서의 불량 메모리 블록의 발생에 따라 불량 메모리 용량 정보를 갱신하고, 상기 갱신된 불량 메모리 용량 정보를 상기 낸드형 플래시 메모리의 용량 정보에 반영하는 것을 특징으로 하는 메모리 카드 장치가 제공된다. 바람직하기로는, 상기 낸드형 플래시 메모리의 용량 정보는 상기 낸드형 플래시 메모리의 총 용량에서 불가용 용량을 뺀 가용 메모리 용량을 나타내는 데이터이고, 상기 불가용 용량은 컨트롤러용 할당 메모리 용량과 상기 불량 메모리 용량을 더한 값이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 또 다른 일 측면에 따르면, 비휘발성 메모리 카드 장치에서 메모리 용량 정보를 산출하는 방법에 있어서, 상기 비휘발성 메모리에서의 불량 메모리 블록의 발생에 따라 불량 메모리 용량 정보를 갱신하는 단계; 상기 불량 메모리 용량 정보를 반영하여 상기 비휘발성 메모리의 용량 정보를 산출하는 단계; 및 상기 비휘발성 메모리의 용량 정보를 호스트 기기로 제공하는 단계를 포함하는 메모리 카드 장치에서의 메모리 용량 산출 방법이 제공된다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 또 다른 일 측면에 따르면, 낸드형 플래시 메모리 및 컨트롤러를 포함하는 메모리 카드 장치에서 메모리 용량 정보를 산출하는 방법에 있어서, 상기 낸드형 플래시 메모리에서의 불량 메모리 블록의 발생에 따라 불량 메모리 용량 정보를 갱신하는 단계; 상기 갱신된 불량 메모리 용량 정보를 이용하여 상기 낸드형 플래시 메모리의 용량 정보를 산출하는 단계; 상기 낸드형 플래시 메모리의 용량 정보를 이용하여 CSD 레지스터 값을 갱신하는 단계; 및 상기 갱신된 CSD 레지스터 값을 호스트 기기로 전송하는 단계를 포함하는 메모리 카드 장치에서의 메모리 용량 산출 방법이 제공된다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 또 다른 일 측면에 따르면, 호스트 기기; 및 상기 호스트 기기에 접속되어 동작하는 메모리 카드 장치를 포함하며, 상기 메모리 카드 장치는 다수의 메모리 블록들을 포함하는 비휘발성 메모리; 및 상기 비휘발성 메모리에서의 불량 메모리 블록의 발생에 따라 상기 비휘발성 메모리의 용량 정보를 갱신하고, 상기 호스트 기기의 요청에 응답하여 상기 갱신된 용량 정보를 전송하는 컨트롤러를 포함하는 것을 특징으로 하는 메모리 카드 장치가 접속된 호스트 기기가 제공된다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 메모리 카드 장치를 개략적으로 나타내는 블록도이다. 아울러, 도 1은 메모리 카드 장치(200)가 접속되는 호스트 기기(100)와 메모리 카드 장치(200) 간의 관계를 도시한다.
도 1을 참조하면, 메모리 카드 장치(200)는 컨트롤러(210) 및 메모리부(220)를 포함한다.
메모리부(220)는 비휘발성(non-volatile) 메모리 소자, 그 중에서 낸드형 플래시 메모리 소자이다. 낸드형 플래시 메모리는 소자 특성상 사용하지 않도록 권장하는 불량 블록(bad block)이 발생한다. 불량 블록은 제조할 때부터 발생한 것과 처음에는 정상적으로 동작하다가 시간이 경과 하면서 발생하는 것이 있으며 어느 경우든 사용할 수 없다.
컨트롤러(210)는 메모리부(220)를 제어하고, 호스트 기기(100)와 인터페이스한다. 메모리 카드(200)는 호스트 기기(100)에 접속되어 사용된다. 호스트 기기(100)는 휴대폰, PDA, MP3 플레이어 등 메모리를 필요로 하는 전자/통신 기기가 될 수 있다. 메모리 카드(200)는 호스트 기기(100)와의 접속을 위하여 다수의 핀(pin)을 구비한다. 메모리 카드(200)는 다수의 핀을 통해 호스트 기기(100)와 클럭 신호(CLK), 명령어(CMD), 데이터(DATA) 등을 주고 받으며, 또한 전원(POWER)을 공급받 는다.
도 2는 메모리 카드(200)의 내부 구성을 좀 더 상세하게 도시하는 블록도이다. 이를 참조하면, 메모리부(220)는 다수의 메모리 블록들(BLK)을 포함한다. 메모리부(220)는 다수의 메모리 블록들(BLK) 외에 컨트롤러(210)와 인터페이스하기 위한 인터페이스부(미도시)를 더 포함할 수 있다.
각 메모리 블록(BLK)은 다수(예컨대 64개)의 페이지로 이루어질 수 있다. 메모리부(220)는 또한 각 메모리 블록(BLK)의 불량 여부를 나타내기 위한 불량 표시부(310)를 포함한다. 불량 표시부(310)는 통상 스페어 영역(Spare Area)으로 불리우며 각 페이지마다 구비된다. 불량 표시부(310)는 해당 페이지가 속한 메모리 블록(BLK)의 불량 여부를 표시하는데 사용된다. 불량 메모리 블록임을 표시하는 방법에 있어서, 불량 메모리 블록에 포함된 다수의 페이지들 중 특정 페이지(예컨대, 첫 번째 혹은 두 번째 페이지)의 불량 표시부(310)에 그 메모리 블록이 불량임을 표시할 수도 있다. 이 방법은 제조시부터 발생한 불량 메모리 블록을 표시하는 바람직한 방법이다. 사용에 의해 발생한 불량 메모리 블록에 대해서는 해당 불량 메모리 블록의 특정 페이지의 불량 표시부(310)에 표시를 할 수도 있고, 별도의 메모리 영역(예컨대, 후술되는 컨트롤러용 할당 메모리 블록)에 불량 메모리 블록에 대한 정보를 저장할 수도 있으며, 양 방식이 모두 사용될 수도 있다. 불량 표시부(310)는 메모리 블록(BLK)의 불량 여부를 표시하는 용도 외의 다른 용도로 사용될 수 있다.
메모리 블록들(BLK)은 외부 데이터를 저장하는 장소로 사용되기도 하고, 컨 트롤러가 특정 목적을 위하여 사용하기도 한다. 컨트롤러가 특정 목적을 위하여 할당한 메모리 블록(이하, 컨트롤러용 할당 메모리 블록)은 외부 호스트 기기(100)가 사용할 수 없다. 따라서, 호스트 기기(100)가 실제 사용할 수 있는 메모리 블록은 총 메모리 블록들에서 컨트롤러용 할당 메모리 블록과 불량 메모리 블록을 뺀 메모리 블록이다.
컨트롤러(210)는 CPU(213), 레지스터들(211), 제1 및 제2 내부 메모리(215,217)을 포함한다. 다수의 레지스터들(211)에는 CSD 레지스터 및 CID 레지스터가 포함된다.
CID(Card Identification) 레지스터는 MID(Manufacture ID), OID(OEM/Application ID), PNM(Product Name), PSN(Product Serial Number) 등의 카드 식별 정보를 저장한다. CSD(Card-Specific Data) 레지스터는 데이터 포맷, 오류 정정 타입, 최대 데이터 억세스 시간, 데이터 전송 속도 등의 카드 데이터에 접근하기 위해 필요한 정보를 저장한다. 아울러, CSD 레지스터는 카드 용량 정보, 즉 메모리 용량 정보를 저장한다.
도 5는 CSD 레지스터의 일 예를 구체적으로 나타내는 도면이다. 도 5를 참조하면, CSD 레지스터에 포함되는 다수의 파라미터들에 대한 명칭(Name), 필드(Field), 길이(Width)가 리스트되어 있다. 리스트되어 있는 다수의 파리미터들 중에서 카드용량 정보(메모리 용량 정보)를 나타내는 파라미터는 C_SIZE이다. 종래 기술에서는 C_SIZE 필드에 불량 메모리 용량 정보를 반영하지 않는 전체 메모리 용량 정보를 저장하는데 반하여, 본 발명에서는 불량 메모리 용량 정보를 반영하여 C_SIZE 필드를 갱신한다. 이에 대해서는 상세히 후술하기로 한다.
호스트 기기(100)는 필요시 CSD 레지스터 값을 요구하는 명령어를 컨트롤러(210)로 보내며, 호스트 기기(100)의 요청에 응답하여 컨트롤러(210)는 해당 레지스터값을 호스트 기기(100)로 전송한다.
CPU(213)는 메모리부(220)에서의 불량 메모리 블록의 발생에 따라 메모리 용량 정보를 갱신하여, 갱신된 메모리 용량 정보를 CSD 레지스터에 저장한다. CPU(213)는 또한 호스트 기기(100)로부터 메모리 용량 정보에 대한 요청이 있을 때 호스트 기기(100)로 CSD 레지스터 값을 전송한다. CSD 레지스터에 저장되는 메모리 용량 정보는 가용 메모리 용량 정보이고, 이 가용 메모리 용량 정보는 CSD 레지스터의 C_SIZE 필드(도 5 참조)에 저장되는 것이 바람직하다. 가용 메모리 용량 정보는 호스트 기기(100)가 실제로 사용할 수 있는 메모리 용량 정보를 의미한다.
가용 메모리 용량은 다음의 수학식과 같이 산출될 수 있다.
가용 메모리 용량 = 총 메모리 용량 불가용 메모리 용량,
불가용 메모리 용량 = 컨트롤러용 할당 메모리 용량 + 불량 메모리 용량
여기서, 불량 메모리 용량은 메모리 카드의 출시 때, 즉 제조시부터 발생한 불량 메모리의 용량과 출시 후 사용에 의해 발생된 불량 메모리의 용량을 합한 값이다.
출시 후 사용에 의한 불량 메모리의 용량을 반영하여 가용 메모리 용량을 산출하기 위하여 불량 메모리 블록의 관리가 필요하다. CPU(213)는 불량 메모리 블록 이 발생하면, 불량 메모리 블록에 해당하는 불량 표시부(310)에 표시를 한다. 아울러, CPU(213)는 불량 메모리 블록의 위치 및 개수를 파악하고, 불량 메모리 용량을 산출하며, 또한 산출된 불량 메모리 용량을 반영하여 가용 메모리 용량을 산출한다. CPU(213)는 불량 메모리 블록의 관리와 메모리 용량의 갱신을 위하여 필요한 정보들-예컨대, 불량 메모리 위치 정보, 개수 정보, 용량 정보 등-을 메모리부(220)의 컨트롤러용 할당 메모리 블록 또는 컨트롤러 내부 메모리(215)에 저장한다.
컨트롤러(210) 내부에는 프로그램 및 데이터의 저장을 위하여 내부 메모리(215, 217)가 구비된다. 프로그램 등을 저장하기 위한 제1 내부 메모리(215)는 롬(ROM) 타입 메모리인 것이 바람직하며, 특히 노아(NOR)형 플래시 메모리인 것이 바람직하다. 제2 메모리(217)는 SRAM인 것이 바람직하다. 불량 메모리 블록의 관리와 메모리 용량의 갱신을 위하여 필요한 정보들은 빠른 억세스를 위하여 메모리부(220)의 컨트롤러용 할당 메모리 블록보다 제1 내부 메모리(215)에 저장되는 것이 바람직하다.
도 4는 본 발명의 일 실시예에 따른 메모리 용량 갱신 방법을 나타내는 흐름도이다. 도 3은 메모리부(220)의 구성을 좀 더 상세하게 도시하는 도면이다. 이를 참조하면 메모리부(220)는 n개의 메모리 블록들(BLK1~BLKn) 및 불량 표시부(310)를 포함한다. 도 3에서, 제5 메모리 블록(BLK5)은 컨트롤러용 할당 메모리 블록이고 제6 메모리 블록(BLK6)은 메모리 카드 장치의 출시때부터 불량인 것으로 가정한다. 본 실시예에서는 불량 메모리의 위치, 용량 관리는 메모리 블록 단위로 이루어지는 것으로 가정한다. 그러나, 불량 메모리의 관리가 블록 보다 좀 더 세분화된 단위(예컨대, 페이지)로 이루어질 수도 있다.
도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 메모리 카드 장치에서의 메모리 용량 산출 과정 및 산출된 용량을 호스트 기기(100)로 제공하는 과정을 설명하면 다음과 같다.
먼저, CPU(213)는 메모리부(220)에서 불량 메모리 블록이 발생했는지 체크하여 불량 메모리 블록이 발생하면 해당 메모리 블록을 표시한다(S410, S420). 체크 결과, 제7 메모리 블록(BLK7)이 불량이면 해당 불량 표시부(310)에 제7 메모리 블록(BLK7)이 불량임을 표시한다. 제7 메모리 블록(BLK7)은 사용에 의해 불량이 발생한 경우이다.
다음으로, 불량 메모리 블록의 위치 및 개수를 파악하여 별도 저장/관리한다(S430). 즉, 새로이 발생된 불량 메모리 블록의 위치 정보를 소정 메모리에 저장하고, 불량 메모리 블록의 총 개수 정보를 갱신하여 저장한다(S430). 제7 메모리 블록(BLK7)의 불량으로 인하여, 불량 메모리 블록의 총 개수 정보는 출시 때부터 불량인 메모리 블록수(1)와 더해져 '2'로 갱신될 것이다. 사용에 의하여 추가로 불량 메모리 블록이 발생되면, 이에 따라 불량 메모리 블록의 위치 및 개수 정보도 갱신될 것이다.
불량 메모리 블록의 개수 정보로부터 불량 메모리 블록 용량을 산출하고, 산출된 불량 메모리 블록 용량을 반영하여 가용 메모리 용량을 산출한다(S440). 이 때, 불량 메모리 블록 용량은 불량 메모리 블록의 개수 정보일 수도 있고, 불량 메 모리 블록의 개수 정보를 이용하여 계산된 값일 수도 있다. 가용 메모리 용량 역시 가용 메모리 블록의 블록의 개수 정보일 수도 있고, 불량 메모리 블록의 개수 정보를 이용하여 계산된 값일 수도 있다.
산출된 불량 메모리 블록 용량 및 가용 메모리 용량 역시 별도 저장, 관리되는 것이 바람직하다.
가용 메모리 용량이 갱신되면, CSD 레지스터의 메모리 용량 정보를 갱신한다(S460). 호스트 기기(100)로부터 CSD 레지스터 값을 전송하라는 명령(command)을 수신하면, 이에 응답하여 호스트 기기(100)로 CSD 레지스터 값을 전송한다(S460, S470).
가용 메모리 용량 정보는 가용 메모리 용량을 나타내는 데이터로서, 가용 메모리 용량 자체가 될 수도 있고, 가용 메모리 블록의 수가 될 수도 있으며, 다른 값이 될 수도 있다. 즉, 가용 메모리 용량 정보는 호스트 기기(100)가 이 정보를 이용하여 메모리 카드 장치의 가용 메모리 용량을 알 수 있게 혹은 산출할 수 있게 하는 데이터이면 족하다. 가용 메모리 용량 정보가 가용 메모리 블록의 개수이면, 개념적으로는, 호스트 기기(100)는 가용 메모리 블록의 개수에 메모리 블록 크기를 곱하여 가용 메모리 용량을 얻을 수 있을 것이다.
본 실시예에서는, 가용 메모리 용량 정보가 CSD 레지스터에 포함되어 호스트 기기(100)로 전송되지만, 불량 메모리 용량 정보가 CSD 레지스터에 포함되어 호스트 기기(100)로 전송될 수도 있다. 이 경우, 호스트 기기(100)가 수학식 1과 같은 소정의 산출 방식에 따라, 메모리 카드 장치의 가용 메모리 용량을 산출하게 된다.
스펙에 의하여, MMC 또는 SD 카드 장치는 CSD 레지스터를 통하여 메모리 카드의 용량 정보를 호스트 기기(100)로 전송하게 되어 있다. 그런데, 종래 기술에 따른 메모리 카드 장치는 불량 메모리 블록의 발생 여부 및 이에 따른 불량 메모리 블록의 용량에 대한 정보를 호스트 기기(100)로 제공하지 않는다.
반면, 본 발명의 메모리 카드 장치는, 상술한 바와 같이, 메모리 카드 장치의 전체 용량 정보가 아닌, 사용에 따라 발생되는 불량 메모리 용량을 반영한 메모리 용량 정보를 CSD 레지스터를 통하여 호스트 기기(100)로 전송한다. 불량 메모리 용량을 반영한 메모리 용량 정보는 CSD 레지스터의 C_SIZE 필드(메모리 카드 전체 용량을 나타내는 파라미터)에 저장될 수도 있고, C_SIZE 필드 외에 별도로 필드(예를 들어, 가용 메모리 용량 필드 혹은 불량 메모리 용량 필드)를 정의하고 별도로 정의된 필드에 저장될 수도 있다.
이와 같이, 불량 메모리 용량을 반영한 메모리 용량 정보를 호스트 기기로 제공함으로써, 호스트 기기(100)는 메모리 카드 장치의 실제 사용 가능한 용량을 알 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.
상술한 바와 같이, 본 발명에 의하면, 메모리 카드 장치에서 불량 메모리 블 록의 발생에 따라 불량 메모리 블록의 용량을 갱신하고, 이를 CSD 레지스터의 메모리 용량 정보에 지속적으로 반영함으로써, 호스트 기기로 하여금 메모리 카드에 대한 정확한 정보를 알 수 있도록 한다. 따라서, 호스트 기기 및 메모리 카드의 최종 사용자는 메모리 카드의 변경된 상태를 알고, 이에 적절히 대처할 수 있다.

Claims (22)

  1. 호스트 기기에 접속되어 동작하는 메모리 카드 장치에 있어서,
    비휘발성 메모리; 및
    상기 비휘발성 메모리를 제어하고, 상기 호스트 기기와 통신하는 컨트롤러를 포함하고,
    상기 컨트롤러는 상기 비휘발성 메모리의 불량 메모리 발생에 따라 가용 메모리 용량 정보를 갱신하여 상기 호스트 기기로 전송하는 것을 특징으로 하는 메모리 카드 장치.
  2. 제1항에 있어서,
    상기 비휘발성 메모리는 낸드형 플래시 메모리이고,
    상기 갱신된 가용 메모리 용량 정보는 상기 컨트롤러 내의 소정의 CSD 레지스터에 저장되는 것을 특징으로 하는 메모리 카드 장치.
  3. 제2항에 있어서,
    상기 갱신된 가용 메모리 용량 정보는 상기 CSD 레지스터의 필드들 중 메모리 전체 용량을 나타내는 필드에 저장되고,
    상기 컨트롤러는 상기 호스트 기기로부터 상기 CSD 레지스터 값 요청 명령에 응답하여 상기 CSD 레지스터 값을 상기 호스트 기기로 전송하는 것을 특징으로 하 는 메모리 카드 장치.
  4. 제3항에 있어서, 상기 가용 메모리 용량 정보는
    상기 낸드형 플래시 메모리의 총 용량에서 컨트롤러용 할당 메모리 용량과 불량 메모리 용량을 뺀 용량을 나타내는 정보인 것을 특징으로 하는 메모리 카드 장치.
  5. 제4항에 있어서, 상기 불량 메모리 용량은
    상기 메모리 카드의 출시 때부터 존재하는 초기 불량 메모리 용량과 사용에 의해 발생된 출시 후 불량 메모리 용량을 합한 용량인 것을 특징으로 하는 메모리 카드 장치.
  6. 제1항에 있어서, 상기 메모리 카드 장치는
    MMC(MultiMedia Card) 및 SD(Secure Digital) 카드 장치 중의 어느 하나인 것을 특징으로 하는 메모리 카드 장치.
  7. 메모리 카드 장치에 있어서,
    다수의 메모리 블록들을 포함하는 낸드형 플래시 메모리; 및
    호스트 기기의 요청에 응답하여 상기 낸드형 플래시 메모리의 용량 정보를 상기 호스트 기기로 전송하는 컨트롤러를 포함하고,
    상기 컨트롤러는 상기 낸드형 플래시 메모리에서의 불량 메모리 블록의 발생에 따라 불량 메모리 용량 정보를 갱신하고, 상기 갱신된 불량 메모리 용량 정보를 상기 낸드형 플래시 메모리의 용량 정보에 반영하는 것을 특징으로 하는 메모리 카드 장치.
  8. 제7항에 있어서,
    상기 낸드형 플래시 메모리의 용량 정보는 상기 낸드형 플래시 메모리의 총 용량에서 불가용 용량을 뺀 가용 메모리 용량을 나타내는 데이터이고,
    상기 불가용 용량은 컨트롤러용 할당 메모리 용량과 상기 불량 메모리 용량을 더한 값인 것을 특징으로 하는 메모리 카드 장치.
  9. 제8항에 있어서, 상기 컨트롤러는
    상기 낸드형 플래시 메모리의 용량 정보를 저장하는 CSD 레지스터; 및
    상기 불량 메모리 블록의 위치 및 개수를 관리하고, 상기 불량 메모리 용량정보 및 상기 가용 메모리 용량 정보를 산출하는 프로세서를 포함하는 것을 특징으로 하는 메모리 카드 장치.
  10. 제9항에 있어서,
    상기 컨트롤러는 상기 호스트 기기의 CSD 레지스터 값 요청 명령에 응답하여 상기 CSD 레지스터 값을 상기 호스트 기기로 전송하고,
    상기 호스트 기기는 상기 CSD 레지스터 값 중 상기 낸드형 플래시 메모리의 용량 정보를 이용하여 상기 낸드형 플래시 메모리의 용량을 산출하는 것을 특징으로 하는 메모리 카드 장치.
  11. 제9항에 있어서, 상기 컨트롤러는
    상기 불량 메모리 블록의 위치 및 개수에 관한 정보와 상기 불량 메모리 용량 정보를 저장하기 위한 내부 메모리를 더 포함하는 것을 특징으로 하는 메모리 카드 장치.
  12. 제11항에 있어서, 상기 내부 메모리는
    노아형(NOR type) 플래시 메모리인 것을 특징으로 하는 메모리 카드 장치.
  13. 비휘발성 메모리 카드 장치에서 메모리 용량 정보를 산출하는 방법에 있어서,
    상기 비휘발성 메모리에서의 불량 메모리 블록의 발생에 따라 불량 메모리 용량 정보를 갱신하는 단계;
    상기 불량 메모리 용량 정보를 반영하여 상기 비휘발성 메모리의 용량 정보를 산출하는 단계; 및
    상기 비휘발성 메모리의 용량 정보를 호스트 기기로 제공하는 단계를 포함하는 메모리 카드 장치에서의 메모리 용량 산출 방법.
  14. 제13항에 있어서,
    상기 비휘발성 메모리는 낸드형 플래시 메모리이고,
    상기 비휘발성 메모리의 용량 정보를 산출하는 단계는
    상기 낸드형 플래시 메모리의 총 용량 정보, 컨트롤러용 할당 메모리 용량 정보 및 상기 불량 메모리 용량 정보를 이용하여 가용 메모리 용량을 산출하는 단계를 포함하는 것을 특징으로 하는 메모리 카드 장치에서의 메모리 용량 산출 방법.
  15. 제14항에 있어서, 상기 비휘발성 메모리의 용량 정보를 호스트 기기로 제공하는 단계는
    상기 가용 메모리 용량을 이용하여 CSD 레지스터 값을 갱신하는 단계; 및
    상기 호스트 기기의 요청에 응답하여 상기 CSD 레지스터 값을 상기 호스트 기기로 전송하는 단계를 포함하는 것을 특징으로 하는 메모리 카드 장치에서의 메모리 용량 산출 방법.
  16. 제14항에 있어서, 상기 불량 메모리 용량 정보를 갱신하는 단계는
    상기 불량 메모리 블록의 발생 여부를 체크하는 단계;
    상기 체크 결과, 상기 불량 메모리 블록이 발생되면 해당 메모리 블록이 불량임을 표시하는 단계;
    상기 불량 메모리 블록의 위치 및 불량 메모리 블록의 개수 정보를 저장하는 단계; 및
    상기 불량 메모리 블록의 개수 정보를 이용하여 상기 불량 메모리 용량 정보를 산출하는 단계를 포함하는 것을 특징으로 하는 메모리 카드 장치에서의 메모리 용량 산출 방법.
  17. 낸드형 플래시 메모리 및 컨트롤러를 포함하는 메모리 카드 장치에서 메모리 용량 정보를 산출하는 방법에 있어서,
    상기 낸드형 플래시 메모리에서의 불량 메모리 블록의 발생에 따라 불량 메모리 용량 정보를 갱신하는 단계;
    상기 갱신된 불량 메모리 용량 정보를 이용하여 상기 낸드형 플래시 메모리의 용량 정보를 산출하는 단계;
    상기 낸드형 플래시 메모리의 용량 정보를 이용하여 CSD 레지스터 값을 갱신하는 단계; 및
    상기 갱신된 CSD 레지스터 값을 호스트 기기로 전송하는 단계를 포함하는 메모리 카드 장치에서의 메모리 용량 산출 방법.
  18. 제17항에 있어서,
    상기 낸드형 플래시 메모리의 용량 정보는 상기 낸드형 플래시 메모리의 총 용량에서 불가용 용량을 뺀 가용 메모리 용량을 나타내는 데이터이고,
    상기 불가용 용량은 컨트롤러용 할당 메모리 용량과 상기 불량 메모리 용량을 더한 값인 것을 특징으로 하는 메모리 카드 장치에서의 메모리 용량 산출 방법.
  19. 제18항에 있어서, 상기 불량 메모리 용량은
    상기 메모리 카드 장치의 출시 때부터 존재하는 초기 불량 메모리 용량과 사용에 의해 발생된 출시 후 불량 메모리 용량을 합한 용량인 것을 특징으로 하는 하는 메모리 카드 장치에서의 메모리 용량 산출 방법.
  20. 호스트 기기; 및
    상기 호스트 기기에 접속되어 동작하는 메모리 카드 장치를 포함하며,
    상기 메모리 카드 장치는
    다수의 메모리 블록들을 포함하는 비휘발성 메모리; 및
    상기 비휘발성 메모리에서의 불량 메모리 블록의 발생에 따라 상기 비휘발성 메모리의 용량 정보를 갱신하고, 상기 호스트 기기의 요청에 응답하여 상기 갱신된 용량 정보를 전송하는 컨트롤러를 포함하는 것을 특징으로 하는 메모리 카드 장치가 접속된 호스트 기기.
  21. 제 20항에 있어서,
    상기 메모리 카드 장치는 MMC(MultiMedia Card) 및 SD(Secure Digital) 카드 장치 중의 어느 하나이고,
    상기 비휘발성 메모리는 낸드형 플래시 메모리인 것을 특징으로 하는 메모리 카드 장치가 접속된 호스트 기기.
  22. 제 20항에 있어서,
    상기 갱신된 용량 정보는 상기 비휘발성 메모리의 총 용량에서 컨트롤러용 할당 메모리 용량과 불량 메모리 용량을 뺀 용량을 나타내는 정보이고, 상기 컨트롤러 내의 CSD 레지스터에 저장되는 것을 특징으로 하는 메모리 카드 장치가 접속된 호스트 기기.
KR1020050062000A 2005-07-11 2005-07-11 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법 KR100746289B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050062000A KR100746289B1 (ko) 2005-07-11 2005-07-11 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
US11/378,206 US8458531B2 (en) 2005-07-11 2006-03-20 Non-volatile memory card apparatus and method for updating memory capacity information
TW095116173A TWI302313B (en) 2005-07-11 2006-05-08 Non-volatile memory card apparatus and method for updating memory capacity information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050062000A KR100746289B1 (ko) 2005-07-11 2005-07-11 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법

Publications (2)

Publication Number Publication Date
KR20070007410A true KR20070007410A (ko) 2007-01-16
KR100746289B1 KR100746289B1 (ko) 2007-08-03

Family

ID=37619545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050062000A KR100746289B1 (ko) 2005-07-11 2005-07-11 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법

Country Status (3)

Country Link
US (1) US8458531B2 (ko)
KR (1) KR100746289B1 (ko)
TW (1) TWI302313B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190060314A (ko) * 2017-11-24 2019-06-03 광주과학기술원 비 휘발성 메모리

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US20100017557A1 (en) * 2006-07-26 2010-01-21 Panasonic Corporation Memory controller, nonvolatile memory device,access device, and nonvolatile memory system
US8166231B2 (en) 2006-08-08 2012-04-24 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
TW200919448A (en) * 2007-10-17 2009-05-01 Silicon Motion Inc Storage device and method of accessing a status thereof
KR100923832B1 (ko) * 2007-12-28 2009-10-27 주식회사 하이닉스반도체 불휘발성 메모리 장치의 불량 여부 테스트 방법, 블록 관리방법, 소거 방법 및 프로그램 방법
KR101547134B1 (ko) * 2009-01-30 2015-08-25 삼성전자주식회사 메모리 관리 장치 및 방법
EP2221822A1 (fr) * 2009-02-23 2010-08-25 Gemalto SA Procédé de sélection d'une taille de mémoire disponible d'un circuit comprenant au moins un processeur et une mémoire, programme et carte à puces correspondants
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US8479054B2 (en) * 2010-04-21 2013-07-02 Nintendo Of America Inc. SD card memory tool
WO2013168337A1 (ja) * 2012-05-08 2013-11-14 パナソニック株式会社 デバイス装置、アクセスシステム、及び、通信確立方法
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
JP2014188993A (ja) * 2013-03-28 2014-10-06 Mitsubishi Aircraft Corp ハニカムコアサンドイッチパネルの修理方法、および修理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3175974B2 (ja) 1992-05-08 2001-06-11 株式会社東芝 メモリカード装置
JP3125526B2 (ja) * 1993-08-06 2001-01-22 ブラザー工業株式会社 記憶装置
JPH08190510A (ja) 1995-01-12 1996-07-23 Hitachi Ltd 不良部分を含む半導体メモリを搭載可能な情報処理装置
JPH0954726A (ja) 1995-08-18 1997-02-25 Mitsubishi Electric Corp 記憶装置
TW539950B (en) 2000-12-28 2003-07-01 Sony Corp Data recording device and data write method for flash memory
JP2003216507A (ja) 2002-01-22 2003-07-31 Sharp Corp 記憶容量処理システム
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
KR100560645B1 (ko) * 2002-12-17 2006-03-16 삼성전자주식회사 메모리 사용 정보를 표시하는 유에스비 플래시 메모리 장치
FI117489B (fi) 2003-02-07 2006-10-31 Nokia Corp Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti
JP2004280752A (ja) 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
JP2005050097A (ja) 2003-07-28 2005-02-24 Sony Corp 情報処理装置、情報処理方法、プログラム、記録媒体
US7814377B2 (en) * 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
US7509526B2 (en) * 2004-09-24 2009-03-24 Seiko Epson Corporation Method of correcting NAND memory blocks and to a printing device employing the method
US7747834B2 (en) * 2004-09-30 2010-06-29 Kyocera Wireless Corp. Memory manager for an embedded system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190060314A (ko) * 2017-11-24 2019-06-03 광주과학기술원 비 휘발성 메모리

Also Published As

Publication number Publication date
TW200703350A (en) 2007-01-16
US20070011395A1 (en) 2007-01-11
US8458531B2 (en) 2013-06-04
TWI302313B (en) 2008-10-21
KR100746289B1 (ko) 2007-08-03

Similar Documents

Publication Publication Date Title
KR100746289B1 (ko) 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
US7979636B2 (en) Method of controlling semiconductor memory card system
CN101369247B (zh) 创建存储器缺陷映射表并使用该映射表优化性能的方法
CN102763090B (zh) 用于利用nand存储器件同时读写的系统和方法
EP1938200B1 (en) Initialization of flash storage via an embedded controller
US8086841B2 (en) BIOS switching system and a method thereof
CN100465920C (zh) 多节点计算机中存储器分配的方法和装置
JP2003132305A (ja) メモリカードを制御するための装置および方法
KR100742849B1 (ko) 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치
CN107533442A (zh) 用于对异构系统存储器中的存储器功率消耗进行优化的系统和方法
KR20060050585A (ko) 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템
US20070011416A1 (en) Data storage device and medium and related method of storing backup data
JP2000222292A (ja) フラッシュメモリを利用したデータ管理方法
CN110647359A (zh) 半导体装置、其操作方法和具有其的层叠存储装置
JP2013016148A (ja) メモリコントローラ、不揮発性記憶装置
US6498965B2 (en) System for controlling vending machine
CN106407130A8 (zh) 一种Nandflash内存数据管理的方法
US20200371971A1 (en) Data processing system including memory systems coupled through internal channel
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
US7979606B2 (en) Method for storing data
JP2021515308A (ja) デバイスをデバッグするときにメタデータにアクセスするための装置及び方法
JP4127307B2 (ja) データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置
CN103514953B (zh) 对存储在闪存中的数据有地址ram的模拟电可擦存储器
CN102279933B (zh) 通信设备和通信方法
JPH1027097A (ja) フラッシュromのデータ書換え方法および装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170630

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180629

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190628

Year of fee payment: 13