KR20080076331A - 데이터 저장장치 및 그의 작동 방법 - Google Patents

데이터 저장장치 및 그의 작동 방법 Download PDF

Info

Publication number
KR20080076331A
KR20080076331A KR1020070016120A KR20070016120A KR20080076331A KR 20080076331 A KR20080076331 A KR 20080076331A KR 1020070016120 A KR1020070016120 A KR 1020070016120A KR 20070016120 A KR20070016120 A KR 20070016120A KR 20080076331 A KR20080076331 A KR 20080076331A
Authority
KR
South Korea
Prior art keywords
firmware
data storage
capacity
storage device
memory
Prior art date
Application number
KR1020070016120A
Other languages
English (en)
Other versions
KR100874916B1 (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 KR1020070016120A priority Critical patent/KR100874916B1/ko
Priority to US12/031,016 priority patent/US8041916B2/en
Publication of KR20080076331A publication Critical patent/KR20080076331A/ko
Application granted granted Critical
Publication of KR100874916B1 publication Critical patent/KR100874916B1/ko

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 데이터 저장장치 및 그의 작동 방법에 관한 것이다. 종래의 데이터 저장장치는 불량 블록의 개수가 최대 허용수보다 많으면 전체 데이터 저장장치를 정상적으로 사용하지 못하는 단점이 있었다. 본 발명의 데이터 저장장치는 불량 블록의 개수가 최대 허용수보다 많으면 데이터 저장장치의 용량을 정상 용량보다 적게 인식하도록 하는 별도의 펌웨어를 구비하거나 별도의 루틴을 펌웨어 내에 포함시킴으로써 불량 블록이 많더라도 정상 용량보다 더 적은 용량으로나마 정상적인 사용이 가능하게 하여 경제적으로 유리한 장점이 있다.
데이터 저장장치, 펌웨어, 불량 블록, 메모리 카드

Description

데이터 저장장치 및 그의 작동 방법 {Data storage device and method of operating the same}
도 1은 종래기술에 따른 데이터 저장장치를 나타낸 개념도이다.
도 2a 내지 도 3b는 각각 본 발명의 일 구현예에 따른 데이터 저장장치를 나타낸 개념도이다.
도 4 내지 도 7은 각각 본 발명의 일 구현예에 따른 데이터 저장장치의 작동 방법을 나타낸 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
100, 200, 300, 400: 데이터 저장장치
112, 212, 312, 412: 메모리 제어부
114, 214, 314, 414: 메모리 영역
122a, 222a: 정상 용량용 펌웨어 122b, 222b: 비정상 용량용 펌웨어
322, 422: 펌웨어 212', 412': 제어 프로그램
322a, 422a: 제 1 루틴 322b, 422b: 제 2 루틴
124, 324: 사용자 영역
본 발명은 데이터 저장장치 및 그의 작동 방법에 관한 것으로서, 더욱 구체적으로는, 불량 블록이 최대 상한선보다 많아지더라도 정상 용량의 일부에 대하여 정상적인 사용이 가능한 데이터 저장장치 및 그의 작동 방법에 관한 것이다.
전자 산업의 눈부신 발전으로 저장장치의 저장 용량은 급속히 증가하고 있으며, 최근에는 거의 모든 전자 제품에 데이터 저장장치가 내장되고 있을 뿐만 아니라, 고용량의 데이터를 손쉽게 보관 및 휴대할 수 있는 이동식 데이터 저장장치가 널리 사용되고 있다.
이러한 데이터 저장장치(10)는 일반적으로 메모리 제어부(12)와 메모리 영역(14)으로 이루어진다(도 1 참조). 메모리 제어부(12)는 메모리 영역(14)에 기록되어 있는 펌웨어(22)를 구동함으로써 사용자 영역(24)에 데이터를 기록하거나 삭제한다. 도 1에서는 펌웨어(22)가 메모리 영역(14)에 기록되어 있는 것으로 도시되었지만 펌웨어(22)는 메모리 제어부(12)에 기록되어 있을 수도 있다.
메모리 영역(14)은 메모리 블록(도시되지 않음)으로 이루어져 있는데, 메모리 블록 중에는 불량 블록이 발생하게 된다. 불량 블록은 생산 공정에서 발생할 수도 있고, 데이터 저장장치(10)의 사용 도중에 발생할 수도 있다.
플래시 메모리와 같은 데이터 저장장치에는 최대로 허용되는 불량 블록의 상한이 정해져 있는데, 펌웨어가 발견한 불량 블록의 수가 이 상한을 넘으면 전체 데이터 저장장치가 불량으로 취급된다. 제품이 출하되기 이전에 불량으로 분류된 데이터 저장장치는 폐기되고, 소비자의 사용 과정에서 불량 블록이 증가하여 불량으 로 인식되는 데이터 저장장치는 읽기 전용(read only)으로 동작하거나 비정상 동작을 하게 된다.
따라서, 불량 블록의 수가 미리 정해진 상한을 넘게 되는 경우에, 나머지 양호한 블록을 이용할 수 있는 방안이 있다면 경제적인 측면에서 유리할 것이다.
본 발명이 이루고자 하는 첫 번째 기술적 과제는 불량 블록이 최대 상한선보다 많아지더라도 데이터 저장장치의 전부를 못쓰게 되는 것이 아니라 정상 용량의 일부에 대하여 정상적인 사용이 가능한 데이터 저장장치를 제공하는 것이다.
본 발명이 이루고자 하는 두 번째 기술적 과제는 불량 블록이 최대 상한선보다 많아지더라도 데이터 저장장치의 전부를 못쓰게 되는 것이 아니라 정상 용량의 일부에 대하여 정상적인 사용이 가능한 데이터 저장장치의 작동 방법을 제공하는 것이다.
본 발명이 이루고자 하는 세 번째 기술적 과제는 상기 데이터 저장장치를 포함하는 전자 장치를 제공하는 것이다.
본 발명은 상기 첫 번째 기술적 과제를 이루기 위하여 메모리 제어부; 상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있는 정상 용량용 펌웨어(firmware); 상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있는 비정상 용량용 펌웨어; 및 데이터를 저장할 수 있는 데이터 영역을 가지는 메모리 영역을 포함하는 데이터 저장장치를 제공한다.
선택적으로, 상기 정상 용량용 펌웨어와 상기 비정상 용량용 펌웨어는 각각 독립적으로 상기 메모리 영역에 기록되어 있을 수 있다.
선택적으로, 상기 정상 용량용 펌웨어와 상기 비정상 용량용 펌웨어는 각각 독립적으로 상기 메모리 제어부에 기록되어 있을 수 있다.
특히, 상기 비정상 용량은 상기 정상 용량의 절반일 수 있다.
본 발명은 상기 첫 번째 기술적 과제를 이루기 위한 다른 구현예로서 메모리 제어부; 상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있으며, 정상 용량의 메모리 용량에 대해 작동할 수 있는 제 1 루틴과 비정상 용량의 메모리 용량에 대해 작동할 수 있는 제 2 루틴을 포함하는 펌웨어; 및 데이터를 저장할 수 있는 데이터 영역을 가지는 사용자 영역을 포함하는 데이터 저장장치를 제공한다.
선택적으로, 상기 펌웨어는 상기 메모리 제어부에 기록되어 있을 수 있다. 선택적으로, 상기 펌웨어는 상기 메모리 영역에 기록되어 있을 수 있다.
특히, 상기 비정상 용량은 상기 정상 용량의 절반일 수 있다.
본 발명은 상기 두 번째 기술적 과제를 이루기 위하여, 메모리 제어부에 의해 정상 용량용 펌웨어를 구동하여 불량 블록을 점검하는 단계; 및 불량 블록의 개수가 허용치보다 많으면 비정상 용량용 펌웨어를 구동하는 단계를 포함하는 데이터 저장장치의 작동 방법을 제공한다.
이 때, 불량 블록의 개수가 허용치보다 많으면 비정상 용량용 펌웨어를 구동하는 단계가 유효한 저장 데이터가 존재하는지 점검하는 단계; 및 유효한 저장 데이터가 존재하면 읽기 모드로 동작하는 단계를 더 포함할 수 있다.
또한, 상기 방법은 사용자 영역을 포맷하는 단계를 더 포함할 수 있다.
본 발명은 상기 두 번째 기술적 과제를 이루기 위한 구현예로서, 메모리 제어부의 제어에 따라 동작을 수행하며, 정상 용량의 메모리 용량에 대해 작동할 수 있는 제 1 루틴과 비정상 용량의 메모리 용량에 대해 작동할 수 있는 제 2 루틴을 포함하는 펌웨어를 포함하는 데이터 저장장치에 있어서, 메모리 제어부에 의해 상기 펌웨어의 제 1 루틴을 구동하여 불량 블록을 점검하는 단계; 및 불량 블록의 개수가 허용치보다 많으면 상기 펌웨어의 제 2 루틴을 구동하는 단계를 포함하는 데이터 저장장치의 작동 방법을 제공한다.
이 때, 불량 블록의 개수가 허용치보다 상기 펌웨어의 제 2 루틴을 구동하는 단계가 유효한 저장 데이터가 존재하는지 점검하는 단계; 및 유효한 저장 데이터가 존재하면 읽기 모드로 동작하는 단계를 더 포함할 수 있다.
또한, 상기 작동 방법은 사용자 영역을 포맷하는 단계를 더 포함할 수 있다.
본 발명은 상기 세 번째 기술적 과제를 이루기 위하여, 상기 데이터 저장장치를 포함하는 전자 장치를 제공한다.
상기 본 발명의 데이터 저장장치 및 그의 사용방법을 이용하면, 불량 블록이 최대 상한선보다 많아지더라도 데이터 저장장치의 전부를 못쓰게 되는 것이 아니라 상기 데이터 저장장치의 정상 용량의 일부에 대하여 정상적인 사용이 가능하여 경제적이다. 또한, 전자 제품에 내장된 본 발명의 데이터 저장장치에 불량 블록이 최대 상한선보다 많아지더라도 상기 데이터 저장장치의 정상 용량의 일부를 이용하여 정상적으로 사용하는 것이 가능하므로 경제적이다.
이하, 구체적인 실시예 및 비교예를 가지고 본 발명의 구성 및 효과를 보다 상세히 설명하지만, 이들 실시예는 단지 본 발명을 보다 명확하게 이해시키기 위한 것일 뿐 본 발명의 범위를 한정하고자 하는 것은 아니다.
본 발명의 제 1 구현예는 메모리 제어부; 상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있는 정상 용량용 펌웨어(firmware); 상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있는 비정상 용량용 펌웨어; 및 데이터를 저장할 수 있는 데이터 영역을 가지는 메모리 영역을 포함하는 데이터 저장장치를 제공한다.
상기 데이터 저장장치는 MMC (Multi-Media Card), SD (Secure Digital) 카드, MS (Memory Stick), xD 카드, CFC (Compact Flash Card), UFD (Universal Flash ) 등과 같은 이동식 저장장치일 수도 있고, MP3 플레이어, 디지털 카메라, 노트북 컴퓨터, PMP (Portable Media Player), 휴대 전화 등의 전자 장치에 내장된 데이터 저장장치일 수도 있다.
도 2a는 본 발명의 제 1 구현예에 따른 데이터 저장장치를 개념적으로 나타낸다. 도 2a를 참조하면, 데이터 저장장치(100)는 메모리 제어부(112)와 메모리 영역(114)을 포함한다. 또한, 상기 메모리 영역(114)은 정상 용량용 펌웨어(122a), 비정상 용량용 펌웨어(122b) 및 사용자 영역(124)을 포함한다.
상기 메모리 제어부(112)는 메모리 영역(114)에 기록되어 있는 펌웨어(122a, 122b)를 구동함으로써 사용자 영역(124)에 데이터를 기록하거나 삭제한다. 상기 메모리 영역(114)은 물리적인 메모리 소자가 구비된 영역일 수 있고, 상기 메모리 제어부(112)는 상기 메모리 영역(114)과 별도로 상기 데이터 저장장치 내에 구비될 수 있다.
상기 정상 용량용 펌웨어(122a)는 상기 메모리 영역(114) 내에 기록되어 있을 수 있다. 마찬가지로, 상기 비정상 용량용 펌웨어(122b)는 상기 메모리 영역(114) 내에 기록되어 있을 수 있다. 상기 본 발명의 제 1 구현예에 따른 데이터 저장장치(100)는 최초 구동시 메모리 제어부(112)에 의해 정상 용량용 펌웨어(122a)가 구동되고, 불량 블록의 수가 최대 허용치를 넘지 않으면 정상 용량용 펌웨어(122a)의 기능이 유지되어 정상 용량용 펌웨어(122a)에 의해 데이터의 기록, 독출 및 삭제가 이루어진다.
만일, 상기 데이터 저장장치(100)의 최초 구동시 정상 용량용 펌웨어(122a)가 구동되었지만 불량 블록의 수가 최대 허용치보다 많으면, 정상 용량용 펌웨어(122a) 대신 비정상 용량용 펌웨어(122b)가 구동된다. 상기 비정상 용량용 펌웨어(122b)의 구동은 상기 메모리 제어부(112)에 의해 이루어질 수도 있고 상기 정상 용량용 펌웨어(122a)에 의해 이루어질 수도 있다.
또한, 상기 비정상 용량용 펌웨어(122b)는 상기 메모리 영역(114)의 용량을 원래의 메모리 영역(114)의 정상 용량보다 적은 용량으로 인식하고 기능하는 펌웨어이다. 선택적으로, 상기 비정상 용량용 펌웨어(122b)는 상기 메모리 영역(114)의 용량을 원래의 메모리 영역(114)의 정상 용량의 절반으로 인식하도록 설계된 펌웨어일 수 있다.
도 2a에는 상기 펌웨어(122a, 122b)가 모두 메모리 영역(114)에 기록되어 있는 구현예만을 나타내었지만 본 발명은 여기에 한정되지 않는다. 상기 정상 용량용 펌웨어(122a)가 메모리 제어부(112)에 기록되어 있고, 상기 비정상 용량용 펌웨어(122b)가 상기 메모리 영역(114)에 기록되어 있을 수 있다. 반대로, 상기 정상 용량용 펌웨어(122a)가 메모리 영역(114)에 기록되어 있고, 상기 비정상 용량용 펌웨어(122b)가 상기 메모리 제어부(112)에 기록되어 있을 수 있다.
또한, 본 발명의 다른 일 구현예에 따른 데이터 저장장치(200)를 도시한 도 2b에 나타낸 바와 같이 상기 펌웨어(222a, 222b)는 모두 메모리 제어부(212)에 기록되어 있을 수 있다. 이 경우에는 제어 프로그램(212')이 상기 펌웨어(222a, 222b)와 함께 상기 메모리 제어부(212)에 기록되어 있을 수 있다. 따라서, 이러한 경우에는 메모리 영역(214) 전체가 사용자 영역의 역할을 할 수도 있다.
도 2a 및 도 2b에 있어서, 정상 동작용 펌웨어(122a, 222a)와 다른 구성 요소 사이에 실선으로 연결된 것은 현재 도시한 구현예에서는 정상 동작용 펌웨어(122a, 222a)가 동작중인 것을 나타낸다. 또한, 도 2a 및 도 2b에 있어서, 비정상 동작용 펌웨어(122b, 222b)와 다른 구성 요소 사이에 점선으로 연결된 것은 불량 블록의 개수가 최대 상한수를 초과하였을 경우에 동작할 수 있음을 나타낸 것이다. 이러한 표시 방법은 이하 다른 도면에서도 마찬가지로 적용될 수 있다.
본 발명의 제 2 구현예는 메모리 제어부; 상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있으며, 정상 용량의 메모리 용량에 대해 작동할 수 있는 제 1 루틴과 비정상 용량의 메모리 용량에 대해 작동할 수 있는 제 2 루틴을 포함하는 펌웨어; 및 데이터를 저장할 수 있는 데이터 영역을 가지는 사용자 영역을 포함하는 데이터 저장장치를 제공한다.
도 3a는 본 발명의 제 2 구현예에 따른 데이터 저장장치(300)를 개념적으로 나타낸다. 도 3a를 참조하면, 데이터 저장장치(300)는 메모리 제어부(312)와 메모리 영역(314)을 포함한다. 또한, 상기 메모리 영역(314)은 펌웨어(322) 및 사용자 영역(324)을 포함한다. 상기 펌웨어(322)는 하나의 단일 프로그램으로서 정상 용량의 메모리 영역의 용량에 대해 작동할 수 있는 제 1 루틴(322a)과 비정상 용량의 메모리 영역의 용량에 대해 작동할 수 있는 제 2 루틴(322b)을 포함할 수 있다.
앞선 본 발명의 제 1 구현예에서와 마찬가지로, 상기 메모리 제어부(312)는 메모리 영역(314)에 기록되어 있는 펌웨어(322)를 구동함으로써 사용자 영역(324)에 데이터를 기록하거나 삭제한다. 상기 메모리 영역(314)은 물리적인 메모리 소자가 구비된 영역일 수 있고, 상기 메모리 제어부(312)는 상기 메모리 영역(314)과 별도로 상기 데이터 저장장치(300) 내에 구비될 수 있다.
상기 펌웨어(322)는 상기 메모리 영역(314) 내에 기록되어 있을 수 있다. 상기 본 발명의 제 2 구현예에 따른 데이터 저장장치(300)는 최초 구동시 메모리 제어부(312)에 의해 펌웨어(312)가 구동되는데, 특히 정상 용량의 메모리 영역의 용량에 대해 작동할 수 있는 제 1 루틴(322a)이 구동된다. 먼저, 상기 메모리 영역(314)에 걸쳐 불량 블록을 점검한 결과 불량 블록의 수가 최대 허용치를 넘지 않으면 제 1 루틴(322a)의 기능이 유지되어 상기 제 1 루틴(322a)에 의해 사용자 영역(324)에 대한 데이터의 기록, 독출 및 삭제가 이루어진다.
만일, 상기 데이터 저장장치(300)의 최초 구동시 구동된 펌웨어(322)에서 제 1 루틴(322a)이 구동되었지만 불량 블록의 수가 최대 허용치보다 많으면, 상기 펌 웨어(322) 내에서 상기 제 1 루틴(322a) 대신 비정상 용량의 메모리 영역의 용량에 대해 작동할 수 있는 제 2 루틴(322b)이 구동된다. 상기 제 2 루틴(322b)의 구동은 상기 펌웨어(322) 내부적으로 이루어질 수 있다. 또한, 상기 펌웨어(322)의 일부분인 제 2 루틴(322b)은 상기 메모리 영역(314)의 용량을 원래의 메모리 영역(314)의 정상 용량의 절반으로 인식하도록 설계되었을 수 있다.
도 3a는 상기 펌웨어(322)가 메모리 영역(324)에 기록되어 있는 구현예를 나타내었지만 본 발명은 여기에 한정되지 않는다. 본 발명의 다른 일 구현예에 따른 데이터 저장장치(400)를 도시한 도 3b에 나타낸 바와 같이 상기 펌웨어(322)는 메모리 제어부(412)에 기록되어 있을 수 있다. 이 경우에는 제어 프로그램(412')이 상기 펌웨어(412)와 함께 상기 메모리 제어부(412)에 기록되어 있을 수 있다. 따라서, 이러한 경우에는 메모리 영역(414) 전체가 사용자 영역의 역할을 할 수 있다.
이상에서 도 2a 내지 도 3b를 참조하여 설명한 본 발명의 일 구현예에 따른 데이터 저장장치(100, 200, 300, 400)는 도면에는 구체적으로 표시되지 않았지만 외부 기기와의 접속을 위한 인터페이스부를 비롯하여 추가적인 구성부를 더 포함할 수 있다.
본 발명의 제 3 태양은 메모리 제어부에 의해 정상 용량용 펌웨어를 구동하여 불량 블록을 점검하는 단계; 및 불량 블록의 개수가 허용치보다 많으면 비정상 용량용 펌웨어를 구동하는 단계를 포함하는 데이터 저장장치의 작동 방법을 제공한다.
상기 본 발명의 제 3 태양에 따른 사용방법을 순서도로 도시한 도 4를 참조 하면, 먼저 메모리 제어부에 의해서 정상 용량용 펌웨어가 구동되고, 상기 정상용량용 펌웨어는 불량 블록이 존재하는지, 존재한다면 그 수는 얼마인지 점검하게 된다(S110).
불량 블록의 점검을 마치면, 그 데이터 저장장치에서 최대로 허용되는 불량 블록의 수보다 많은지의 여부를 결정한다(S120). 만일, 상기 점검을 통해 검색된 불량 블록의 수가 상기 최대 허용치보다 적으면 상기 데이터 저장장치는 정상동작을 수행한다.
대신, 상기 점검을 통해 검색된 불량 블록의 수가 상기 최대 허용치보다 많으면 상기 데이터 저장장치는 비정상 용량용 펌웨어를 구동한다(S130). 비정상 용량용 펌웨어를 구동하면, 상기 비정상 용량용 펌웨어는 상기 데이터 저장장치를 정상인 데이터 저장장치의 용량보다 작은 용량의 데이터 저장장치로 인식하고 기록, 독출 및 삭제의 정상 동작을 수행하게 된다. 앞서 설명한 바와 같이 이러한 경우 상기 비정상 용량용 펌웨어는 상기 데이터 저장장치를 정상인 데이터 저장장치의 용량의 절반으로 인식할 수 있다. 이러한 경우, 상기 데이터 저장장치의 모든 용량을 정상적으로 사용할 수는 없지만 정상 용량의 절반 용량으로서는 사용하는 것이 가능하다(S140).
그런데, 만일 상기 데이터 저장장치의 일부 사용자 영역에 사용자의 데이터가 저장되어 있는 경우, 상기와 같이 비정상 용량용 펌웨어를 일방적으로 구동한다면 상기 데이터가 손상되거나 의도와는 달리 삭제될 수 있다. 따라서, 최소한 사용자 데이터를 백업할 수 있는 기회를 사용자에게 부여하기 위해, 선택적으로, 상기 불량 블록의 개수가 허용치보다 많으면 비정상 용량용 펌웨어를 구동하는 단계는 유효한 저장 데이터가 존재하는지 점검하는 단계; 및 유효한 저장 데이터가 존재하면 읽기 모드로 동작하는 단계를 더 포함할 수 있다.
도 5는 이러한 점을 반영한 본 발명의 다른 구현예를 나타내는 순서도이다. 단계(S210, S220)는 도 4에 관한 구현예의 단계(S110, S120)에 관한 설명과 동일하므로 여기서는 생략한다. 불량 블록의 수가 허용치보다 많으면 먼저 사용자의 유효한 저장 데이터가 존재하는지 점검한다(S230). 상기 점검을 마치고 사용자의 유효한 저장 데이터가 존재하는지의 여부를 판단한다(S240). 만일, 사용자의 유효한 저장 데이터가 존재한다면 읽기 모드로 동작한다(S250). 읽기 모드로 동작하는 동안에 사용자는 자신의 유효한 저장 데이터를 상기 데이터 저장장치로부터 읽어 다른 기억장치에 기억시킬 수 있다. 한편, 사용자의 유효한 저장 데이터가 존재하지 않는다면 비정상 용량용 펌웨어를 구동할 수 있다(S270).
상기 본 발명의 일 구현예에 따른 데이터 저장장치의 작동 방법은 상기 데이터 저장장치의 사용자 영역을 포맷하는 단계를 더 포함할 수 있다(S260). 선택적으로, 상기 포맷하는 단계는 비정상 용량용 펌웨어를 구동하는 단계 직전에 수행됨으로써, 포맷 후에 비정상 용량용 펌웨어가 바로 구동될 수 있다.
선택적으로, 포맷을 하지 않으면 사용자의 유효 데이터를 보호하기 위해 계속 읽기 모드로 동작하도록 구성될 수 있다. 그렇지 않고 사용자가 상기 포맷을 하면 사용자가 유효 데이터의 보호를 중단하기를 원하는 것이므로 포맷한 후 앞서 설명한 바와 같이 비정상 용량용 펌웨어를 구동할 수 있다(S270).
이상과 같이 비정상 용량용 펌웨어를 구동한 후 상기 데이터 저장장치를 정상 동작시킬 수 있다(S280).
본 발명의 제 4 태양은 메모리 제어부의 제어에 따라 동작을 수행하며, 정상 용량의 메모리 용량에 대해 작동할 수 있는 제 1 루틴과 비정상 용량의 메모리 용량에 대해 작동할 수 있는 제 2 루틴을 포함하는 펌웨어를 포함하는 데이터 저장장치에 있어서, 메모리 제어부에 의해 상기 펌웨어의 제 1 루틴을 구동하여 불량 블록을 점검하는 단계; 및 불량 블록의 개수가 허용치보다 많으면 상기 펌웨어의 제 2 루틴을 구동하는 단계를 포함하는 데이터 저장장치의 작동 방법을 제공한다.
상기 본 발명의 제 4 태양에 따른 사용방법을 순서도로 도시한 도 6을 참조하면, 먼저 메모리 제어부에 의해서 펌웨어의 제 1 루틴이 구동되고, 상기 펌웨어의 제 1 루틴은 불량 블록이 존재하는지, 존재한다면 그 수는 얼마인지 점검하게 된다(S310).
불량 블록의 점검을 마치면, 그 데이터 저장장치에서 최대로 허용되는 불량 블록의 수보다 많은지의 여부를 결정한다(S320). 만일, 상기 점검을 통해 검색된 불량 블록의 수가 상기 최대 허용치보다 적으면 상기 데이터 저장장치는 정상동작을 수행한다.
대신, 상기 점검을 통해 검색된 불량 블록의 수가 상기 최대 허용치보다 많으면 상기 데이터 저장장치의 펌웨어는 상기 펌웨어의 제 2 루틴을 구동한다(S330). 상기 제 2 루틴을 구동하면, 상기 펌웨어는 상기 데이터 저장장치를 정상인 데이터 저장장치의 용량보다 작은 용량의 데이터 저장장치로 인식하고 기록, 독출 및 삭제의 정상 동작을 수행하게 된다. 앞서 설명한 바와 같이 이러한 경우 상기 펌웨어는 상기 데이터 저장장치를 정상인 데이터 저장장치의 용량의 절반으로 인식할 수 있다. 이러한 경우, 상기 데이터 저장장치의 모든 용량을 정상적으로 사용할 수는 없지만 정상 용량의 절반 용량으로서는 사용하는 것이 가능하다(S340).
앞서 본 발명의 제 3 실시예를 설명할 때 언급한 바와 같이, 상기 데이터 저장장치의 일부 사용자 영역에 사용자의 유효 데이터가 저장되어 있는 경우 데이터의 손실이 발생할 수 있다. 따라서, 사용자 데이터를 백업할 수 있는 기회를 사용자에게 부여하기 위해, 선택적으로 불량 블록의 개수가 허용치보다 상기 펌웨어의 제 2 루틴을 구동하는 단계는 유효한 저장 데이터가 존재하는지 점검하는 단계; 및 유효한 저장 데이터가 존재하면 읽기 모드로 동작하는 단계를 더 포함할 수 있다.
도 7은 이러한 점을 반영한 본 발명의 다른 구현예를 나타내는 순서도이다. 단계(S410, S420)는 도 6에 관한 구현예의 단계(S310, S320)에 관한 설명과 동일하므로 여기서는 생략한다. 불량 블록의 수가 허용치보다 많으면 먼저 사용자의 유효한 저장 데이터가 존재하는지 점검한다(S430). 상기 점검을 마치고 사용자의 유효한 저장 데이터가 존재하는지의 여부를 판단한다(S440). 만일, 사용자의 유효한 저장 데이터가 존재한다면 읽기 모드로 동작한다(S450). 읽기 모드로 동작하는 동안에 사용자는 자신의 유효한 저장 데이터를 상기 데이터 저장장치로부터 읽어 다른 기억장치에 기억시킬 수 있다. 한편, 사용자의 유효한 저장 데이터가 존재하지 않는다면 상기 펌웨어의 제 2 루틴을 구동할 수 있다(S470).
상기 본 발명의 일 구현예에 따른 데이터 저장장치의 작동 방법은 상기 데이 터 저장장치의 사용자 영역을 포맷하는 단계를 더 포함할 수 있다(S460). 선택적으로, 상기 포맷하는 단계는 상기 펌웨어의 제 2 루틴을 구동하는 단계 직전에 수행됨으로써, 포맷 후에 상기 제 2 루틴이 바로 구동될 수 있다.
선택적으로, 포맷을 하지 않으면 사용자의 유효 데이터를 보호하기 위해 계속 읽기 모드로 동작하도록 구성될 수 있다. 그렇지 않고 사용자가 상기 포맷을 하면 사용자가 유효 데이터의 보호를 중단하기를 원하는 것이므로 포맷한 후 앞서 설명한 바와 같이 제 2 루틴을 구동할 수 있다(S470).
이상과 같이 상기 펌웨어의 제 2 루틴을 구동한 후 상기 데이터 저장장치를 정상 동작시킬 수 있다(S480).
본 발명의 제 5 태양은 앞서 설명한 본 발명의 제 1 태양 또는 제 2 태양에 따른 데이터 저장장치를 포함하는 전자 장치를 제공한다.
상기 전자 장치는 MMC (Multi-Media Card), SD (Secure Digital) 카드, MS (Memory Stick), xD 카드, CFC (Compact Flash Card), UFD (Universal Flash ) 등과 같은 이동식 저장장치일 수도 있고, MP3 플레이어, 디지털 카메라, 노트북 컴퓨터, PMP (Portable Media Player), 휴대 전화 등일 수 있지만 여기에 한정되는 것은 아니며, 데이터 저장장치를 포함하는 어떤 전자 장치일 수 있다.
이상에서 살펴본 바와 같이 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형하여 실시할 수 있을 것이다. 따라서 본 발명의 앞으로의 실시 예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
본 발명의 데이터 저장장치 및 그의 사용방법을 이용하면, 불량 블록이 최대 상한선보다 많아지더라도 데이터 저장장치의 전부를 못쓰게 되는 것이 아니라 정상 용량의 일부에 대하여 정상적인 사용이 가능하여 경제적인 효과가 있다.

Claims (17)

  1. 메모리 제어부;
    상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있는 정상 용량용 펌웨어(firmware);
    상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있는 비정상 용량용 펌웨어; 및
    데이터를 저장할 수 있는 데이터 영역을 가지는 메모리 영역;
    을 포함하는 데이터 저장장치.
  2. 제 1 항에 있어서, 상기 정상 용량용 펌웨어가 상기 메모리 영역에 기록되어 있는 것을 특징으로 하는 데이터 저장장치.
  3. 제 1 항에 있어서, 상기 비정상 용량용 펌웨어가 상기 메모리 영역에 기록되어 있는 것을 특징으로 하는 데이터 저장장치.
  4. 제 1 항에 있어서, 상기 정상 용량용 펌웨어가 상기 메모리 제어부에 기록되어 있는 것을 특징으로 하는 데이터 저장장치.
  5. 제 1 항에 있어서, 상기 비정상 용량용 펌웨어가 상기 메모리 제어부에 기록 되어 있는 것을 특징으로 하는 데이터 저장장치.
  6. 제 1 항에 있어서, 상기 비정상 용량이 상기 정상 용량의 절반인 것을 특징으로 하는 데이터 저장장치.
  7. 메모리 제어부;
    상기 메모리 제어부의 제어에 따라 동작을 수행할 수 있으며, 정상 용량의 메모리 용량에 대해 작동할 수 있는 제 1 루틴과 비정상 용량의 메모리 용량에 대해 작동할 수 있는 제 2 루틴을 포함하는 펌웨어; 및
    데이터를 저장할 수 있는 데이터 영역을 가지는 사용자 영역;
    을 포함하는 데이터 저장장치.
  8. 제 7 항에 있어서, 상기 펌웨어가 상기 메모리 제어부에 기록되어 있는 것을 특징으로 하는 데이터 저장장치.
  9. 제 7 항에 있어서, 상기 펌웨어가 상기 메모리 영역에 기록되어 있는 것을 특징으로 하는 데이터 저장장치.
  10. 제 7 항에 있어서, 상기 비정상 용량이 상기 정상 용량의 절반인 것을 특징으로 하는 데이터 저장장치.
  11. 메모리 제어부에 의해 정상 용량용 펌웨어를 구동하여 불량 블록을 점검하는 단계; 및
    불량 블록의 개수가 허용치보다 많으면 비정상 용량용 펌웨어를 구동하는 단계;
    를 포함하는 데이터 저장장치의 작동 방법.
  12. 제 11 항에 있어서, 불량 블록의 개수가 허용치보다 많으면 비정상 용량용 펌웨어를 구동하는 단계가
    유효한 저장 데이터가 존재하는지 점검하는 단계; 및
    유효한 저장 데이터가 존재하면 읽기 모드로 동작하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터 저장장치의 작동 방법.
  13. 제 12 항에 있어서, 사용자 영역을 포맷하는 단계를 더 포함하는 것을 특징으로 하는 데이터 저장장치의 작동 방법.
  14. 메모리 제어부의 제어에 따라 동작을 수행하며, 정상 용량의 메모리 용량에 대해 작동할 수 있는 제 1 루틴과 비정상 용량의 메모리 용량에 대해 작동할 수 있는 제 2 루틴을 포함하는 펌웨어를 포함하는 데이터 저장장치에 있어서,
    메모리 제어부에 의해 상기 펌웨어의 제 1 루틴을 구동하여 불량 블록을 점 검하는 단계; 및
    불량 블록의 개수가 허용치보다 많으면 상기 펌웨어의 제 2 루틴을 구동하는 단계;
    를 포함하는 데이터 저장장치의 작동 방법.
  15. 제 14 항에 있어서, 불량 블록의 개수가 허용치보다 상기 펌웨어의 제 2 루틴을 구동하는 단계가
    유효한 저장 데이터가 존재하는지 점검하는 단계; 및
    유효한 저장 데이터가 존재하면 읽기 모드로 동작하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터 저장장치의 작동 방법.
  16. 제 15 항에 있어서, 사용자 영역을 포맷하는 단계를 더 포함하는 것을 특징으로 하는 데이터 저장장치의 작동 방법.
  17. 제 1 항 내지 제 10 중의 어느 한 항에 따른 데이터 저장장치를 포함하는 전자 장치.
KR1020070016120A 2007-02-15 2007-02-15 데이터 저장장치 및 그의 작동 방법 KR100874916B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070016120A KR100874916B1 (ko) 2007-02-15 2007-02-15 데이터 저장장치 및 그의 작동 방법
US12/031,016 US8041916B2 (en) 2007-02-15 2008-02-14 Data storage device and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070016120A KR100874916B1 (ko) 2007-02-15 2007-02-15 데이터 저장장치 및 그의 작동 방법

Publications (2)

Publication Number Publication Date
KR20080076331A true KR20080076331A (ko) 2008-08-20
KR100874916B1 KR100874916B1 (ko) 2008-12-19

Family

ID=39707645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070016120A KR100874916B1 (ko) 2007-02-15 2007-02-15 데이터 저장장치 및 그의 작동 방법

Country Status (2)

Country Link
US (1) US8041916B2 (ko)
KR (1) KR100874916B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445200B2 (en) 2016-05-02 2019-10-15 Samsung Electronics Co., Ltd. Storage device having various recovery methods and recovery modes
USRE50129E1 (en) 2016-05-02 2024-09-17 Samsung Electronics Co., Ltd. Storage device having various recovery methods and recovery modes
KR102628239B1 (ko) * 2016-05-02 2024-01-24 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치 및 호스트 장치를 포함하는 컴퓨팅 장치의 동작 방법
CN108196790B (zh) * 2017-12-28 2021-08-10 深圳市得一微电子有限责任公司 数据管理方法、存储设备及计算机可读存储介质
CN113672426A (zh) * 2021-08-24 2021-11-19 浙江大华技术股份有限公司 存储设备的异常确定方法及装置、存储介质、电子装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3122222B2 (ja) 1992-05-08 2001-01-09 株式会社東芝 メモリカード装置
KR100205006B1 (ko) * 1996-10-08 1999-06-15 윤종용 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
KR19990055972A (ko) 1997-12-29 1999-07-15 윤종용 블록 재할당 기능을 갖는 플래시 메모리 이용 보조기억장치 및 그 방법
KR20020054464A (ko) 2000-12-28 2002-07-08 엘지전자 주식회사 디지탈 기기의 메모리 카드 관리 장치 및 방법
KR20040023843A (ko) 2002-09-12 2004-03-20 삼성전기주식회사 메모리의 결함 처리 장치 및 그 방법
TWI298836B (en) * 2005-10-12 2008-07-11 Sunplus Technology Co Ltd Apparatus for controlling flash memory and method thereof
JP4884885B2 (ja) * 2006-08-25 2012-02-29 株式会社日立製作所 記憶制御装置及び記憶制御装置の障害回復方法

Also Published As

Publication number Publication date
KR100874916B1 (ko) 2008-12-19
US8041916B2 (en) 2011-10-18
US20080201539A1 (en) 2008-08-21

Similar Documents

Publication Publication Date Title
JP4768504B2 (ja) 不揮発性フラッシュメモリを用いる記憶装置
JP2006031396A (ja) 半導体記憶デバイス
JP2004362530A (ja) 最良の圧縮管理メカニズムを具えたストレージデバイス
US20080010400A1 (en) Method and apparatus for automatically determining optimal access time of hard disk
US20120173955A1 (en) Data writing and reading method, and memory controller and memory storage apparatus using the same
JP2008547068A (ja) 複数個のdmaチャンネルを有するusb−sd保存装置及びその保存方法と記録媒体
KR101350981B1 (ko) 복합 광 디스크 드라이브 및 그 구동 방법 및 이를 적용하는 전자 시스템
JP4153802B2 (ja) 記憶装置
KR100874916B1 (ko) 데이터 저장장치 및 그의 작동 방법
US20120210059A1 (en) Cascaded raid controller
US20090027796A1 (en) Information recording device and control method therefor
US20090013134A1 (en) Memory apparatus and protecting method thereof
JP2008250718A (ja) 不揮発性キャッシュメモリを用いた記憶装置とその制御方法
JP4841069B2 (ja) 記憶装置
CN101673229A (zh) 自动备份闪存存储数据的存储系统和方法
JP2005050192A (ja) 情報記録システム
US7006416B1 (en) Record medium with mechanism of secrecy protection
US8583862B2 (en) Recording medium, drive device, and mounting method
CN210776642U (zh) 一种多个tf卡自动拼盘装置
US20100037004A1 (en) Storage system for backup data of flash memory and method for the same
JP3604984B2 (ja) 記録機器の記録制御方法
JP2011192137A (ja) メモリカード制御システム、メモリカード制御装置及びメモリカード制御方法
JP2005057460A (ja) 映像及び音声信号記録装置
JP2012068808A (ja) 可搬記憶装置
JP3100146U (ja) 圧縮管理メカニズムを具えたストレージデバイス

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
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 6