KR20170053487A - 메모리 장치 및 이의 동작 방법 - Google Patents

메모리 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20170053487A
KR20170053487A KR1020150156078A KR20150156078A KR20170053487A KR 20170053487 A KR20170053487 A KR 20170053487A KR 1020150156078 A KR1020150156078 A KR 1020150156078A KR 20150156078 A KR20150156078 A KR 20150156078A KR 20170053487 A KR20170053487 A KR 20170053487A
Authority
KR
South Korea
Prior art keywords
data
memory blocks
amount
memory
sub
Prior art date
Application number
KR1020150156078A
Other languages
English (en)
Other versions
KR102468992B1 (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 KR1020150156078A priority Critical patent/KR102468992B1/ko
Priority to US15/095,284 priority patent/US10572152B2/en
Priority to CN201610289220.XA priority patent/CN106683698B/zh
Publication of KR20170053487A publication Critical patent/KR20170053487A/ko
Priority to US16/736,710 priority patent/US20200142606A1/en
Application granted granted Critical
Publication of KR102468992B1 publication Critical patent/KR102468992B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0441Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing multiple floating gate devices, e.g. separate read-and-write FAMOS transistors with connected floating gates
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/75Array having a NAND structure comprising, for example, memory cells in series or memory elements in series, a memory element being a memory cell in parallel with an access transistor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

본 기술은 다수의 메인 메모리 블록들 및 상기 메인 메모리 블록에 포함되는 다수의 서브 메모리 블록들을 포함하는 메모리 셀 어레이; 상기 메인 메모리 블록들 또는 상기 서브 메모리 블록들의 프로그램 동작을 수행하며, 상기 프로그램 동작을 위해 로딩된 데이터 량을 검출하여 데이터 량 정보를 출력하도록 구성된 주변 회로들; 및 상기 프로그램 동작시, 상기 데이터 량 정보에 따라 상기 메인 메모리 블록들 또는 상기 서브 메모리 블록들 중 적어도 하나의 메모리 블록을 선택하고, 상기 선택된 메모리 블록의 상기 프로그램 동작이 수행되도록 상기 주변 회로들을 제어하도록 구성된 제어 로직을 포함하는 메모리 장치 및 이의 동작 방법을 포함한다.

Description

메모리 장치 및 이의 동작 방법{Memory device and operating method therefof}
본 발명은 메모리 장치 및 이의 동작 방법에 관한 것으로, 보다 구체적으로는 프로그램 동작을 수행할 수 있는 메모리 장치 및 이의 동작 방법에 관한 것이다.
메모리 시스템은 데이터가 저장되는 메모리 장치와, 메모리 장치의 전반적인 동작을 제어하는 메모리 컨트롤러를 포함한다.
메모리 장치는 다수의 메인 메모리 블록들을 포함하는 메모리 셀 어레이와, 메인 메모리 블록들 중 선택된 메모리 블록의 프로그램, 리드 또는 소거 동작을 수행하도록 구성된 주변 회로들과, 주변 회로들을 제어하도록 구성된 제어 로직을 포함할 수 있다.
프로그램 동작을 예를 들어 설명하면, 제어 로직은 프로그램 커맨드가 수신되면, 메인 메모리 블록들 중 프로그램 동작이 수행될 메인 메모리 블록을 선택하고, 선택된 메인 메모리 블록의 프로그램 동작을 수행되도록 주변 회로를 제어한다.
프로그램 동작시 메모리 장치에 로딩(loading)되는 데이터의 량은 프로그램 동작에 따라 다를 수 있다. 하지만, 메인 메모리 블록들이 서로 동일하게 구성되기 때문에, 로딩되는 데이터의 량이 적을수록 미사용되는 저장 공간이 증가할 수 있다. 이처럼, 프로그램 동작이 완료된 메인 메모리 블록 내에 미사용되는 저장 공간이 많을수록 메모리 장치의 데이터 저장 효율이 저하될 수 있다.
또한, 프로그램 동작이 완료된 메인 메모리 블록을 재사용하기 위해서는 해당 메인 메모리 블록의 소거 동작이 수행되어야 하므로, 메인 메모리 블록들의 싸이클링(cycling) 횟수가 증가할 수 있다.
본 발명의 실시예는 프로그램 동작시 로딩되는 데이터의 량에 따라 메모리 블록을 효율적으로 관리할 수 있는 메모리 장치 및 이의 동작 방법을 제공한다.
본 발명의 실시예에 따른 메모리 장치는, 다수의 메인 메모리 블록들 및 상기 메인 메모리 블록에 포함되는 다수의 서브 메모리 블록들을 포함하는 메모리 셀 어레이; 상기 메인 메모리 블록들 또는 상기 서브 메모리 블록들의 프로그램 동작을 수행하며, 상기 프로그램 동작을 위해 로딩된 데이터 량을 검출하여 데이터 량 정보를 출력하도록 구성된 주변 회로들; 및 상기 프로그램 동작시, 상기 데이터 량 정보에 따라 상기 메인 메모리 블록들 또는 상기 서브 메모리 블록들 중 적어도 하나의 메모리 블록을 선택하고, 상기 선택된 메모리 블록의 상기 프로그램 동작이 수행되도록 상기 주변 회로들을 제어하도록 구성된 제어 로직을 포함한다.
본 발명의 실시예에 따른 메모리 장치는, 다수의 페이지들이 포함된 메인 메모리 블록들; 상기 페이지들 중 선택된 페이지들의 프로그램 동작을 수행하도록 구성된 주변 회로들; 및 프로그램 동작을 위해 로딩된 데이터 량에 따라, 상기 페이지들의 일부를 그룹화하여 서브 메모리 블록으로 설정하고, 상기 서브 메모리 블록에 포함된 페이지들의 프로그램 동작이 수행되도록 상기 주변 회로들을 제어하도록 구성된 제어 로직을 포함한다.
본 발명의 실시예에 따른 메모리 장치의 동작 방법은, 다양한 저장 용량을 갖는 메모리 블록들의 어드레스 정보를 저장하는 단계; 프로그램 동작을 위한 데이터를 로딩하는 단계; 상기 로딩된 데이터의 량에 대응되는 데이터 량 정보와 상기 어드레스 정보에 따라 메모리 블록을 선택하는 단계; 및 상기 선택된 메모리 블록의 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 실시예에 따른 메모리 장치의 동작 방법은, 서로 다른 제1 내지 제N 용량들을 갖는 제1 내지 제N 메모리 블록들을 설정하는 단계; 프로그램 동작을 위한 데이터를 로딩하는 단계; 상기 로딩된 데이터의 량과 상기 제1 내지 제N 용량들을 비교하고, 상기 비교 결과에 따라 상기 제1 내지 제N 메모리 블록들 중 어느 하나를 선택하는 단계; 및 상기 제1 내지 제N 메모리 블록들 중 선택된 메모리 블록의 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 실시예에 따른 메모리 장치의 동작 방법은, 메모리 장치에 프로그램 데이터를 로딩하는 단계; 상기 로딩된 프로그램 데이터의 량에 따라, 메인 메모리 블록에 포함된 일부 페이지들을 서브 메모리 블록으로 설정하는 단계; 및 상기 서브 메모리 블록에 포함된 상기 페이지들의 프로그램 동작을 수행하는 단계를 포함한다.
본 기술은 프로그램 동작시 로딩되는 데이터의 량에 따라 메모리 블록을 효율적으로 관리할 수 있으므로, 데이터가 저장 가능한 용량을 용이하게 확보할 수 있다. 또한, 메모리 블록들의 싸이클링 횟수를 감소시킬 수 있으므로, 메모리 셀들의 스트레스를 감소시킬 수 있으며, 이로 인해 메모리 장치의 신뢰도를 개선할 수 있다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 메모리 장치를 구체적으로 설명하기 위한 도면이다.
도 3은 도 2의 제어 로직의 실시예를 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 서브 메모리 블록들의 설정 방법을 설명하기 위한 도면이다.
도 5 내지 도 8은 도 4의 메인 메모리 블록들 및 서브 메모리 블록들을 보다 구체적으로 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 10은 도 9의 프로그램 동작을 구체적으로 설명하기 위한 실시예의 순서도이다.
도 11은 도 9의 프로그램 동작을 구체적으로 설명하기 위한 다른 실시예의 순서도이다.
도 12는 도 9의 프로그램 동작을 구체적으로 설명하기 위한 다른 실시예의 순서도이다.
도 13은 본 발명의 다른 실시예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 14는 도 13의 실시예에 따른 서브 메모리 블록들의 설정 방법을 설명하기 위한 도면이다.
도 15는 본 발명의 다른 실시예에 따른 메모리 장치를 포함하는 메모리 시스템을 설명하기 위한 도면이다.
도 16은 본 발명의 실시예에 따른 메모리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 메모리 시스템(1100)은 데이터가 저장되는 메모리 장치(1110)와, 호스트(1200)의 제어에 따라 메모리 장치(1110)를 제어하는 메모리 컨트롤러(1120)를 포함할 수 있다.
호스트(1200)는 PCI-E(Peripheral Component Interconnect - Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜을 사용하여 메모리 시스템(1100)과 통신할 수 있다. 또한 호스트(1200)와 메모리 시스템(1100) 간의 인터페이스 프로토콜들은 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다른 인터페이스 프로토콜들 중 하나일 수 있다.
메모리 컨트롤러(1120)는 메모리 시스템(1100)의 동작을 전반적으로 제어하며, 호스트(1200)와 메모리 장치(1110) 사이의 데이터 교환을 제어한다. 예를 들면, 메모리 컨트롤러(1120)는 호스트(1200)의 요청에 따라 메모리 장치(1110)를 제어하여 데이터를 프로그램(program)하거나 리드(read)할 수 있다. 또한, 메모리 컨트롤러(1120)는 메모리 장치(1110)에 포함된 메인 메모리 블록들 및 서브 메모리 블록들의 정보를 저장하고, 프로그램 동작을 위해 로딩된 데이터 량에 따라 메인 메모리 블록 또는 서브 메모리 블록에 프로그램 동작이 수행되도록 메모리 장치(1110)를 선택할 수 있다. 실시예에 따라, 메모리 장치(1110)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR4(Low Power Double Data Rate4) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, LPDDR(Low Power DDR), RDRAM(Rambus Dynamic Random Access Memory) 또는 플래쉬 메모리(FLASH Memory)를 포함할 수 있다.
메모리 장치(1110)는 메모리 컨트롤러(1120)의 제어에 따라 프로그램, 리드 또는 소거 동작을 수행한다. 메모리 장치(1110)는 데이터가 저장되는 메인 메모리 블록들을 저장 용량이 서로 다른 다수의 서브 메모리 블록들로 구분할 수 있다. 프로그램 동작 수행시, 메모리 장치(1110)는 입력된 데이터 량에 따라 메인 메모리 블록 또는 서브 메모리 블록을 선택하고, 선택된 메인 메모리 블록 또는 서브 메모리 블록의 프로그램 동작을 수행할 수 있다.
도 2는 도 1의 메모리 장치를 구체적으로 설명하기 위한 도면이다.
도 2를 참조하여, 메모리 장치(1110)가 플래쉬 메모리인 경우를 예를 들어 설명하면 다음과 같다.
메모리 장치(1110)는 데이터가 저장되는 메모리 셀 어레이(100)와, 메모리 셀 어레이(100)에 데이터를 프로그램(program)하거나, 저장된 데이터를 리드(read)하거나, 데이터를 소거(erase)하도록 구성된 주변 회로들(200)과, 주변 회로들(200)을 제어하는 제어 로직(300)을 포함할 수 있다.
메모리 셀 어레이(100)는 다수의 메인 메모리 블록들(MB1~MBk; k는 양의 정수)을 포함할 수 있다. 메인 메모리 블록들에는 워드라인들(WL)과 비트라인들(BL)이 연결될 수 있다. 워드라인들(WL)은 메인 메모리 블록들(MB1~MBk) 각각에 연결될 수 있고, 비트라인들(BL)은 메인 메모리 블록들(MB1~MBk)에 공통으로 연결될 수 있다.
주변 회로들(200)는 전압 생성 회로(210), 로우 디코더(220), 페이지 버퍼부(230), 컬럼 디코더(240), 입출력 회로(250) 및 데이터 량 판단부(260)를 포함할 수 있다.
전압 생성 회로(210)는 동작 신호(OP_CMD)에 응답하여 프로그램, 리드 및 소거 동작에 사용되는 다양한 레벨을 갖는 동작 전압들(Vop)을 생성한다. 프로그램 동작을 예로 들면, 전압 생성 회로(210)는 다양한 레벨의 프로그램 전압들을 생성할 수 있으며, 프로그램 전압들 외에도 프로그램 동작에 필요한 다양한 레벨들을 갖는 동작 전압들(Vop)을 행성할 수 있다. 또한, 전압 생성 회로(210)는 동일한 메인 메모리 블록에 포함된 서브 메모리 블록들에 각각 인가될 수 있는 서로 다른 전압을 생성할 수 있다.
로우 디코더(220)는 로우 어드레스(RADD)에 응답하여 선택된 메인 메모리 블록 또는 선택된 서브 메모리 블록에 동작 전압들(Vop)을 전달한다.
페이지 버퍼부(230)는 비트라인들(BL)에 연결된 다수의 페이지 버퍼들(PB)을 포함한다. 프로그램 동작시, 페이지 버퍼들(PB)에는 외부로부터 수신된 프로그램 데이터가 각각 로딩(loading)되며, 페이지 버퍼들(PB)에 로딩된 프로그램 데이터는 프로그램 동작시 비트라인들(BL)의 전압을 결정하는데 사용될 수 있다.
컬럼 디코더(240)는 컬럼 어드레스(CADD)에 응답하여 페이지 버퍼들(PB)과 데이터를 주고받을 수 있다.
입출력 회로(250)는 메모리 컨트롤러(도 1의 1120)로부터 전달받은 커맨드(CMD)를 제어 로직(300)에 전달하거나, 컬럼 디코더(240) 또는 메모리 컨트롤러(1120)와 데이터(DATA)를 주고받는다.
데이터 량 판단부(260)는 프로그램 동작시 메모리 장치(1110)에 입력되는 데이터 량을 판단하여 데이터 량 정보(DCP)를 출력할 수 있다. 데이터 량을 판단하기 위한 데이터는 컬럼 디코더(240)에서 페이지 버퍼부(230)로 전송되는 데이터가 사용될 수 있으나, 입출력 회로(250)에 입력되는 데이터(DATA) 또는 입출력 회로(250)에서 컬럼 디코더(240)로 전송되는 데이터가 사용될 수도 있다. 본 실시예에서는, 컬럼 디코더(240)에서 페이지 버퍼부(230)로 전송되는 데이터로부터 데이터 량을 판단하도록 한다. 데이터 량 판단부(260)는 컬럼 디코더(240)에서 페이지 버퍼부(230)로 로딩되는 데이터 량을 판단하고, 데이터 량에 대응되는 데이터 량 정보(DCP)를 출력한다. 예를 들면, 프로그램 동작시 페이지 버퍼부(230)에 로딩되는 데이터 량은 1 페이지(page) 당 8KB일 수 있다. 따라서, 10 페이지를 프로그램하는 경우, 로딩되는 데이터 량은 80KB가 될 수 있고, 100 페이지를 프로그램하는 경우, 로딩되는 데이터 량은 800KB가 될 수 있다. 따라서, 데이터 량 판단부(260)는 페이지 버퍼부(230)에 로딩되는 데이터 량에 따라 데이터 량 정보(DCP)를 출력할 수 있다.
제어 로직(300)은 커맨드(CMD) 및 데이터 량 정보(DCP)에 응답하여 동작 신호(OP_CMD), 로우 어드레스(RADD), 페이지 버퍼 제어 신호(PBSIGNALS)를 출력하여 주변 회로들(200)을 제어한다. 특히, 제어 로직(300)은 프로그램 동작에 대한 커맨드(CMD)가 수신되면, 데이터 량 정보(CDP)에 따라 로우 어드레스(RADD)를 출력한다. 예를 들면, 제어 로직(300)은 프로그램 데이터 량이 적으면, 저장 용량이 작은 서브 메모리 블록에 해당되는 로우 어드레스를 출력하고, 프로그램 데이터 량이 많으면, 저장 용량이 큰 서브 메모리 블록 또는 메인 메모리 블록에 해당되는 로우 어드레스(RADD)를 출력한다.
제어 로직(300)은 프로그램 동작을 위해 메모리 장치(1110)에 로딩된 데이터 량에 따라 메인 메모리 블록 또는 서브 메모리 블록의 어드레스를 출력하기 위하여, 다양한 저장 용량을 갖는 메인 메모리 블록들 및 서브 메모리 블록들의 어드레스들의 정보를 포함한다. 제어 로직(300)을 구체적으로 설명하면 다음과 같다.
도 3은 도 2의 제어 로직의 실시예를 설명하기 위한 도면이다.
도 3을 참조하면, 제어 로직(300)은 데이터 량 정보(DCP)에 따라 선택된 어드레스 정보(ADD_S)를 출력하도록 구성된 어드레스 결정부(320)와, 커맨드(CMD) 및 어드레스 정보(ADD_S)에 응답하여 제어 신호들(OP_CMD, RADD, PBSIGNALS 및 CADD)을 출력하도록 구성된 제어 신호 출력 회로(330)를 포함할 수 있다.
어드레스 결정부(320)는 서로 다른 저장 용량을 갖는 메인 메모리 블록들 및 서브 메모리 블록들의 어드레스 정보(ADD_S)가 저장되는 어드레스 저장부(321)를 포함할 수 있다. 어드레스 저장부(321)는 서로 다른 저장 용량을 갖는 메인 메모리 블록 및 서브 메모리 블록 중, 프로그램 가능 블록과 프로그램 불가능 블록의 어드레스 정보를 구분하여 저장할 수 있다. '표 1'은 어드레스 저장부(321)의 일 예이다.
ADD_S
프로그램 가능 블록 프로그램 불가능 블록
CP1 MB1
CP2 S_MB1, S_MB3 S_MB2
CP3 S_MB6, S_MB7 SMB5, SMB8, S_MB9
'표 1'을 참조하면, CP1~CP3은 서로 다른 저장 용량을 의미하고, MB1은 제1 메인 메모리 블록, S_MB1~S_MB9는 제1 내지 제9 서브 메모리 블록들을 의미한다. CP1울 가장 큰 저장 용량으로 가정하고, CP2을 CP1보다 적은 저장 용량으로 가정하고, CP3을 CP2보다 적은 저장 용량으로 가정한다.
'표 1'에 저장된 어드레스 정보에 의하면, 저장 용량이 CP1인 메모리 블록들 중 프로그램 가능 블록은 제1 메모리 블록(MB1)이고, 저장 용량이 CP2인 메모리 블록들 중 프로그램 가능 블록은 제1 및 제3 서브 메모리 블록들(S_MB1 및 S_MB3)이고, 프로그램 불가능 블록은 제2 서브 메모리 블록(S_MB2)이고, 저장 용량이 CP3인 메모리 블록들 중 프로그램 가능 블록은 제6 및 제7 서브 메모리 블록들(S_MB6 및 S_MB7)이고, 프로그램 불가능 블록은 제5, 제8 및 제9 서브 메모리 블록들(S_MB5, S_MB8 및 S_MB9)임을 알 수 있다.
어드레스 결정부(320)는 데이터 량 정보(DCP)와 어드레스 저장부(321)에 저장된 저장 용량 정보(CP1~CP3)를 서로 비교하고, 선택된 저장 용량을 갖는 프로그램 가능 블록들 중 어느 하나의 어드레스 정보(ADD_S)를 출력한다.
제어 신호 출력 회로(330)는 프로그램 동작에 대한 커맨드(CMD)가 수신되면, 프로그램 동작에 대한 동작 신호(OP_CMD), 페이지 버퍼 제어 신호들(PBSIGNALS) 및 컬럼 어드레스(CADD)를 출력하며, 어드레스 결정부(320)에서 출력된 어드레스 정보(ADD_S)에 따라 로우 어드레스(RADD)를 출력하여 주변 회로들(도 2의 200)을 제어할 수 있다. 메인 메모리 블록들은 다음과 같이 서로 다른 저장 용량을 갖도록 구분될 수 있는데, 다음의 도면을 참조하여 설명하도록 한다.
도 4는 본 발명의 실시예에 따른 서브 메모리 블록들의 설정 방법을 설명하기 위한 도면이다.
도 4를 참조하여, 네 개의 메인 메모리 블록들(MB1~MB4)을 예를 들어 설명하도록 한다.
제1 내지 제4 메인 메모리 블록들(MB1~MB4)의 데이터 저장 용량을 각각 제1 용량(CP1)이라 가정한다. 즉, 제1 내지 제4 메인 메모리 블록들(MB1~MB4)은 서로 동일한 저장 용량을 가질 수 있다.
제1 메인 메모리 블록(MB1)은 서브 메모리 블록들을 포함하지 않도록 설정될 수 있다.
제2 메인 메모리 블록(MB2)은 서로 동일한 저장 용량을 갖는 제1 및 제2 서브 메모리 블록들(S_MB1 및 S_MB2)을 포함할 수 있다. 제1 및 제2 서브 메모리 블록들(S_MB1 S_MB2)은 각각 제1 용량보다 작은 제2 용량(CP2)을 가질 수 있다. 예를 들면, 제2 용량(CP2)은 제1 용량(CP1)의 1/2 일수 있다. 따라서, 제1 및 제2 서브 메모리 블록들(S_MB1 및 S_MB2)의 용량을 합한 용량은 제2 메인 메모리 블록(MB2)의 저장 용량인 제1 용량(CP1)이 될 수 있다.
제3 메인 메모리 블록(MB3)은 제3 내지 제5 서브 메모리 블록들(S_MB3~S_MB5)을 포함할 수 있다. 제3 서브 메모리 블록(S_MB3)은 제2 용량(CP2)을 가질 수 있고, 제4 및 제5 서브 메모리 블록들(S_MB4 및 S_MB5) 각각은 제2 용량(CP2)보다 작은 제3 용량(CP3)을 가질 수 있다. 예를 들면, 제3 용량(CP3)은 제2 용량(CP2)의 1/2일 수 있다. 따라서, 제3 내지 제5 서브 메모리 블록들(S_MB3~S_MB5)의 용량을 합한 용량은 제3 메인 메모리 블록(MB3)의 저장 용량인 제1 용량(CP1)이 될 수 있다.
제4 메인 메모리 블록(MB4)은 제6 내지 제9 서브 메모리 블록들(S_MB6~S_MB9)을 포함할 수 있다. 제6 내지 제9 서브 메모리 블록들(S_MB6~S_MB9)은 각각 제3 용량(CP3)을 가질 수 있다. 따라서, 제6 내지 제9 서브 메모리 블록들(S_MB6~S_MB9)의 용량을 합한 용량은 제4 메인 메모리 블록(MB4)의 저장 용량인 제1 용량(CP1)이 될 수 있다.
상술한 바와 같이, 다양한 저장 용량을 갖는 서브 메모리 블록들을 설정하고, 프로그램 동작시 로딩되는 데이터 량에 따라 서브 메모리 블록들을 선택하여 프로그램 동작을 수행하면, 프로그램/소거 싸이클링(cycling) 동작도 서브 메모리 블록 단위로 수행될 수 있다. 따라서, 비선택된 서브 메모리 블록들의 싸이클링 횟수가 감소될 수 있으므로, 싸이클링 횟수 증가로 인한 메모리 셀들의 스트레스를 증가를 감소시킬 수 있다.
도 4에서는 서브 메모리 블록들이 페이지 단위로 구분되었으나, 실시예에 따라 서브 메모리 블록들은 스트링(string) 또는 컬럼(column) 단위로 구분될 수도 있다.
상술한 실시예들 중에서, 페이지 단위로 서브 메모리 블록들을 구분하는 실시예를 구체적으로 설명하면 다음과 같다.
도 5 내지 도 8은 도 4의 메인 메모리 블록들 및 서브 메모리 블록들을 보다 구체적으로 설명하기 위한 도면으로써, 도 5는 도 4의 제1 메인 메모리 블록(MB1)을 설명하기 위한 도면이고, 제6은 도 4의 제2 메인 메모리 블록(MB2)을 설명하기 위한 도면이고, 도 7은 도 4의 제3 메인 메모리 블록(MB3)을 설명하기 위한 도면이고, 도 8은 도 4의 제4 메인 메모리 블록(MB4)을 설명하기 위한 도면이다.
도 5를 참조하면, 제1 메모리 블록(MB1)은 비트라인들(BL1~BLi; i는 양의 정수)과 소오스 라인(SL) 사이에 연결된 다수의 스트링들(ST)을 포함할 수 있다. 비트라인들(BL1~BLi)은 스트링들(ST)에 각각 연결되고, 소오스 라인(SL)은 스트링들(ST)에 공통으로 연결될 수 있다. 스트링들(ST)은 서로 동일하게 구성되므로, 제1 비트라인(BL1)에 연결된 스트링(ST)을 예를 들어 설명하도록 한다.
스트링(ST)은 소오스 라인(SL)과 제1 비트라인(BL1) 사이에서 서로 직렬로 연결된 소오스 셀렉트 트랜지스터(SST), 제1 내지 제16 메모리 셀들(F1~F16) 및 드레인 셀렉트 트랜지스터(DST)를 포함할 수 있다. 소오스 셀렉트 트랜지스터(SST)의 소오스(source)는 소오스 라인(SL)에 연결되고, 드레인 셀렉트 트랜지스터(DST)의 드레인(drain)은 제1 비트라인(BL1)에 연결되고, 제1 내지 제16 메모리 셀들(F1~F16)은 소오스 셀렉트 트랜지스터(SST)와 드레인 셀렉트 트랜지스터(DST) 사이에 연결된다. 서로 다른 스트링들(ST)에 포함된 소오스 셀렉트 트랜지스터들(SST)의 게이트들은 소오스 셀렉트 라인(SSL)에 연결되고, 드레인 셀렉트 트랜지스터들(DST)의 게이트들은 드레인 셀렉트 라인(DSL)에 연결되고, 제1 내지 제16 메모리 셀들(F1~F16)의 게이트들은 제1 내지 제16 워드라인들(WL1~WL16)에 연결된다. 하나의 스트링(ST) 내에 포함된 소오스 셀렉트 트랜지스터(SST), 드레인 셀렉트 트랜지스터(DST) 및 제1 내지 제16 메모리 셀들(F1~F16)의 개수는 메모리 장치에 따라 다를 수 있다.
도 6을 참조하면, 제2 메모리 블록(MB2)은 제2 용량(CP2)을 각각 갖는 제1 및 제2 서브 메모리 블록들(S_MB1 및 S_MB2)을 포함하지만, 제1 메모리 블록(MB1)과 동일하게 구성된다. 제1 및 제2 서브 메모리 블록들(S_MB1 및 S_MB2)이 서로 다른 블록들로 구분되기 위해서는, 각각의 서브 메모리 블록들에 서로 다른 로우 어드레스가 지정된다.
도 7을 참조하면, 제3 메모리 블록(MB3)은 제2 용량(CP2)을 갖는 제3 서브 메모리 블록(S_MB3)과 제3 용량(CP3)을 각각 갖는 제4 및 제5 서브 메모리 블록들(S_MB4 및 S_MB5)을 포함하지만, 제1 메모리 블록(MB1)과 동일하게 구성된다. 제3 내지 제5 서브 메모리 블록들(S_MB3 내지 S_MB5)이 서로 다른 블록들로 구분되기 위해서는, 각각의 서브 메모리 블록들에 서로 다른 로우 어드레스가 지정된다.
도 8을 참조하면, 제4 메모리 블록(MB4)은 제3 용량(CP3)을 각각 갖는 제6 내지 제9 서브 메모리 블록들(S_MB6 내지 S_MB9)을 포함하지만, 제1 메모리 블록(MB1)과 동일하게 구성된다. 제6 내지 제8 서브 메모리 블록들(S_MB6 내지 S_MB9)이 서로 다른 블록들로 구분되기 위해서는, 각각의 서브 메모리 블록들에 서로 다른 로우 어드레스가 지정된다.
상술한 제1 메인 메모리 블록(MB1)과 제1 내지 제9 서브 메모리 블록들(S_MB1~S_MB9) 각각에 지정된 어드레스 정보는 어드레스 저장부(도 3의 321)에 저장될 수 있다.
도 9는 본 발명의 실시예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 9를 참조하면, 다양한 용량을 갖는 서브 메모리 블록들과 메인 메모리 블록들이 설정된 후, 데이터가 메모리 장치(도 2의 1110)에 로딩된다(S91). 예를 들면, 데이터는 메모리 장치(1110)의 페이지 버퍼부(도 2의 230)에 로딩될 수 있다. 페이지 버퍼부(230)에 데이터가 로딩되면, 로딩된 데이터 량에 따라 프로그램 동작을 수행할 메모리 블록이 선택된다(S92). 특히, 메모리 블록은 로딩된 데이터의 량과 각 메모리 블록들의 저장 용량을 고려하여 선택될 수 있다. 프로그램 동작이 수행될 메모리 블록이 선택되면, 선택된 메모리 블록의 프로그램 동작이 수행된다(S93).
도 10은 도 9의 프로그램 동작을 구체적으로 설명하기 위한 실시예의 순서도이다.
도 10을 참조하면, 프로그램 동작을 위한 데이터가 메모리 장치(도 2의 1110)에 로딩된다(S101). 이때, 메모리 장치(1110)에 로딩된 데이터 량 정보(DCP)가 데이터 량 판단부(도 2의 260)에 의해 검출된다.
메인 메모리 블록들과 서브 메모리 블록들 중, 저장 용량이 가장 작은 제3 용량(CP3)과 데이터 량 정보(DCP)를 서로 비교한다(S102). 예를 들면, 로딩된 데이터 량이 제3 용량(CP3) 이하인지를 판단한다.
로딩된 데이터 량이 제3 용량(CP3)보다 이하이면(예), 저장 용량이 제3 용량(CP3)인 서브 메모리 블록들 중 어느 하나가 선택된다(S103). 즉, 프로그램 동작을 위해 로딩된 데이터 량이 제3 용량(CP3)보다 적기 때문에, 제3 용량(CP3)을 갖는 서브 메모리 블록에 데이터가 프로그램될 수 있다. 따라서, 제3 용량(CP3)을 갖는 서브 메모리 블록들 중 어느 하나가 선택된다
로딩된 데이터 량이 제3 용량(CP3)을 초과하면(아니오), 저장 용량이 제3 용량(CP3)보다 큰 제2 용량(CP2)과 데이터 량 정보(DCP)를 서로 비교한다(S104).
로딩된 데이터 량이 제2 용량(CP2)보다 이하이면(예), 저장 용량이 제2 용량(CP2)인 서브 메모리 블록들 중 어느 하나가 선택된다(S105). 즉, 프로그램 동작을 위해 로딩된 데이터 량이 제2 용량(CP2)보다 적기 때문에, 제2 용량(CP2)을 갖는 선택된 서브 메모리 블록에 데이터가 프로그램될 수 있다.
로딩된 데이터 량이 제2 용량(CP2)을 초과하면(아니오), 저장 용량이 가장 큰 제1 용량(CP1)을 갖는 메인 메모리 블록들 중 어느 하나가 선택된다(S106).
이어서, S103, S105 또는 S106 단계에서 선택된 메인 메모리 블록 또는 서브 메모리 블록의 프로그램 동작이 수행된다(S107).
도 11은 도 9의 프로그램 동작을 구체적으로 설명하기 위한 다른 실시예의 순서도이다.
도 11을 참조하면, 프로그램 동작을 위한 데이터가 메모리 장치(도 2의 1110)에 로딩된다(S111). 이때, 메모리 장치(1110)에 로딩된 데이터 량 정보(DCP)가 데이터 량 판단부(도 2의 260)에 의해 검출된다.
메인 메모리 블록들과 서브 메모리 블록들 중, 저장 용량이 중간인 제2 용량(CP2)과 데이터 량 정보(DCP)를 서로 비교한다(S112). 예를 들면, 로딩된 데이터 량이 제2 용량(CP2) 이상인지를 판단한다.
로딩된 데이터 량이 제2 용량(CP2)보다 이상이면(예), 저장 용량이 가장 큰 제1 용량(CP1)을 갖는 메인 메모리 블록들 중 어느 하나가 선택된다(S113). 즉, 프로그램 동작을 위해 로딩된 데이터 량이 제2 용량(CP2)보다 크기 때문에, 제2 용량(CP2)보다 큰 제1 용량(CP1)을 갖는 메인 메모리 블록에 데이터가 프로그램될 수 있다. 따라서, 제1 용량(CP1)을 갖는 메인 메모리 블록들 중 어느 하나가 프로그램 대상 블록으로 선택된다.
로딩된 데이터 량이 제2 용량(CP2)보다 미만이면(아니오), 제3 용량(CP3)과 데이터 량 정보(DCP)를 서로 비교한다(S114). 예를 들면, 로딩된 데이터 량이 제3 용량(CP3)보다 이상인지를 판단한다.
로딩된 데이터 량이 제3 용량(CP3)보다 이상이면(예), 저장 용량이 제2 용량(CP2)을 갖는 서브 메모리 블록들 중 어느 하나가 선택된다(S115). 즉, 프로그램 동작을 위해 로딩된 데이터 량이 제2 용량(CP2)보다 적고 제3 용량(CP3)보다 크기 때문에, 제2 용량(CP2)을 갖는 선택된 서브 메모리 블록에 로딩된 데이터가 프로그램될 수 있다.
로딩된 데이터 량이 제3 용량(CP3)보다 미만이면(아니오), 저장 용량이 가장 작은 제3 용량(CP3)을 갖는 서브 메모리 블록들 중 어느 하나가 선택된다(S116).
이어서, S113, S115 또는 S116 단계에서 선택된 메인 메모리 블록 또는 서브 메모리 블록의 프로그램 동작이 수행된다(S117).
도 12는 도 9의 프로그램 동작을 구체적으로 설명하기 위한 다른 실시예의 순서도이다.
도 12를 참조하면, 프로그램 동작을 위한 데이터가 메모리 장치(도 2의 1110)에 로딩된다(S121). 이때, 메모리 장치(1110)에 로딩된 데이터 량 정보(DCP)가 데이터 량 판단부(도 2의 260)에 의해 검출된다.
프로그램 가능한 메모리 블록들 중, 로딩된 데이터 량보다 저장 용량이 큰 메모리 블록이 존재하는지를 판단한다(S122).
로딩된 데이터 량보다 저장 용량이 큰 메모리 블록이 존재하면(예), 로딩된 데이터 량보다 저장 용량이 큰 메모리 블록들 중 어느 하나가 선택된된다(S123).
로딩된 데이터 량보다 저장 용량이 큰 메모리 블록이 존재하지 않으면(아니오), 프로그램 가능한 다수의 메모리 블록들이 선택된다(S124). 여기서, 다수의 메모리 블록들의 저장 용량을 모두 합한 용량이 로딩된 데이터 량보다 크도록 메모리 블록들이 선택된다.
이어서, 선택된 메모리 블록 또는 다수의 메모리 블록들의 프로그램 동작이 수행된다(S125). 다수의 메모리 블록들이 선택된 경우, 어드레스가 낮은 선택된 메모리 블록부터 순차적으로 프로그램 동작이 수행될 수 있다.
도 9 내지 도 12에서 상술한 프로그램 방법에서는, 데이터가 로딩되기 이전에, 다양한 용량을 갖는 서브 메모리 블록들이 미리 설정되고, 설정된 서브 메모리 블록들 또는 메인 메모리 블록들의 용량과 로딩된 데이터 량의 비교 결과에 따라 서브 메모리 블록 또는 메인 메모리 블록이 선택된다.
다음으로 설명될 다른 실시예에서는, 서브 메모리 블록들이 미리 설정되지 않고, 데이터가 로딩된 이후에 로딩된 데이터 량에 따라 가변적으로 서브 메모리 블록들이 설정된다. 다음의 도면을 참조하여 다른 실시예를 구체적으로 설명하도록 한다.
도 13은 본 발명의 다른 실시예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 13을 참조하면, 프로그램 동작을 위한 데이터가 메모리 장치(도 2의 1110)에 로딩된다(S131). 이때, 메모리 장치(1110)에 로딩된 데이터 량 정보(DCP)가 데이터 량 판단부(도 2의 260)에 의해 검출된다.
메모리 장치(1110)의 제어 로직(300)은 데이터 량 판단부(260)로부터 수신된 데이터 량에 따라, 프로그램 가능한 메인 메모리 블록들 중 어느 하나를 다수의 서브 메모리 블록들로 구분한다(S132). 예를 들면, 선택된 메인 메모리 블록에 포함된 메모리 셀들 중 일부 메모리 셀들이 서브 메모리 블록으로 설정될 수 있다. 이때, 서브 메모리 블록의 저장 용량은 로딩된 데이터 량보다 크도록 설정된다. 설정된 서브 메모리 블록은 프로그램 동작시 선택된 서브 메모리 블록이 된다. 선택된 메인 메모리 블록에 포함된 메모리 셀들 중, 선택된 서브 메모리 블록에 포함되지 않은 나머지 메모리 셀들은 다양한 용량을 갖는 다른 서브 메모리 블록들로 추가적으로 설정될 수 있다. 나머지 메모리 셀들을 다른 서브 메모리 블록들로 설정하는 단계는 생략될 수 있다.
이어서, 선택된 서브 메모리 블록의 프로그램 동작이 수행된다(S133).
상술한 프로그램 동작에서는, 데이터 량에 따라 서브 메모리 블록의 용량이 정해지는데, 이처럼 서브 메모리 블록의 용량을 가변하는 방법을 구체적으로 설명하면 다음과 같다.
도 14는 도 13의 실시예에 따른 서브 메모리 블록들의 설정 방법을 설명하기 위한 도면이다.
도 14를 참조하면, 프로그램 동작이 수행되기 이전인 소거 상태인 메인 메모리 블록(141)의 저장 용량을 제1 용량(CP1)이라 가정한다.
제1 프로그램 동작을 위한 데이터가 메모리 장치(도 2의 1110)에 로딩된다(141a). 이때, 로딩된 데이터 량을 제1 데이터 량(DCP1)이라 가정한다.
메인 메모리 블록(141)에 포함된 일부 메모리 셀들이 제1 서브 메모리 블록(142)으로 설정될 수 있다. 예를 들면, 제1 서브 메모리 블록(142)에 포함된 메모리 셀들은 페이지(page) 단위로 구분될 수 있다. 페이지는 서로 동일한 워드라인에 연결된 메모리 셀들의 그룹을 의미하며, 메인 메모리 블록에는 다수의 페이지들이 포함된다. 제1 서브 메모리 블록(142)의 저장 용량은 제1 데이터 량(DCP1)보다 커야한다. 즉, 제1 서브 메모리 블록(142)은 적어도 제1 데이터 량(DCP1)이 포함되도록 설정된다. 따라서, 제2 서브 메모리 블록(143)의 저장 용량은 제1 용량(CP1)에서 제1 데이터 량(CDP1)을 뺀 값이 된다.
제1 서브 메모리 블록(142)이 설정되면, 제1 서브 메모리 블록(142)의 제1 프로그램 동작이 수행된다.
제1 프로그램 동작이 완료된 이후에, 다른 프로그램 동작인 제2 프로그램 동작이 수행되는 경우, 제2 프로그램 동작을 위한 데이터가 메모리 장치(1110)에 로딩된다(143a). 이때, 로딩된 데이터 량을 제2 데이터 량(DCP2)이라 가정한다.
제1 서브 메모리 블록(142)은 제1 프로그램 동작이 완료된 상태이므로, 제2 서브 메모리 블록(143)에 포함된 일부 메모리 셀들이 제3 서브 메모리 블록(144)으로 설정될 수 있다. 이때, 제3 서브 메모리 블록(144)의 저장 용량은 제2 데이터 량(DCP2)보다 커야한다. 즉, 제3 서브 메모리 블록(144)은 적어도 제2 데이터 량(DCP2)이 포함되도록 설정된다. 제3 서브 메모리 블록(144)이 설정되면, 제3 서브 메모리 블록(144)의 제2 프로그램 동작이 수행된다.
제3 서브 메모리 블록(144)이 제2 데이터 량(DCP2)을 갖도록 설정되면, 메인 메모리 블록(141)에 포함된 메모리 셀들 중, 제1 및 제3 서브 메모리 블록들(142 및 144)을 제외한 나머지 메모리 셀들은 제4 서브 메모리 블록(145)으로 설정될 수 있다. 따라서, 제4 서브 메모리 블록(145)의 저장 용량은 제1 용량(CP1)에서 제1 및 제2 데이터 량(DCP1 및 DCP2)을 뺀 값이 된다. 제5 서브 메모리 블록(145)은 이후의 프로그램 동작시 사용되거나, 로딩된 데이터 량이 많은 프로그램 동작시 다수의 서브 메모리 블록들과 함께 선택되어 사용될 수 있다. 제어 로직(도 2의 300)은 새로 설정된 서브 메모리 블록들의 어드레스를 저장하고, 프로그램 동작시 해당 어드레스에 따라 서브 메모리 블록이 선택되도록 주변 회로들(200)을 제어할 수 있다.
도 14에서는 서브 메모리 블록들이 페이지 단위로 구분되었으나, 실시예에 따라 서브 메모리 블록들은 스트링 (string) 또는 컬럼(column) 단위로 구분될 수도 있다.
도 15는 본 발명의 다른 실시예에 따른 메모리 장치를 포함하는 메모리 시스템을 설명하기 위한 도면이다.
메모리 컨트롤러(3100)는 메모리 장치(1110)를 제어하도록 SRAM(3110), CPU(3120), 호스트 인터페이스(3130; Host I/F), 에러 정정 회로(3140; ECC) 및 반도체 인터페이스(3150; Semiconductor I/F)를 포함할 수 있다. SRAM(3110)은 CPU(3120)의 워킹 메모리로 사용될 수 있다. 호스트 인터페이스(3130)는 메모리 시스템(3000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 컨트롤러(3100)에 구비된 에러 정정 회로(3140)는 메모리 장치(1110)로부터 리드된 데이터에 포함되어 있는 에러를 검출 및 정정할 수 있다. 반도체 인터페이스(3150)는 메모리 장치(1110)와 인터페이싱 할 수 있다. CPU(3120)는 메모리 컨트롤러(3100)의 데이터 교환을 위한 제어동작을 수행할 수 있다. 또한, 도 15에는 도시되지 않았지만, 메모리 시스템(3000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
메모리 컨트롤러(3100)는 프로그램 동작시, 로딩된 데이터 량에 따라 메모리 장치(1110)에 포함된 메모리 블록 또는 서브 메모리 블록을 선택하고, 선택된 메모리 블록에 프로그램 동작이 수행되도록 메모리 장치(1110)를 제어할 수 있다. 예를 들면, 저장 용량에 따라 구분된 메인 메모리 블록 및 서브 메모리 블록의 정보는 SRAM(3110)에 저장될 수 있다. 프로그램 동작시, CPU(3120)는 호스트로부터 로딩된 데이터의 량과 SRAM(3110)에 저장된 메모리 블록들의 정보에 따라 메인 메모리 블록 또는 서브 메모리 블록이 선택되도록 메모리 장치(1110)을 제어할 수 있다. 또는, CPU(3120)는 로딩된 데이터에 따라 서브 메모리 블록의 저장 용량을 설정하고, 설정된 서브 메모리 블록에 프로그램 동작이 수행되도록 메모리 장치(1110)를 제어할 수 있다.
본 발명에 따른 메모리 시스템(3000)은, 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 장치들 중 하나에 적용될 수 있다.
도 16은 본 발명의 실시예에 따른 메모리 장치를 포함하는 컴퓨팅 시스템을 설명하기 위한 도면이다.
도 16을 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 버스(4300)에 전기적으로 연결된 메모리 장치(1110), 메모리 컨트롤러(4100), 모뎀(4200), 마이크로프로세서(4400) 및 사용자 인터페이스(4500)를 포함한다. 본 발명에 따른 컴퓨팅 시스템(4000)이 모바일 장치인 경우, 컴퓨팅 시스템(4000)의 동작 전압을 공급하기 위한 배터리(4600)가 추가적으로 제공될 수 있다. 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(4000)에는 응용 칩셋(application chip set), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 포함될 수 있다.
메모리 장치(1110)는 도 2와 실질적으로 동일하게 구성될 수 있으므로, 메모리 장치(1110)에 대한 구체적인 설명은 생략한다.
메모리 컨트롤러(4100)와 메모리 장치(1110)는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
본 발명에 따른 시스템은 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 시스템은 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), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP) 및 Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장 될 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
1100: 메모리 시스템 1110: 메모리 장치
1120: 메모리 컨트롤러 1200: 호스트
100: 메모리 셀 어레이 200: 주변 회로들
210: 전압 생성 회로 220: 로우 디코더
230: 페이지 버퍼부 240: 컬럼 디코더
250: 입출력 회로 260: 데이터 량 판단부
300: 제어 로직 320: 어드레스 결정부
321: 어드레스 저장부 330: 제어 신호 출력 회로

Claims (21)

  1. 다수의 메인 메모리 블록들 및 상기 메인 메모리 블록에 포함되는 다수의 서브 메모리 블록들을 포함하는 메모리 셀 어레이;
    상기 메인 메모리 블록들 또는 상기 서브 메모리 블록들의 프로그램 동작을 수행하며, 상기 프로그램 동작을 위해 로딩된 데이터 량을 검출하여 데이터 량 정보를 출력하도록 구성된 주변 회로들; 및
    상기 프로그램 동작시, 상기 데이터 량 정보에 따라 상기 메인 메모리 블록들 또는 상기 서브 메모리 블록들 중 적어도 하나의 메모리 블록을 선택하고, 상기 선택된 메모리 블록의 상기 프로그램 동작이 수행되도록 상기 주변 회로들을 제어하도록 구성된 제어 로직을 포함하는 메모리 장치.
  2. 제1항에 있어서, 상기 주변 회로들은,
    상기 프로그램 동작시, 페이지 버퍼 제어 신호들에 응답하여 외부로부터 수신된 데이터가 로딩되고, 상기 로딩된 데이터에 따라 상기 메모리 셀 어레이에 연결된 비트라인들의 전압을 제어하도록 구성된 페이지 버퍼부; 및
    상기 로딩된 데이터 량을 검출하여 상기 데이터 량 정보를 출력하도록 구성된 데이터 량 판단부를 포함하는 메모리 장치.
  3. 제2항에 있어서,
    상기 데이터 량 판단부는, 상기 페이지 버퍼부에 로딩되는 데이터를 검출하여 상기 데이터 량 정보를 출력하도록 구성된 메모리 장치.
  4. 제1항에 있어서, 상기 제어 로직은,
    상기 메인 메모리 블록들 및 상기 서브 메모리 블록들의 저장 용량과 상기 데이터 량을 서로 비교하여 선택된 어드레스를 출력하도록 구성된 어드레스 결정부; 및
    상기 선택된 어드레스와 커맨드에 응답하여 동작 신호, 로우 어드레스, 페이지 버퍼 제어 신호들 및 컬럼 어드레스를 출력하도록 구성된 제어 신호 출력 회로를 포함하는 메모리 장치.
  5. 제4항에 있어서, 상기 어드레스 결정부는,
    서로 다른 저장 용량을 갖는 상기 메인 메모리 블록들 및 상기 서브 메모리 블록들의 어드레스 정보가 저장되는 어드레스 저장부를 더 포함하는 메모리 장치.
  6. 제5항에 있어서,
    상기 어드레스 정보는 상기 저장 용량과 프로그램 가능 여부에 따라 분류되어 저장된 메모리 장치.
  7. 제6항에 있어서, 상기 어드레스 결정부는,
    상기 어드레스 정보 중, 프로그램 가능한 메인 메모리 블록들 또는 서브 메모리 블록들 중, 상기 데이터 량과 같거나 큰 저장 용량을 가지는 메모리 블록에 대응되는 어드레스 정보를 출력하는 메모리 장치.
  8. 다수의 페이지들이 포함된 메인 메모리 블록들;
    상기 페이지들 중 선택된 페이지들의 프로그램 동작을 수행하도록 구성된 주변 회로들; 및
    프로그램 동작을 위해 로딩된 데이터 량에 따라, 상기 페이지들의 일부를 그룹화하여 서브 메모리 블록으로 설정하고, 상기 서브 메모리 블록에 포함된 페이지들의 프로그램 동작이 수행되도록 상기 주변 회로들을 제어하도록 구성된 제어 로직을 포함하는 메모리 장치.
  9. 제8항에 있어서, 상기 제어 로직은,
    상기 데이터 량에 따라 설정된 상기 서브 메모리 블록의 어드레스 정보를 출력하도록 구성된 어드레스 결정부; 및
    상기 어드레스와 커맨드에 응답하여 상기 주변 회로를 제어하기 위한 동작 신호, 로우 어드레스, 페이지 버퍼 제어 신호들 및 컬럼 어드레스를 출력하도록 구성된 제어 신호 출력 회로를 포함하는 메모리 장치.
  10. 제9항에 있어서, 상기 어드레스 결정부는,
    상기 서브 메모리 블록의 어드레스 정보가 저장되는 어드레스 저장부를 더 포함하는 메모리 장치.
  11. 다양한 저장 용량을 갖는 메모리 블록들의 어드레스 정보를 저장하는 단계;
    프로그램 동작을 위한 데이터를 로딩하는 단계;
    상기 로딩된 데이터의 량에 대응되는 데이터 량 정보와 상기 어드레스 정보에 따라 메모리 블록을 선택하는 단계; 및
    상기 선택된 메모리 블록의 프로그램 동작을 수행하는 단계를 포함하는 메모리 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 어드레스 정보는 상기 메모리 블록들의 저장 용량과 프로그램 가능 여부에 따라 분류되어 저장되는 메모리 장치의 동작 방법.
  13. 제11항에 있어서, 상기 데이터를 로딩한 후,
    상기 로딩된 데이터의 량을 판단하여 상기 데이터 량 정보를 생성하는 단계를 더 포함하는 메모리 장치의 동작 방법.
  14. 제13항에 있어서, 상기 메모리 블록을 선택하는 단계에서,
    상기 메모리 블록들 중 저장 용량이 상기 로딩된 데이터의 량과 같거나 큰 메모리 블록이 선택되는 메모리 장치의 동작 방법.
  15. 서로 다른 제1 내지 제N 용량들을 갖는 제1 내지 제N 메모리 블록들을 설정하는 단계;
    프로그램 동작을 위한 데이터를 로딩하는 단계;
    상기 로딩된 데이터의 량과 상기 제1 내지 제N 용량들을 비교하고, 상기 비교 결과에 따라 상기 제1 내지 제N 메모리 블록들 중 어느 하나를 선택하는 단계; 및
    상기 제1 내지 제N 메모리 블록들 중 선택된 메모리 블록의 프로그램 동작을 수행하는 단계를 포함하는 메모리 장치의 동작 방법.
  16. 제15항에 있어서,
    상기 제1 내지 제N 메모리 블록들 중 어느 하나를 선택하는 단계는,
    상기 로딩된 데이터의 량과 상기 제1 내지 제N 용량들 중 가장 작은 용량을 비교하는 단계;
    상기 로딩된 데이터의 량이 상기 가장 작은 용량보다 작으면 상기 제1 내지 제N 메모리 블록들 중 용량이 가장 작은 메모리 블록을 선택하고, 상기 로딩된 데이터의 량이 상기 가장 작은 용량보다 크면 상기 가장 작은 용량보다 큰 용량을 비교하는 단계; 및
    상기 로딩된 데이터의 량이 상기 가장 작은 용량과 상기 가장 작은 용량보다 큰 용량 사이에 포함되면 상기 용량이 가장 작은 메모리 블록보다 용량이 큰 메모리 블록을 선택하는 단계를 포함하는 단계를 포함하는 메모리 장치의 동작 방법.
  17. 제15항에 있어서,
    상기 제1 내지 제N 메모리 블록들 중 어느 하나를 선택하는 단계는,
    상기 로딩된 데이터의 량과 상기 제1 내지 제N 용량들 중 가장 큰 용량을 비교하는 단계; 및
    상기 로딩된 데이터의 량이 상기 제1 내지 제N 용량들 중 중간 용량보다 크면 상기 제1 내지 제N 메모리 블록들 중 중간 용량을 갖는 메모리 블록과 가장 큰 용량을 갖는 메모리 블록에 포함된 메모리 블록들 중에서 어느 하나의 메모리 블록을 선택하고,
    상기 로딩된 데이터의 량이 상기 제1 내지 제N 용량들 중 중간 용량보다 작으면 상기 제1 내지 제N 메모리 블록들 중 중간 용량을 갖는 메모리 블록과 가장 작은 용량을 갖는 메모리 블록에 포함된 메모리 블록들 중에서 어느 하나의 메모리 블록을 선택하는 단계를 포함하는 단계를 포함하는 메모리 장치의 동작 방법.
  18. 제15항에 있어서,
    상기 프로그램 동작을 수행하는 단계 이전에,
    상기 비교 결과, 상기 제1 내지 제N 메모리 블록들 각각의 저장 용량이 상기 로딩된 데이터의 량보다 작은 경우, 상기 제1 내지 제N 메모리 블록들 중 두 개 이상의 메모리 블록들을 선택하는 단계를 더 포함하는 메모리 장치의 동작 방법.
  19. 제18항에 있어서,
    상기 선택된 두 개 이상의 메모리 블록들의 총 저장 용량은 상기 로딩된 데이터의 량과 같거나 큰 메모리 장치의 동작 방법.
  20. 메모리 장치에 프로그램 데이터를 로딩하는 단계;
    상기 로딩된 프로그램 데이터의 량에 따라, 메인 메모리 블록에 포함된 일부 페이지들을 서브 메모리 블록으로 설정하는 단계; 및
    상기 서브 메모리 블록에 포함된 상기 페이지들의 프로그램 동작을 수행하는 단계를 포함하는 메모리 장치의 동작 방법.
  21. 제20항에 있어서,
    상기 로딩된 프로그램 데이터의 량에 따라 상기 일부 페이지들을 상기 서브 메모리 블록으로 설정하는 단계는,
    상기 설정된 서브 메모리 블록에 대응되는 어드레스 정보를 저장하는 단계를 더 포함하는 메모리 장치의 동작 방법.
KR1020150156078A 2015-11-06 2015-11-06 메모리 장치 및 이의 동작 방법 KR102468992B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150156078A KR102468992B1 (ko) 2015-11-06 2015-11-06 메모리 장치 및 이의 동작 방법
US15/095,284 US10572152B2 (en) 2015-11-06 2016-04-11 Memory device having memory blocks and program operation method of the same
CN201610289220.XA CN106683698B (zh) 2015-11-06 2016-05-04 存储器件及其操作方法
US16/736,710 US20200142606A1 (en) 2015-11-06 2020-01-07 Memory device and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150156078A KR102468992B1 (ko) 2015-11-06 2015-11-06 메모리 장치 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20170053487A true KR20170053487A (ko) 2017-05-16
KR102468992B1 KR102468992B1 (ko) 2022-11-22

Family

ID=58667771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150156078A KR102468992B1 (ko) 2015-11-06 2015-11-06 메모리 장치 및 이의 동작 방법

Country Status (3)

Country Link
US (2) US10572152B2 (ko)
KR (1) KR102468992B1 (ko)
CN (1) CN106683698B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956061B2 (en) 2018-03-27 2021-03-23 SK Hynix Inc. Computing system and operating method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710173B (zh) * 2017-10-26 2021-12-03 旺宏电子股份有限公司 存储器装置及应用于其上的数据管理方法
KR20210027980A (ko) * 2019-09-03 2021-03-11 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US20230418491A1 (en) * 2022-06-22 2023-12-28 Micron Technology, Inc. Memory block utilization in memory systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594093B1 (en) * 2006-10-12 2009-09-22 Foundry Networks, Inc. Virtual memory mapping for efficient memory usage
KR20120090084A (ko) * 2006-05-12 2012-08-16 아노비트 테크놀로지스 리미티드 조절가능한 용량을 가진 메모리 디바이스
KR20140028957A (ko) * 2012-08-31 2014-03-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법
CN103778149A (zh) * 2012-10-23 2014-05-07 腾讯科技(深圳)有限公司 文件系统及其对文件进行存储管理的方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW231343B (ko) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US6711595B1 (en) * 2000-05-09 2004-03-23 Openwave Systems Inc. Method and apparatus for sharing standard template library objects among processes
JP2005092659A (ja) * 2003-09-19 2005-04-07 Nec Electronics Corp データ書込・読出制御装置、及びデータ書込・読出制御方法
JP2005135126A (ja) * 2003-10-30 2005-05-26 Hitachi Ltd フラグメント防止ファイルシステム
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
KR100687424B1 (ko) 2005-08-29 2007-02-26 주식회사 하이닉스반도체 비휘발성 메모리 장치
JP4356782B2 (ja) * 2007-09-12 2009-11-04 ソニー株式会社 メモリ装置、メモリ制御方法、およびプログラム
CN101201800B (zh) * 2007-12-21 2010-06-09 福建星网锐捷网络有限公司 数据处理方法和装置
CN102341865B (zh) * 2009-04-30 2014-07-16 力晶股份有限公司 Nand闪存装置的编程方法
JP2010267341A (ja) * 2009-05-15 2010-11-25 Renesas Electronics Corp 半導体装置
US8489804B1 (en) * 2009-09-14 2013-07-16 Marvell International Ltd. System for using dynamic random access memory to reduce the effect of write amplification in flash memory
US8570828B2 (en) 2010-04-12 2013-10-29 Mosaid Technologies Incorporated Memory programming using variable data width
TWI563383B (en) * 2012-04-25 2016-12-21 Phison Electronics Corp Memory formatting method, memory controller and memory storage apparatus
CN103605478B (zh) * 2013-05-17 2016-12-28 华为技术有限公司 存储地址标示、配置方法和数据存取方法及系统
US9202578B2 (en) * 2013-10-02 2015-12-01 Conversant Intellectual Property Management Inc. Vertical gate stacked NAND and row decoder for erase operation
US9520901B2 (en) * 2014-03-06 2016-12-13 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory control method
US9430156B1 (en) * 2014-06-12 2016-08-30 Emc Corporation Method to increase random I/O performance with low memory overheads
KR102287760B1 (ko) * 2014-10-29 2021-08-09 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
US9811462B2 (en) * 2015-04-30 2017-11-07 Toshiba Memory Corporation Memory system executing garbage collection
US9922039B1 (en) * 2016-03-31 2018-03-20 EMC IP Holding Company LLC Techniques for mitigating effects of small unaligned writes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120090084A (ko) * 2006-05-12 2012-08-16 아노비트 테크놀로지스 리미티드 조절가능한 용량을 가진 메모리 디바이스
US7594093B1 (en) * 2006-10-12 2009-09-22 Foundry Networks, Inc. Virtual memory mapping for efficient memory usage
KR20140028957A (ko) * 2012-08-31 2014-03-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법
CN103778149A (zh) * 2012-10-23 2014-05-07 腾讯科技(深圳)有限公司 文件系统及其对文件进行存储管理的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956061B2 (en) 2018-03-27 2021-03-23 SK Hynix Inc. Computing system and operating method thereof

Also Published As

Publication number Publication date
US10572152B2 (en) 2020-02-25
KR102468992B1 (ko) 2022-11-22
CN106683698B (zh) 2020-11-03
US20200142606A1 (en) 2020-05-07
US20170131916A1 (en) 2017-05-11
CN106683698A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
KR102648774B1 (ko) 랜더마이즈 동작을 수행하는 반도체 메모리 장치
US9627079B1 (en) Storage device, memory system having the same, and operating method thereof
US9230670B2 (en) Semiconductor device, memory system and operating method thereof
US20200142606A1 (en) Memory device and method of operating the same
TW201643889A (zh) 記憶體系統及其操作方法
US10008289B2 (en) Semiconductor memory device and method of operating the same
US9679638B2 (en) Semiconductor device and method of operating the same
KR102593178B1 (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10283174B2 (en) Memory system initializing page buffers and operating method thereof
TW201711049A (zh) 用來管理一記憶裝置之方法以及記憶裝置與控制器
KR20140048413A (ko) 반도체 메모리 장치
US9703628B2 (en) Memory device and system including the same
US9570178B2 (en) Semiconductor memory device and operating method thereof
US20170277454A1 (en) Memory device and operating method thereof
US10747660B2 (en) Method and system for forming and using memory superblocks based on performance grades
US9569142B2 (en) Semiconductor device and method of operating the same according to degree of deterioration
TW202026883A (zh) 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置
KR20160075175A (ko) 반도체 장치
CN111883198A (zh) 存储器控制器及其操作方法
TWI502591B (zh) 用來管理一記憶裝置之方法以及記憶裝置與控制器
US11762576B2 (en) Semiconductor memory device and operating method for repairing guarantee blocks
US20240118810A1 (en) Memory system and operating method thereof
KR20230153181A (ko) 메모리 장치 및 그 프로그래밍 속도 조절 방법
KR20170115287A (ko) 메모리 장치 및 이의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant