KR20100039181A - 예비 영역을 가지는 반도체 메모리 장치 - Google Patents

예비 영역을 가지는 반도체 메모리 장치 Download PDF

Info

Publication number
KR20100039181A
KR20100039181A KR1020080101097A KR20080101097A KR20100039181A KR 20100039181 A KR20100039181 A KR 20100039181A KR 1020080101097 A KR1020080101097 A KR 1020080101097A KR 20080101097 A KR20080101097 A KR 20080101097A KR 20100039181 A KR20100039181 A KR 20100039181A
Authority
KR
South Korea
Prior art keywords
block
area
memory
spare
host
Prior art date
Application number
KR1020080101097A
Other languages
English (en)
Other versions
KR101552207B1 (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 US12/585,935 priority Critical patent/US8327066B2/en
Publication of KR20100039181A publication Critical patent/KR20100039181A/ko
Priority to US13/067,436 priority patent/US20110238900A1/en
Priority to US13/067,434 priority patent/US8904088B2/en
Priority to US14/508,393 priority patent/US9542199B2/en
Application granted granted Critical
Publication of KR101552207B1 publication Critical patent/KR101552207B1/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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0692Multiconfiguration, e.g. local and global addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • 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
    • G06F12/0615Address space extension
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 예비 영역을 가지는 반도체 메모리 장치에 관한 것이다.
본 발명에 따른 반도체 메모리 장치는 사용자 영역 및 예비 영역으로 구분되는 메모리 셀 어레이를 포함하고, 상기 예비 영역은 상기 사용자 영역 내의 결함 있는 메모리 블록을 교체하기 위하여 구비되며, 상기 예비 영역 내의 사용 가능한 예비 블록의 개수가 기준 개수 미만인 경우, 상기 사용자 영역 내의 메모리 블록과 상기 예비 영역 내의 결함있는 예비 블록을 교체한다.
본 발명에 따른 반도체 메모리 장치는 결함 있는 예비 블록 대신, 사용자 영역 내의 사용 가능한 메모리 블록을 예비 블록으로 사용한다. 따라서, 사용 가능한 예비 블록의 수가 적절하게 유지될 수 있다. 본 발명에 따르면, 메모리 시스템의 신뢰성 및 수명이 향상된다.

Description

예비 영역을 가지는 반도체 메모리 장치{SEMICONDUCTOR MEMORY DEVICE WITH RESERVED AREA}
본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 예비 영역을 가지는 반도체 메모리 장치에 관한 것이다.
반도체 메모리 장치는 데이터를 저장해 두고 필요할 때 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 램(Random Access Memory: RAM)과 롬(Read Only Memory: ROM)으로 나뉠 수 있다. 램에 저장된 데이터는 전원 공급이 중단되면 소멸된다. 이러한 타입의 메모리를 휘발성(volatile) 메모리라고 한다. 반면에, 롬에 저장된 데이터는 전원 공급이 중단되더라도 소멸되지 않는다. 이러한 타입의 메모리를 불휘발성(nonvolatile) 메모리라고 한다.
불휘발성 메모리 장치의 일종으로 플래시(flash) 메모리 장치가 있다. 최근 디지털 카메라, MP3 플레이어, 핸드폰, PDA 등과 같은 휴대용 전자 장치가 많이 사용되고 있다. 이러한 휴대용 전자 장치에는 플래시 메모리가 주로 사용되고 있다. 이는 플래시 메모리가 저전력 및 고집적 등의 특성을 갖는 불휘발성 소자이기 때문이다. 플래시 메모리는 휴대용 전자 장치에 사용되기 때문에 플래시 메모리의 신뢰성 및 수명은 휴대용 전자 장치의 신뢰성 및 수명과 밀접한 관계를 가진다. 따라서, 플래시 메모리의 신뢰성 및 수명을 향상시키는 것이 중요하다.
본 발명은 상술한 기술적 과제를 해결하기 위해 제안된 것으로, 본 발명의 목적은 적절한 수의 예비 블록을 확보하는 데 있다. 본 발명의 다른 목적은 결함있는 예비 블록을 대신하여 사용자 영역 내의 메모리 블록을 예비 블록으로 사용하는 데 있다.
본 발명에 따른 반도체 메모리 장치는 사용자 영역 및 예비 영역으로 구분되는 메모리 셀 어레이를 포함하고, 상기 예비 영역은 상기 사용자 영역 내의 결함 있는 메모리 블록을 교체하기 위하여 구비되며, 상기 예비 영역 내의 사용 가능한 예비 블록의 개수가 기준 개수 미만인 경우, 상기 사용자 영역 내의 메모리 블록과 상기 예비 영역 내의 결함있는 예비 블록을 교체한다.
실시 예로서, 상기 예비 영역 내의 사용 가능한 예비 블록의 개수가 기준 개수 미만인 경우, 상기 사용자 영역 내의 데이터를 저장하고 있지 않거나 무효한 데이터를 저장하고 있는 메모리 블록과 상기 예비 영역 내의 결함있는 예비 블록을 교체한다. 교체 동작에 의해 예비 블록이 된 메모리 블록은 배드 블록으로 처리된다.
실시 예로서, 상기 사용자 영역 내에 사용 가능한 메모리 블록이 존재하지 않는 경우, 상기 사용자 영역에 저장된 데이터를 다른 저장 매체에 백업한다. 상기 백업 동작을 수행하기 위한 펌웨어를 호스트로부터 로드한다. 상기 백업 동작을 수행하기 위한 펌웨어를 상기 호스트의 바이오스로부터 로드한다. 상기 백업 동작을 수행하기 위한 펌웨어를 메모리 컨트롤러로부터 로드한다. 상기 메모리 셀 어레이는 호스트 보호 영역(HPA)을 포함하고, 상기 호스트 보호 영역에 상기 백업 동작을 수행하기 위한 펌웨어를 저장한다.
실시 예로서, 상기 메모리 셀 어레이는 호스트 보호 영역(HPA)을 포함하고, 상기 호스트 보호 영역에 호스트의 부팅을 위한 부팅 이미지를 저장한다. 상기 사용자 영역 내의 부팅 이미지가 손상된 경우, 상기 호스트의 부팅을 위해 상기 호스트 보호 영역에 저장된 부팅 이미지를 상기 호스트에 제공한다.
본 발명에 따른 반도체 메모리 장치는 결함 있는 예비 블록 대신, 사용자 영역 내의 사용 가능한 메모리 블록을 예비 블록으로 사용한다. 따라서, 사용 가능한 예비 블록의 수가 적절하게 유지될 수 있다. 본 발명에 따르면, 메모리 시스템의 신뢰성 및 수명이 향상된다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되 어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
도 1은 본 발명에 따른 메모리 시스템을 보여주는 도면이다. 도 1을 참조하면, 본 발명에 따른 메모리 시스템(100)은 호스트(110), 메모리 컨트롤러(120), 그리고 플래시 메모리(130)를 포함한다.
플래시 메모리(130)는 메모리 셀 어레이(131) 및 페이지 버퍼(132)를 포함한다. 도 1에 도시되어 있지는 않지만, 플래시 메모리(130)에는 디코더(decoder), 데이터 버퍼(data buffer), 그리고 제어 유닛(control unit)이 포함되어 있다. 메모리 컨트롤러(120)는 호스트(110)로부터 입력되는 데이터(data)와 쓰기 커맨드(write command)에 응답하여, 데이터(data)가 메모리 셀 어레이(131)에 쓰여지도록 플래시 메모리(130)를 제어한다. 또한, 메모리 컨트롤러(120)는 호스트(110)로부터 입력되는 읽기 커맨드(read command)에 응답하여, 메모리 셀 어레이(131)에 저장되어 있는 데이터가 읽혀지도록 플래시 메모리(130)를 제어한다.
플래시 메모리(130)의 메모리 셀 어레이(131)는 복수의 메모리 셀(memory cell)로 구성된다. 메모리 셀은 불휘발성(nonvolatile)으로서, 데이터를 저장한 후 전원이 꺼져도 데이터가 지워지지 않는다. 페이지 버퍼(132)는 메모리 셀 어레이(131)의 선택된 페이지(page)에 쓰여질 데이터 또는 선택된 페이지로부터 읽은 데이터를 저장하는 버퍼이다.
그런데 플래시 메모리는 데이터 덮어쓰기(overwrite)가 가능한 하드 디스크와 달리, 데이터 덮어쓰기가 자유롭지 못하다. 플래시 메모리에 데이터를 덮어쓰기 위해서는 데이터를 쓰기 전에 지워야 한다. 이를 쓰기 전 소거 동작(erase-before-write)이라 한다. 즉, 플래시 메모리는 데이터를 쓰기 전에, 초기 상태 또는 소거 상태로 되돌려 놓아야 한다.
플래시 메모리의 소거 동작은 일반적으로 쓰기 동작에 비해 매우 긴 시간이 소요된다. 또한, 플래시 메모리의 소거 단위는 쓰기 단위보다 훨씬 큰 블록 단위로 수행되기 때문에, 소거되지 않아도 되는 부분까지 함께 지워지는 결과를 초래할 수 있다. 원치않게 지워진 부분은 다시 쓰기 동작을 통해 복원해야 한다. 이와 같이 플래시 메모리는 소거와 쓰기 동작의 단위가 일치하지 않기 때문에, 쓰기 동작의 수행 성능은 읽기 동작에 비해 떨어진다. 또한, 플래시 메모리는 동일한 블록에 대해 10만 번 정도의 소거 동작을 수행하면, 더 이상 사용할 수 없게 된다. 플래시 메모리는 특정 블록에 대해 소거 동작이 반복되는 것을 피하기 위해 웨어 레벨링(wear leveling) 동작을 수행한다.
도 2는 도 1에 도시된 메모리 시스템의 소프트웨어 구조를 보여주는 블록도이다. 도 2를 참조하면, 메모리 시스템은 애플리케이션(205), 파일 시스템(210), 플래시 변환 레이어(220), 그리고 플래시 메모리(230) 순으로 소프트웨어 계층 구조를 갖는다.
플래시 변환 레이어(FTL; Flash Translation Layer)는 상술한 플래시 메모리의 단점들을 극복하고, 플래시 메모리를 효율적으로 관리하기 위한 소프트웨어이 다. 플래시 변환 레이어(220)는 애플리케이션(205) 또는 파일 시스템(210)으로부터 논리 어드레스(LA; Logical Address)를 입력받는다. 플래시 변환 레이어(220)는 논리 어드레스(LA)를 입력받고, 이를 물리 어드레스(PA; Physical Address)로 변환한다. 물리 어드레스(PA)는 플래시 메모리(230)로 제공된다.
플래시 변환 레이어(220)는 위와 같은 어드레스 맵핑 동작을 관리하기 위해 어드레스 맵핑 테이블(Address Mapping Table)을 가지고 있다. 어드레스 맵핑 테이블에는 논리 어드레스(Logical Address) 및 이에 대응하는 물리 어드레스(Physical Address)가 기록되어 있다. 어드레스 맵핑 테이블은 맵핑 단위에 따라 그 크기가 달라질 수 있으며, 맵핑 단위에 따라 다양한 맵핑 방법을 갖는다. 어드레스 맵핑 테이블은 도 1에 도시된 메모리 컨트롤러 상에서 구동된다.
대표적인 맵핑 방법으로, 페이지 맵핑 방법(page mapping method), 블록 맵핑 방법(block mapping method), 그리고 혼합 맵핑 방법(hybrid mapping method) 등이 있다. 페이지 맵핑 방법에는 페이지 맵핑 테이블이 사용된다. 페이지 맵핑 테이블은 페이지 단위로 맵핑 동작을 수행하기 위한 것이며, 논리 페이지 및 이에 대응하는 물리 페이지를 저장한다. 블록 맵핑 방법에는 블록 맵핑 테이블이 사용된다. 블록 맵핑 테이블은 블록 단위로 맵핑 동작을 수행하기 위한 것이며, 논리 블록 및 이에 대응하는 물리 블록을 저장한다. 혼합 맵핑 방법은 페이지 맵핑 방법과 블록 맵핑 방법을 동시에 사용하는 방법이다.
그런데, 플래시 메모리의 메모리 블록에는 결함이 생길 수 있다. 결함이 있는 블록은 배드 블록(bad block)으로 불린다. 배드 블록은 다양한 원인에 의해 발 생할 수 있다. 예를 들어, 열 페일(column fail), 간섭 문제(disturbance), 마모(wear-out) 등에 의해 정상 블록이 배드 블록이 될 수 있다.
배드 블록에는 데이터가 저장될 수 없기 때문에 배드 블록은 정상 블록으로 교체되어야 한다. 따라서, 플래시 메모리에는 배드 블록을 교체하기 위한 예비 블록(reserved block)이 구비된다. 본 발명에 따른 실시 예에 있어서, 배드 블록을 교체하기 위한 예비 블록들은 예비 영역(reserved area)을 구성한다. 또한, 예비 영역을 제외한 영역은 사용자 영역(user area)으로 정의된다. 즉, 플래시 메모리의 메모리 셀 어레이는 사용자 영역과 예비 영역으로 구분된다. 예비 영역에 포함된 예비 블록들은 사용자 영역 내의 데이터 블록이 배드 블록이 된 경우를 대비하여 구비된다. 예비 영역은 사용자에 의해 인식되지 않기 때문에 사용자는 데이터의 저장을 위해 사용자 영역만을 사용할 수 있다.
도 3은 도 1의 메모리 셀 어레이를 자세하게 보여주는 도면이다. 도 3을 참조하면, 메모리 셀 어레이는 사용자 영역(user area)과 예비 영역(reserved area)으로 구분된다. 사용자 영역은 하나 이상의 메모리 블록을 포함한다. 사용자 영역 내의 메모리 블록은 용도에 따라 구분될 수 있다. 예를 들어, 혼합 맵핑 스킴의 경우, 메모리 블록들은 데이터 블록(data block), 로그 블록(log block), 및 프리 블록(free block)으로 구분될 수 있다. 데이터 블록에는 사용자 데이터가 저장된다. 로그 블록은 데이터 블록에 저장된 데이터를 수정하기 위해서 사용된다. 프리 블록 중 일부는 로그 블록으로 할당된다.
그런데 데이터 블록, 로그 블록, 및 프리 블록에는 다양한 원인에 의해 결함 이 발생할 수 있다. 예를 들어, 열 페일(column fail), 간섭 문제(disturbance), 마모(wear-out) 등에 의해 결함이 발생할 수 있다. 예비 영역은 사용자 영역 내의 결함있는 메모리 블록을 대체하기 위해 구비된다. 예비 영역은 하나 이상의 예비 블록을 포함한다. 예비 영역은 메모리 셀 어레이의 일정 비율을 차지하도록 설정된다. 예를 들어, 예비 영역은 메모리 셀 어레이의 약 5 퍼센트를 차지할 수 있다.
도 4는 사용자 영역 내의 메모리 블록에 결함이 발생한 경우, 예비 블록으로 결함있는 메모리 블록을 대체하는 방법을 설명하는 도면이다. 도 4(a)를 참조하면, 사용자 영역 내의 일부 데이터 블록에 결함이 발생한 경우가 가정된다. 데이터 블록에 결함이 생긴 경우, 데이터 블록에 저장된 데이터가 소실될 수 있다. 데이터의 소실을 방지하기 위해서 결함이 발생한 데이터 블록에 저장된 데이터는 예비 영역 내의 예비 블록에 저장된다.
그 이후에 예비 블록은 데이터 블록으로 변경되고, 데이터 블록은 예비 블록으로 변경된다. 이러한 변경은 논리 주소와 물리 주소 사이의 대응 관계를 갱신함으로써 수행된다. 대응 관계의 갱신은 맵핑 테이블의 갱신에 의해 수행된다. 즉, 결함이 발생한 데이터 블록에 대응되었던 논리 주소가 결함이 없는 데이터 블록에 대응되도록 변경된다. 따라서, 외부(예를 들어, 호스트)로부터 액세스 요청이 있는 경우, 플래시 변환 계층은 맵핑 테이블을 참조하여 요청된 논리 블록 주소에 대응하는 결함이 없는 물리 블록 주소를 플래시 메모리에 제공한다.
그런데 예비 블록으로 결함이 있는 메모리 블록을 대체함에 따라 사용 가능한 예비 블록의 개수는 줄어든다. 또한, 예비 블록에 자체적인 결함이 발생할 수도 있다. 만약, 모든 예비 블록이 배드 블록이 되는 경우, 호스트로부터의 쓰기 요청에 대응할 수 없게 된다. 이러한 반도체 메모리 장치는 더 이상 사용될 수 없다. 이는 반도체 메모리 장치의 신뢰성 및 수명을 저하시킨다. 따라서, 적절한 수의 예비 블록을 확보하는 것이 중요하다.
본 발명에 따른 실시 예에 있어서, 사용 가능한 예비 블록의 개수가 기준 개수 미만인 경우, 사용자 영역 내의 메모리 블록을 예비 블록으로 전용(轉用, diversion)한다. 따라서, 예비 블록이 기준 개수 이상으로 유지될 수 있다. 이는 반도체 메모리 장치의 신뢰성 및 수명을 향상시킨다. 이하, 본 발명에 따른 예비 영역 확보 방법이 후술될 도면을 참조하여 자세히 설명될 것이다.
도 5는 본 발명에 따른 예비 영역 확보 방법을 설명하기 위한 순서도이다. 본 발명에 따른 실시 예에 있어서, 사용 가능한 예비 블록의 수가 기준 개수 미만인 경우, 예비 블록을 확보하기 위한 동작이 수행된다. 그런데, 사용자 영역에 사용 가능한 메모리 블록이 존재하지 않는 경우 예비 블록을 확보하는 것이 곤란할 수 있다. 본 실시 예에 있어서, 예비 블록을 확보하는 것이 곤란한 경우에는 플래시 메모리에 저장된 데이터를 다른 저장 매체에 백업(backup)하는 동작이 수행된다.
도 5를 참조하면, S110 단계에서 예비 블록의 개수가 기준 개수보다 작은지 여부가 판단된다. 기준 개수는 임의의 개수로 설정될 수 있다. 예를 들어, 기준 개수가 클수록 확보되는 예비 블록의 개수는 증가하고, 기준 개수가 작을수록 확보되는 예비 블록의 개수는 감소할 것이다. 상술한 바와 같이 예비 블록의 개수는 배드 블록 교체에 의해 감소될 수 있다.
이 판단 동작은 메모리 컨트롤러 또는 호스트에 의해 수행될 수 있다. 메모리 컨트롤러는 플래시 메모리로부터 예비 블록의 개수 정보를 전달받고 상기 판단동작을 할 수 있다. 또는, 호스트가 메모리 컨트롤러로부터 예비 블록의 개수 정보를 전달받고 상기 판단 동작을 할 수 있다. 판단 결과 예비 블록의 개수가 기준 개수 이상인 경우 예비 블록을 확보하기 위한 동작은 불필요하다. 따라서, 본 발명에 따른 예비 블록 확보 동작은 종료된다. 반면에, 예비 블록의 개수가 기준 개수보다 작은 경우 S120 단계가 수행된다.
S120 단계에서, 예비 블록 확보 동작이 수행될 수 있는지 여부가 판단된다. 본 실시 예에서, 예비 블록 확보 동작은 재구성(reformatting)으로 불릴 수 있다. 재구성에 의해 사용자 영역 내의 메모리 블록과 예비 영역 내의 예비 블록이 전환되기 때문이다. 그런데 예비 블록 확보 동작은 사용자 영역 내에 사용 가능한 메모리 블록이 존재하는 경우에만 수행될 수 있다. 본 실시 예에서 사용 가능한 메모리 블록이라 함은 데이터가 저장되어 있지 않은 메모리 블록 또는 유효하지 않은 데이터가 저장되어 있는 메모리 블록을 의미한다.
판단 결과, 예비 블록 확보 동작이 수행될 수 있는 경우에는 S130 단계가 수행된다. 반면에, 판단 결과, 예비 블록 확보 동작이 수행될 수 없는 경우에는 S140 단계가 수행된다. S130 단계에서 예비 블록 확보 동작이 수행된다. 예비 블록을 확보하기 위해서 사용자 영역 내의 사용 가능한 메모리 블록이 선택된다. 우선적으로 사용자 영역 내의 데이터를 저장하고 있지 않거나 무효 데이터를 저장하고 있는 메 모리 블록이 교체를 위해 선택될 수 있다. 예비 블록 확보 동작은 후술될 도면을 참조하여 자세히 설명될 것이다.
예비 블록 확보 동작이 수행될 수 없는 경우에는 반도체 메모리 장치에 저장된 데이터가 백업(backup) 될 것이 요구된다. 결함 있는 메모리 블록에 저장된 데이터는 소실될 수 있기 때문이다. 데이터의 백업을 위해서는 백업을 위한 펌웨어(firmware)가 요구된다. S140 단계에서 백업을 위한 펌웨어가 호스트로부터 플래시 메모리로 다운로드 된다. 예를 들어, 백업을 위한 펌웨어는 호스트의 바이오스(BIOS)에 저장될 수 있다. 일반적으로 바이오스는 불휘발성 메모리 장치에 저장된다. 따라서, 전원이 공급되지 않는 경우에도 바이오스 정보는 유지된다. 만약, 플래시 메모리가 내부에 백업을 위한 펌웨어를 구비하는 경우에는 별도의 펌웨어 다운로드가 요구되지 않는다. 따라서, S140 단계는 생략될 수 있다. 예를 들어, 메모리 컨트롤러 내에 펌웨어가 저장될 수 있다. 또는 플래시 메모리 내에 펌웨어가 저장될 수 있다.
특히, 백업을 위한 펌웨어는 플래시 메모리의 호스트 보호 영역(Host protected area; HPA)에 저장될 수 있다. 호스트 보호 영역은 hidden protected area로도 불린다. 호스트 보호 영역은 운영 체제가 인식하지 못하는 하드 디스크의 영역이다. 호스트 보호 영역은 ATA-4 표준에서 처음 소개되었다. 하드 디스크는 운영 체제로부터의 장치 인식 명령어(identify device command)에 응답하여 호스트 보호 영역을 제외한 용량을 호스트에 알려준다. 또한, 고유 최대 어드레스 읽기(read native max address) 명령어는 호스트 보호 영역을 포함한 크기를 알려준 다. 결국, 상기 명령어들을 활용하여 호스트 보호 영역의 존재 여부를 알 수 있게 된다.
일반적으로 호스트 보호 영역은 바이오스와 결합하여 부팅 및 진단 등을 위해 활용될 수 있다. 또한, 호스트 보호 영역은 분실 등의 경우를 대비하기 위해서도 사용된다. 하드 디스크가 포맷된 경우에도 호스트 보호 영역에 저장된 데이터는 유지되기 때문이다.
본 발명에 따른 실시 예에 있어 플래시 메모리는 호스트 보호 영역을 포함한다. 그리고, 호스트 보호 영역에 백업용 펌웨어가 미리 저장된다. 따라서, 플래시 메모리의 백업을 위한 펌웨어를 호스트 또는 메모리 컨트롤러로부터 로드할 필요가 없게 된다. 백업을 위한 펌웨어의 구동에 의해 플래시 메모리에 저장된 데이터는 다른 저장 매체에 저장될 수 있다. 백업을 위한 저장 매체로서 다른 정상적인 플래시 메모리 또는 하드 디스크 등이 사용될 수 있다.
또한, 호스트 보호 영역 내에 부팅 이미지(booting image)가 저장될 수 있다. 만약, 플래시 메모리에 저장된 부팅 이미지에 이상이 생긴 경우 메모리 시스템이 부팅 되지 않을 수 있다. 따라서, 메모리 시스템이 부팅되지 않는 경우 호스트 보호 영역의 부팅 이미지를 이용하여 시스템이 부팅될 수 있다.
도 6은 본 발명의 일 실시 예에 따른 예비 영역 확보 방법을 보여준다. 도 6(a)를 참조하면, 예비 영역 내의 모든 예비 블록들이 배드 블록인 것으로 가정된다. 배드 블록은 빗금으로 표시된다. 예비 블록은 사용자 영역 내의 배드 블록과의 교체 또는 자체적인 결함 발생 등으로 배드 블록으로 될 수 있다. 모든 예비 블록 들이 배드 블록으로 된 경우, 외부(호스트)로부터의 쓰기 요청에 대응할 수 없다. 따라서, 일정 개수 이상의 예비 블록이 확보될 것이 요구된다. 본 발명에 따른 실시 예에서, 사용자 영역 내의 메모리 블록이 예비 블록으로 전용(轉用)된다. 특히, 데이터를 저장하고 있지 않거나 유효하지 않은 데이터를 저장하고 있는 메모리 블록이 우선적으로 예비 블록으로 사용될 수 있다.
도 6(b)를 참조하면, 사용자 영역 내의 일부 메모리 블록들이 예비 블록으로 변경된다. 예비 블록은 사용자 영역 내의 메모리 블록을 교체하기 위해 사용될 것이다. 본 실시 예에서, 프리 블록이 예비 블록으로 전환되었으나, 본 발명의 범위는 이에 한정되지 않는다. 예를 들어, 데이터 블록 또는 로그 블록이 예비 블록으로 전환될 수 있다.
도 7은 본 발명의 다른 실시 예에 따른 예비 영역 확보 방법을 보여준다. 상술한 바와 같이, 예비 영역은 운영 체제(또는 사용자)에 의해 인식되지 않는다. 따라서, 사용자 영역 내의 일부 메모리 블록이 예비 블록으로 전환됨에 따라 사용자는 사용자 영역의 용량이 감소하는 것으로 인식할 수 있다. 이러한 문제를 해결하기 위하여, 본 실시 예에 있어서는 예비 블록으로 사용되는 사용자 영역 내의 메모리 블록을 배드 블록으로 표시한다. 배드 블록으로 표시된 메모리 블록은 운영 체제에 의해 인식되기 때문에 사용자 영역의 용량이 감소되지 않는다.
도 7(a)를 참조하면, 예비 영역 내의 모든 예비 블록들이 배드 블록인 것으로 가정된다. 예비 블록은 사용자 영역 내의 배드 블록과의 교체 또는 자체적인 결함 발생 등으로 배드 블록으로 될 수 있다. 모든 예비 블록들이 배드 블록으로 된 경우, 외부(호스트)로부터의 쓰기 요청에 대응할 수 없다. 따라서, 예비 블록이 확보될 것이 요구된다. 본 발명에 따른 실시 예에서, 사용자 영역 내의 메모리 블록이 예비 블록으로 전용(diversion)된다. 특히, 데이터를 저장하고 있지 않거나 유효하지 않은 데이터를 저장하고 있는 메모리 블록이 우선적으로 예비 블록으로 사용된다.
도 7(b)를 참조하면, 사용자 영역 내의 일부 메모리 블록들이 예비 블록으로 변경되었음을 알 수 있다. 본 실시 예에서, 예비 블록으로 전용(diversion)되는 메모리 블록은 배드 블록으로 설정된다. 사용자 영역 내의 예비 블록들이 배드 블록으로 표시됨에 따라 사용자 영역의 용량이 감소되지 않는다. 예비 블록은 사용자 영역 내의 메모리 블록을 교체하기 위해 사용될 것이다. 본 실시 예에서, 프리 블록이 예비 블록으로 전환되었으나, 본 발명의 범위는 이에 한정되지 않는다. 예를 들어, 데이터 블록 또는 로그 블록이 예비 블록으로 전환될 수 있다.
도 8은 본 발명에 따른 플래시 메모리를 포함한 컴퓨팅 시스템(300)을 개략적으로 보여주는 블록도이다. 도 8을 참조하면, 컴퓨팅 시스템(300)은 프로세서(310), 메모리 컨트롤러(320), 입력 장치들(330), 출력 장치들(340), 플래시 메모리(350), 그리고 주 기억 장치(360)를 포함한다. 도면에서 실선은 데이터 또는 명령이 이동하는 시스템 버스(System bus)를 나타낸다.
메모리 컨트롤러(320)와 플래시 메모리(350)는 메모리 카드를 구성할 수 있다. 그리고, 프로세서(310), 입력 장치들(330), 출력 장치들(340), 그리고 주 기억 장치(360)는 메모리 카드를 기억 장치로 사용하는 호스트를 구성할 수 있다. 본 발 명에 따른 컴퓨팅 시스템(300)은 입력 장치들(330)(키보드, 카메라 등)을 통해 외부로부터 데이터를 입력받는다. 입력된 데이터는 사용자에 의한 명령이거나 카메라 등에 의한 영상 데이터 등의 멀티 미디어 데이터일 수 있다. 입력된 데이터는 플래시 메모리(350) 또는 주 기억 장치(360)에 저장된다.
프로세서(310)에 의한 처리 결과는 플래시 메모리(350) 또는 주 기억 장치(360)에 저장된다. 출력 장치들(340)은 플래시 메모리(350) 또는 주 기억 장치(360)에 저장된 데이터를 출력한다. 출력 장치들(340)은 디지털 데이터를 인간이 감지 가능한 형태로 출력한다. 예를 들어, 출력 장치(340)는 디스플레이 또는 스피커 등을 포함한다. 플래시 메모리(350)에는 본 발명에 따른 예비 블록 확보 방법이 적용될 것이다. 플래시 메모리(350)의 신뢰성 및 수명이 향상됨에 따라 컴퓨팅 시스템(300)의 신뢰성 및 수명도 이에 비례하여 향상될 것이다.
플래시 메모리(350), 그리고/또는 메모리 컨트롤러(320)는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 플래시 메모리(350) 그리고/또는 컨트롤러(320)는 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) 등과 같은 패키지들을 이용하여 실장될 수 있다.
비록 도면에는 도시되지 않았지만 컴퓨팅 시스템(300)의 동작에 필요한 전원을 공급하기 위한 전원 공급부(Power supply)가 요구됨은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 그리고, 컴퓨팅 시스템(300)이 휴대용 기기(mobile device)인 경우, 컴퓨팅 시스템(300)의 동작 전원을 공급하기 위한 배터리(battery)가 추가로 요구될 것이다.
도 9는 본 발명에 따른 SSD 시스템의 구성을 간략히 보여주는 블록도이다. 도 9를 참조하면, SSD 시스템(400)은 SSD 컨트롤러(410)와 플래시 메모리들(420~423)을 포함한다.
본 발명에 따른 반도체 메모리 시스템은 SSD(Solid State Drive)에도 적용될 수 있다. 최근 하드디스크 드라이브(HDD)를 교체해 나갈 것으로 예상되는 SSD 제품이 차세대 메모리 시장에서 각광을 받고 있다. SSD는 일반적인 하드 디스크 드라이브에서 사용되는 회전 접시 대신에 데이터를 저장하는데 플래시 메모리와 같은 메모리 칩들을 사용한 데이터 저장 장치이다. SSD는 기계적으로 움직이는 하드디스크 드라이브에 비해 속도가 빠르고 외부 충격에 강하며, 소비전력도 낮다는 장점을 가진다.
다시 도 9를 참조하면, 중앙처리장치(411)는 호스트로부터 명령어를 전달받아 호스트로부터의 데이터를 플래시 메모리에 저장할지 혹은 플래시 메모리의 저장 데이터를 독출하여 호스트로 전송할지의 여부를 결정하고 제어한다. ATA 인터페이 스(412)는 상술한 중앙처리장치(411)의 제어에 따라 호스트 측과 데이터를 교환한다. ATA 인터페이스(412)는 호스트 측으로부터 명령어 및 어드레스를 패치하여 CPU 버스를 통해서 중앙처리장치(411)로 전달한다. ATA 인터페이스(412)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 중앙처리장치(411)의 제어에 따라 CPU 버스를 경유하지 않고 SRAM 캐시(413)를 통해 전달된다.
SRAM 캐시(413)는 호스트와 플래시 메모리들(420~423) 간의 이동 데이터를 일시 저장한다. 또한 SRAM 캐시(413)는 중앙처리장치(411)에 의해서 운용될 프로그램을 저장하는 데에도 사용된다. SRAM 캐시(413)는 일종의 버퍼 메모리로 간주할 수 있으며, 반드시 SRAM으로 구성할 필요는 없다. 플래시 인터페이스(414)는 저장 장치로 사용되는 불 휘발성 메모리들과 데이터를 주고받는다. 플래시 인터페이스(414)는 낸드 플래시 메모리, One-NAND 플래시 메모리, 혹은 멀티-레벨 플래시 메모리를 지원하도록 구성될 수 있다. 본 발명에 따른 반도체 메모리 시스템은 이동형 저장 장치로서 사용될 수 있다. 따라서, MP3, 디지털 카메라, PDA, e-Book의 저장 장치로서 사용될 수 있다. 또한, 디지털 TV나 컴퓨터 등의 저장 장치로서 사용될 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
도 1은 본 발명에 따른 메모리 시스템을 보여주는 도면이다.
도 2는 도 1에 도시된 메모리 시스템의 소프트웨어 구조를 보여주는 블록도이다.
도 3은 도 1의 메모리 셀 어레이를 자세하게 보여주는 도면이다.
도 4는 사용자 영역 내의 메모리 블록에 결함이 발생한 경우, 예비 블록으로 결함있는 메모리 블록을 대체하는 방법을 설명하는 도면이다.
도 5는 본 발명에 따른 예비 영역 확보 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 예비 영역 확보 방법을 보여준다.
도 7은 본 발명의 다른 실시 예에 따른 예비 영역 확보 방법을 보여준다.
도 8은 본 발명에 따른 플래시 메모리를 포함한 컴퓨팅 시스템(300)을 개략적으로 보여주는 블록도이다.
도 9는 본 발명에 따른 SSD 시스템의 구성을 간략히 보여주는 블록도이다.

Claims (10)

  1. 사용자 영역 및 예비 영역으로 구분되는 메모리 셀 어레이를 포함하고,
    상기 예비 영역은 상기 사용자 영역 내의 결함 있는 메모리 블록을 교체하기 위하여 구비되며, 상기 예비 영역 내의 사용 가능한 예비 블록의 개수가 기준 개수 미만인 경우, 상기 사용자 영역 내의 메모리 블록과 상기 예비 영역 내의 결함있는 예비 블록을 교체하는 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 예비 영역 내의 사용 가능한 예비 블록의 개수가 기준 개수 미만인 경우, 상기 사용자 영역 내의 데이터를 저장하고 있지 않거나 무효한 데이터를 저장하고 있는 메모리 블록과 상기 예비 영역 내의 결함있는 예비 블록을 교체하는 반도체 메모리 장치.
  3. 제 1 항에 있어서,
    교체 동작에 의해 예비 블록이 된 메모리 블록은 배드 블록으로 처리되는 반도체 메모리 장치.
  4. 제 1 항에 있어서,
    상기 사용자 영역 내에 사용 가능한 메모리 블록이 존재하지 않는 경우, 상 기 사용자 영역에 저장된 데이터를 다른 저장 매체에 백업하도록 구성된 반도체 메모리 장치.
  5. 제 4 항에 있어서,
    상기 백업 동작을 수행하기 위한 펌웨어를 호스트로부터 로드하는 반도체 메모리 장치.
  6. 제 5 항에 있어서,
    상기 백업 동작을 수행하기 위한 펌웨어를 상기 호스트의 바이오스로부터 로드하는 반도체 메모리 장치.
  7. 제 4 항에 있어서,
    상기 백업 동작을 수행하기 위한 펌웨어를 메모리 컨트롤러로부터 로드하는 반도체 메모리 장치.
  8. 제 4 항에 있어서,
    상기 메모리 셀 어레이는 호스트 보호 영역(HPA)을 포함하고, 상기 호스트 보호 영역에 상기 백업 동작을 수행하기 위한 펌웨어를 저장하는 반도체 메모리 장치.
  9. 제 1 항에 있어서,
    상기 메모리 셀 어레이는 호스트 보호 영역(HPA)을 포함하고, 상기 호스트 보호 영역에 호스트의 부팅을 위한 부팅 이미지를 저장하는 반도체 메모리 장치.
  10. 제 9 항에 있어서,
    상기 사용자 영역 내의 부팅 이미지가 손상된 경우, 상기 호스트의 부팅을 위해 상기 호스트 보호 영역에 저장된 부팅 이미지를 상기 호스트에 제공하는 반도체 메모리 장치.
KR1020080101097A 2008-09-30 2008-10-15 예비 영역을 가지는 반도체 메모리 장치 KR101552207B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/585,935 US8327066B2 (en) 2008-09-30 2009-09-29 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
US13/067,434 US8904088B2 (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 (2)

Application Number Priority Date Filing Date Title
US13682208P 2008-10-07 2008-10-07
US61/136,822 2008-10-07

Publications (2)

Publication Number Publication Date
KR20100039181A true KR20100039181A (ko) 2010-04-15
KR101552207B1 KR101552207B1 (ko) 2015-09-14

Family

ID=42215784

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020080101093A KR20100039179A (ko) 2008-09-30 2008-10-15 메모리 장치의 상태를 검사하는 메모리 시스템, 저장 장치,그리고 메모리 컨트롤러
KR1020080101095A KR101522402B1 (ko) 2008-09-30 2008-10-15 반도체 디스크 장치 및 그것의 데이터 관리 방법
KR1020080101097A KR101552207B1 (ko) 2008-09-30 2008-10-15 예비 영역을 가지는 반도체 메모리 장치
KR1020080101098A KR101546072B1 (ko) 2008-09-30 2008-10-15 반도체 디스크 장치, 그것을 포함하는 컴퓨팅 시스템, 그리고 그것의 동작 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020080101093A KR20100039179A (ko) 2008-09-30 2008-10-15 메모리 장치의 상태를 검사하는 메모리 시스템, 저장 장치,그리고 메모리 컨트롤러
KR1020080101095A KR101522402B1 (ko) 2008-09-30 2008-10-15 반도체 디스크 장치 및 그것의 데이터 관리 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020080101098A KR101546072B1 (ko) 2008-09-30 2008-10-15 반도체 디스크 장치, 그것을 포함하는 컴퓨팅 시스템, 그리고 그것의 동작 방법

Country Status (1)

Country Link
KR (4) KR20100039179A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140094170A (ko) * 2013-01-21 2014-07-30 삼성전자주식회사 메모리 시스템
KR20150133913A (ko) * 2014-05-20 2015-12-01 삼성전자주식회사 메모리 컨트롤러의 동작 방법
US9460006B2 (en) 2013-03-15 2016-10-04 Samsung Electronics Co., Ltd. Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same
KR20200028493A (ko) * 2017-08-07 2020-03-16 마이크론 테크놀로지, 인크 메모리 내 데이터 복원 작업의 수행

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678571B1 (ko) * 2010-10-05 2016-11-22 삼성전자주식회사 컴퓨팅 시스템의 부팅방법
KR101300443B1 (ko) * 2011-09-22 2013-08-27 서울대학교산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법
KR20140066391A (ko) 2012-11-23 2014-06-02 삼성전자주식회사 서든 파워 오프 감지 회로를 포함하는 불휘발성 메모리 장치 및 그것의 서든 파워 오프 감지 방법
US9766818B2 (en) * 2014-12-31 2017-09-19 Samsung Electronics Co., Ltd. Electronic system with learning mechanism and method of operation thereof
WO2017026861A1 (ko) * 2015-08-13 2017-02-16 주식회사 바른전자 온도에 따라 색깔이 가변되는 메모리카드
KR101708236B1 (ko) 2015-10-23 2017-02-20 전자부품연구원 로컬 처리 장치 및 그 데이터 송수신 방법
KR102450555B1 (ko) * 2015-11-09 2022-10-05 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
KR102656190B1 (ko) * 2016-11-24 2024-04-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
KR102568896B1 (ko) * 2018-04-19 2023-08-21 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR102518095B1 (ko) 2018-09-12 2023-04-04 삼성전자주식회사 스토리지 장치 및 시스템
KR20200072854A (ko) 2018-12-13 2020-06-23 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작방법
KR102211122B1 (ko) 2018-12-20 2021-02-02 삼성전자주식회사 스토리지 장치 및 스토리지 시스템
KR20220036468A (ko) 2020-09-16 2022-03-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260156B1 (en) 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US8549226B2 (en) * 2004-05-14 2013-10-01 Hewlett-Packard Development Company, L.P. Providing an alternative caching scheme at the storage area network level
JP4151977B2 (ja) * 2005-03-16 2008-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 先読み装置、先読み方法、および先読みプログラム
US7596656B2 (en) 2006-09-28 2009-09-29 Sandisk Corporation Memory cards with end of life recovery and resizing

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140094170A (ko) * 2013-01-21 2014-07-30 삼성전자주식회사 메모리 시스템
US9460006B2 (en) 2013-03-15 2016-10-04 Samsung Electronics Co., Ltd. Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same
KR20150133913A (ko) * 2014-05-20 2015-12-01 삼성전자주식회사 메모리 컨트롤러의 동작 방법
KR20200028493A (ko) * 2017-08-07 2020-03-16 마이크론 테크놀로지, 인크 메모리 내 데이터 복원 작업의 수행
EP3665579A4 (en) * 2017-08-07 2021-04-21 Micron Technology, Inc. PERFORMING STORED DATA RESTORATION OPERATIONS
US11036593B2 (en) 2017-08-07 2021-06-15 Micron Technology, Inc. Performing data restore operations in memory
US11599430B2 (en) 2017-08-07 2023-03-07 Micron Technology, Inc. Performing data restore operations in memory

Also Published As

Publication number Publication date
KR20100039180A (ko) 2010-04-15
KR101552207B1 (ko) 2015-09-14
KR20100039179A (ko) 2010-04-15
KR20100039182A (ko) 2010-04-15
KR101522402B1 (ko) 2015-05-26
KR101546072B1 (ko) 2015-08-21

Similar Documents

Publication Publication Date Title
KR20100039181A (ko) 예비 영역을 가지는 반도체 메모리 장치
US11830546B2 (en) Lifetime mixed level non-volatile memory system
KR101624969B1 (ko) 메모리 시스템 및 그것의 배드 블록 관리 방법
US10289408B2 (en) Managing wear of system areas of storage devices
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
US8234466B2 (en) Flash memory storage system applying SLC NAND flash memory and MLC NAND flash memory and data writing method thereof
CN105718530B (zh) 文件存储系统及其文件存储控制方法
KR100946286B1 (ko) 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템
US8984219B2 (en) Data storage device and method of writing data in the same
KR20100097456A (ko) 메모리 시스템 및 그것의 플래시 변화 계층의 주소 할당 방법
KR101581859B1 (ko) 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법
KR20140000751A (ko) 데이터 저장 장치의 동작 방법
KR20090042035A (ko) 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
US8819350B2 (en) Memory system
KR20080096228A (ko) 플래쉬 메모리 장치 및 플래쉬 메모리 시스템
US11687262B2 (en) Memory system and method of operating the same
KR20100133710A (ko) 메모리 시스템 및 그것의 코드 데이터 로딩 방법
CN104423888A (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
TWI718710B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
KR20090102192A (ko) 메모리 시스템 및 그것의 데이터 저장 방법
CN112328507B (zh) 根据取消映射命令管理快闪转换层表更新的存储器子系统
US20130275655A1 (en) Memory management method and memory controller and memory storage device using the same
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
US20190265910A1 (en) Memory system
KR20220114078A (ko) 캐시의 데이터 블록의 기록 모드 변경을 기반으로 한 미디어 관리 동작 수행

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: 20180831

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 5