CN115237337A - 控制器及其操作方法 - Google Patents

控制器及其操作方法 Download PDF

Info

Publication number
CN115237337A
CN115237337A CN202210006932.1A CN202210006932A CN115237337A CN 115237337 A CN115237337 A CN 115237337A CN 202210006932 A CN202210006932 A CN 202210006932A CN 115237337 A CN115237337 A CN 115237337A
Authority
CN
China
Prior art keywords
memory
block
blocks
controller
data
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
CN202210006932.1A
Other languages
English (en)
Inventor
张珉准
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN115237337A publication Critical patent/CN115237337A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/0658Controller construction arrangements
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • 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/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/0653Monitoring storage devices or 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/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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate

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)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

本公开涉及一种控制器及其操作方法。控制器控制包括多个存储块的半导体存储器装置。控制器包括块管理器、映射数据管理器和命令生成器。块管理器管理关于多个存储块的信息。映射数据管理器管理多个存储块中存储的数据的映射数据。命令生成器生成用于控制半导体存储器装置的编程操作的编程命令。命令生成器生成用于将数据存储在多个存储块之中的第一存储块中的编程命令,并且当第一存储块由于与编程命令相对应的编程操作而已满时,基于来自块管理器的信息确定用于存储虚设数据的第二存储块。

Description

控制器及其操作方法
相关申请的交叉引用
本申请要求于2021年4月22日提交的申请号为10-2021-0052605的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本公开涉及一种电子装置,并且更具体地,涉及一种控制器及其操作方法。
背景技术
半导体存储器装置可以以将串水平地布置在半导体衬底上的二维结构来形成,或者以将串竖直地堆叠在半导体衬底上的三维结构来形成。三维半导体存储器装置是为了解决二维存储器装置的集成度的限制而设计的半导体存储器装置,并且可以包括竖直地堆叠在半导体衬底上的多个存储器单元。
发明内容
本公开的实施例提供一种能够最小化映射更新的数量的控制器及其操作方法。
根据本公开的实施例,一种控制器控制包括多个存储块的半导体存储器装置。控制器包括块管理器、映射数据管理器和命令生成器。块管理器管理关于多个存储块的信息。映射数据管理器管理多个存储块中存储的数据的映射数据。命令生成器生成用于控制半导体存储器装置的编程操作的编程命令。命令生成器生成用于将数据存储在多个存储块之中的第一存储块中的编程操作的编程命令。命令生成器进一步被配置成当第一存储块由于编程操作而已满时,基于来自块管理器的信息来确定用于存储虚设数据的第二存储块。
在本公开的实施例中,命令生成器可以生成用于控制半导体存储器装置将虚设数据存储在第二存储块中的编程命令。
在本公开的实施例中,随着虚设数据被存储在第二存储块中,第二存储块可以变为已满状态。
在本公开的实施例中,映射数据管理器可以进一步被配置成更新与第一存储块和第二存储块相对应的映射数据,并将更新后的映射数据传输到命令生成器。
在本公开的实施例中,命令生成器可以生成用于控制半导体存储器装置存储与第一存储块和第二存储块相对应的更新后的映射数据的编程命令。
在本公开的实施例中,命令生成器可以基于来自块管理器的信息,将多个存储块之中可用空间小于预定参考值的开放块确定为第二存储块。
在本公开的实施例中,命令生成器可以基于来自块管理器的信息,将多个存储块之中可用空间最小的开放块确定为第二存储块。
在本公开的实施例中,多个存储块可以包括单层单元(SLC)块、以及多层单元(MLC)块或三层单元(TLC)块中的至少一个。第一存储块可以是MLC块或TLC块中的至少一个。命令生成器可以将SLC块确定为第二存储块。
在本公开的实施例中,多个存储块可以包括单层单元(SLC)块、以及多层单元(MLC)块或三层单元(TLC)块中的至少一个。第一存储块可以是SLC块。命令生成器可以将MLC块或TLC块中的至少一个确定为第二存储块。
根据本公开的实施例,一种操作控制器的方法,该控制器控制包括多个存储块的半导体存储器装置,该方法包括:控制半导体存储器装置将数据存储在多个存储块之中的第一存储块中,并且响应于确定第一存储块已满而从多个存储块之中确定待存储虚设数据的第二存储块。
在本公开的实施例中,该方法可以进一步包括控制半导体存储器装置将虚设数据存储在第二存储块中。
在本公开的实施例中,随着虚设数据被存储在第二存储块中,第二存储块可以变为已满状态。
在本公开的实施例中,该方法可以进一步包括更新与第一存储块和第二存储块相对应的映射数据,并且控制半导体存储器装置存储更新后的映射数据。
在本公开的实施例中,确定第二存储块可以包括:参考多个存储块之中与开放块相对应的每个存储块的可用空间,并且将开放块之中可用空间小于预定参考值的存储块确定为第二存储块。
在本公开的实施例中,确定第二存储块可以包括:参考多个存储块之中与开放块相对应的每个存储块的可用空间,并且将开放块之中可用空间最小的存储块确定为第二存储块。
在本公开的实施例中,多个存储块可以包括单层单元(SLC)块、以及多层单元(MLC)块或三层单元(TLC)块中的至少一个。第一存储块可以是MLC块或TLC块中的至少一个。确定第二存储块可以包括将SLC块确定为第二存储块。
在本公开的实施例中,多个存储块可以包括单层单元(SLC)块、以及多层单元(MLC)块或三层单元(TLC)块中的至少一个。第一存储块可以是SLC块。确定第二存储块可以包括将MLC块或TLC块中的至少一个确定为第二存储块。
根据本公开的实施例,一种操作控制器的方法,该控制器用于控制包括多个存储器单元的存储器装置,该方法包括:当多个存储器单元之中的第一存储器单元封闭时,控制存储器装置以将多个存储器单元之中的第二存储器单元封闭;更新与封闭的第一存储器单元和第二存储器单元相对应的映射数据;并且控制存储器装置将更新后的映射数据存储在其中。
在本公开的实施例中,第二存储器单元可以具有小于阈值的可用存储空间。
在本公开的实施例中,在存储器装置中包括的开放存储器单元之中,第二存储器单元可以具有最小可用存储空间。
本技术可以提供一种能够最小化映射更新的数量的控制器及其操作方法。
附图说明
图1是示出根据本公开的实施例的包括控制器的存储器系统的框图。
图2是示出根据本公开的实施例的图1的半导体存储器装置的框图。
图3是示出根据本公开的实施例的图2的存储器单元阵列的示图。
图4是示出根据本公开的实施例的图3的存储块BLK1至BLKz中的存储块BLKa的电路图。
图5是示出根据本公开的实施例的图3的存储块BLK1至BLKz之中的存储块BLKb的电路图。
图6是示出根据本公开的实施例的图2的存储器单元阵列110中包括的存储块BLK1至BLKz之中的存储块BLKc的电路图。
图7是示出根据本公开的实施例的图1所示的存储器系统的框图。
图8是示出根据本公开的实施例的通用存储区域和映射数据存储区域的示图。
图9是示出根据本公开的实施例的操作控制器的方法的流程图。
图10A、图10B和图10C是示出根据本公开的实施例的操作图9中所示的控制器的方法的示图。
图11是示出根据本公开的另一实施例的操作控制器的方法的流程图。
图12是示出根据本公开的又一实施例的控制器的框图。
图13A、图13B和图13C是示出根据本公开的实施例的操作图12中所示的控制器的方法的示图。
图14是示出根据本公开的实施例的图11的操作S240的示例的流程图。
图15是示出根据本公开的实施例的图11的操作S240的另一示例的流程图。
图16是示出根据本公开的实施例的图1中所示的控制器的示例的框图。
图17是示出根据本公开的实施例的图1的存储器系统的应用示例的框图。
图18是示出根据本公开的实施例的包括参照图17描述的存储器系统的计算系统的框图。
具体实施方式
示出根据本说明书中公开的构思的实施例的具体结构或功能描述仅为了描述根据本公开的构思的实施例。根据本公开的构思的实施例可以以各种形式实施,并且不应当被解释为限于本说明书中描述的实施例。
图1是示出根据本公开的实施例的包括控制器的存储器系统1000的框图。
参照图1,存储器系统1000包括半导体存储器装置100和控制器200。另外,存储器系统1000与主机300通信。控制器200控制半导体存储器装置100的整体操作。另外,控制器200基于从主机300接收的命令来控制半导体存储器装置100的操作。
图2是示出根据本公开的实施例的图1的半导体存储器装置100的框图。
参照图2,半导体存储器装置100包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过字线WL连接到地址解码器120。多个存储块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路130。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元,并且可以由具有竖直沟道结构的非易失性存储器单元来配置。存储器单元阵列110可以作为二维结构的存储器单元阵列来配置。根据实施例,存储器单元阵列110可以作为三维结构的存储器单元阵列来配置。存储器单元阵列中包括的多个存储器单元中的每一个可以存储至少一位数据。在实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储一位数据的单层单元(SLC)。在另一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储两位数据的多层单元(MLC)。在又一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储三位数据的三层单元。在又一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储四位数据的四层单元。根据实施例,存储器单元阵列110可以包括每个存储五位或更多位数据的多个存储器单元。
地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150作为驱动存储器单元阵列110的外围电路来操作。地址解码器120通过字线WL连接到存储器单元阵列110。地址解码器120被配置成响应于控制逻辑140的控制而操作。地址解码器120通过半导体存储器装置100内的输入/输出缓冲器(未示出)来接收地址。
地址解码器120被配置成对接收的地址之中的块地址进行解码。地址解码器120根据经解码的块地址来选择至少一个存储块。另外,在读取操作期间,地址解码器120在读取电压施加操作时将电压生成器150中生成的读取电压Vread施加到选定存储块的选定字线,并且将通过电压Vpass施加到剩余的未选字线。另外,在编程验证操作期间,地址解码器120将电压生成器150生成的验证电压施加到选定存储块的选定字线,并且将通过电压Vpass施加到剩余的未选字线。
地址解码器120被配置成对接收的地址中的列地址进行解码。地址解码器120将经解码的列地址传输到读取和写入电路130。
半导体存储器装置100的读取操作和编程操作以页面为单位执行。在请求读取操作和编程操作时接收的地址包括块地址、行地址和列地址。地址解码器120根据块地址和行地址来选择一个存储块和一条字线。列地址由地址解码器120进行解码并被提供到读取和写入电路130。
地址解码器120可以包括块解码器、行解码器、列解码器、地址缓冲器等。
读取和写入电路130包括多个页面缓冲器PB1至PBm。读取和写入电路130可以在存储器单元阵列110的读取操作期间作为“读取电路”而操作,并且可以在存储器单元阵列110的写入操作期间作为“写入电路”而操作。多个页面缓冲器PB1至PBm通过位线BL1至BLm连接到存储器单元阵列110。在读取操作和编程验证操作期间,为了感测存储器单元的阈值电压,在向连接到存储器单元的位线连续供应感测电流的同时,多个页面缓冲器PB1至PBm通过感测节点来感测根据相应存储器单元的编程状态而流动的电流的量的变化,并且将感测到的变化锁存为感测数据。读取和写入电路130响应于从控制逻辑140输出的页面缓冲器控制信号而操作。
在读取操作期间,读取和写入电路130感测存储器单元的数据,临时地存储读取数据,并且将数据DATA输出到半导体存储器装置100的输入/输出缓冲器(未示出)。在实施例中,除页面缓冲器(或页面寄存器)之外,读取和写入电路130还可以包括列选择电路等。
控制逻辑140连接到地址解码器120、读取和写入电路130以及电压生成器150。控制逻辑140通过半导体存储器装置100的输入/输出缓冲器(未示出)接收命令CMD和控制信号CTRL。控制逻辑140被配置成响应于控制信号CTRL而控制半导体存储器装置100的全部操作。另外,控制逻辑140输出用于调整多个页面缓冲器PB1至PBm的感测节点预充电电位电平的控制信号。控制逻辑140可以控制读取和写入电路130执行对存储器单元阵列110的读取操作。
电压生成器150响应于从控制逻辑140输出的控制信号而生成读取操作期间的读取电压Vread和通过电压Vpass。为了生成具有各个电压电平的多个电压,电压生成器150可以包括接收内部电源电压的多个泵浦电容器,并且响应于控制逻辑140的控制,通过选择性地激活多个泵浦电容器来生成多个电压。如上所述,电压生成器150可以包括电荷泵浦,并且电荷泵浦可以包括上述多个泵浦电容器。电压生成器150中包括的电荷泵浦的具体配置可以根据需要而被不同地设计。
地址解码器120、读取和写入电路130以及电压生成器150可以用作对存储器单元阵列110执行读取操作、写入操作和擦除操作的“外围电路”。外围电路基于控制逻辑140的控制来对存储器单元阵列110执行读取操作、写入操作和擦除操作。
图3是示出根据本公开的实施例的图2的存储器单元阵列110的示图。
参照图3,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块可以具有三维结构。每个存储块包括堆叠在衬底上的多个存储器单元。多个存储器单元沿+X方向、+Y方向和+Z方向布置。参照图4和图5更详细地描述每个存储块的结构。
图4是示出根据本公开的实施例的图3的存储块BLK1至BLKz中的存储块BLKa的电路图。
参照图4,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”形。在存储块BLKa中,沿行方向(即,+X方向)布置m个单元串。在图4中,沿列方向(即,+Y方向)布置两个单元串。然而,这是为了便于描述,并且可以理解的是可以沿列方向布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜。在实施例中,可以在每个单元串中设置用于提供沟道层的柱。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜中的至少一个的柱。
每个单元串的源极选择晶体管SST连接在公共源极线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管连接到沿行方向延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管连接到不同的源极选择线。在图4中,第一行的单元串CS11至CS1m的源极选择晶体管连接到第一源极选择线SSL1。第二行的单元串CS21至CS2m的源极选择晶体管连接到第二源极选择线SSL2。
在另一实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同连接到一条源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn连接在源极选择晶体管SST与漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可以被划分为第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp沿与+Z方向相反的方向顺序布置,并且串联连接在源极选择晶体管SST和管道晶体管PT之间。第(p+1)存储器单元MCp+1至第n存储器单元MCn沿+Z方向顺序布置,并且串联连接在管道晶体管PT和漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn通过管道晶体管PT彼此连接。每个单元串的第一存储器单元MC1至第n存储器单元MCn的栅极分别连接到第一字线WL1至第n字线WLn。
每个单元串的管道晶体管PT的栅极连接到管线PL。
每个单元串的漏极选择晶体管DST连接在相应位线与存储器单元MCp+1至MCn之间。沿行方向布置的单元串的漏极选择晶体管DST连接到沿行方向延伸的漏极选择线。第一行的单元串CS11至CS1m的漏极选择晶体管连接到第一漏极选择线DSL1。第二行的单元串CS21至CS2m的漏极选择晶体管连接到第二漏极选择线DSL2。
沿列方向布置的单元串连接到沿列方向延伸的位线。在图4中,第一列的单元串CS11和CS21连接到第一位线BL1。第m列的单元串CS1m和CS2m连接到第m位线BLm。
沿行方向布置的单元串中的连接到相同字线的存储器单元配置一个页面。例如,第一行的单元串CS11至CS1m之中连接到第一字线WL1的存储器单元配置一个页面。第二行的单元串CS21至CS2m之中连接到第一字线WL1的存储器单元配置另一页面。可以通过选择漏极选择线DSL1和DSL2中的任意一个来选择沿一个行方向布置的单元串。可以通过选择字线WL1至WLn中的任意一个来选择选定单元串的一个页面。
在另一实施例中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。另外,沿行方向布置的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可以分别连接到偶数位线,并且沿行方向布置的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可以分别连接到奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。例如,设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。随着设置更多的虚设存储器单元,存储块BLKa的操作可靠性提高,然而,存储块BLKa的大小增大。随着设置更少的虚设存储器单元,可以减小存储块BLKa的大小;然而,存储块BLKa的操作可靠性可能降低。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKa的擦除操作之前或之后,可以对全部或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到与各个虚设存储器单元连接的虚设字线的电压,虚设存储器单元可以具有所需的阈值电压。
图5是示出根据本公开的实施例的图3的存储块BLK1至BLKz之中的存储块BLKb的电路图。
参照图5,存储块BLKb包括多个单元串CS11’至CS1m’和CS21’至CS2m’。多个单元串CS11’至CS1m’和CS21’至CS2m’中的每一个沿+Z方向延伸。多个单元串CS11’至CS1m’和CS21’至CS2m’中的每一个包括堆叠在存储块BLKb下方的衬底(未示出)上的至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn和至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST连接在公共源极线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管连接到相同的源极选择线。布置在第一行中的单元串CS11’至CS1m’的源极选择晶体管连接到第一源极选择线SSL1。布置在第二行中的单元串CS21’至CS2m’的源极选择晶体管连接到第二源极选择线SSL2。在另一实施例中,单元串CS11’至CS1m’和CS21’至CS2m’的源极选择晶体管可以共同连接到一条源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn串联连接在源极选择晶体管SST和漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极分别连接到第一字线WL1至第n字线WLn。
每个单元串的漏极选择晶体管DST连接在相应位线与存储器单元MC1至MCn之间。沿行方向布置的单元串的漏极选择晶体管连接到沿行方向延伸的漏极选择线。第一行的单元串CS11’至CS1m’的漏极选择晶体管连接到第一漏极选择线DSL1。第二行的单元串CS21’至CS2m’的漏极选择晶体管连接到第二漏极选择线DSL2。
因此,除每个单元串不包括管道晶体管PT之外,图5的存储块BLKb具有与图4的存储块BLKa的电路类似的等效电路。
在另一实施例中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。另外,沿行方向布置的单元串CS11’至CS1m’或CS21’至CS2m’之中的偶数编号的单元串可以分别连接到偶数位线,并且沿行方向布置的单元串CS11’至CS1m’或CS21’至CS2m’之中的奇数编号的单元串可以分别连接到奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。例如,设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着设置更多的虚设存储器单元,存储块BLKb的操作可靠性提高,然而,存储块BLKb的大小增大。随着设置更少的虚设存储器单元,存储块BLKb的大小可以减小;然而,存储块BLKb的操作可靠性可能降低。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKb的擦除操作之前或之后,可以对所有或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到与各个虚设存储器单元连接的虚设字线的电压,虚设存储器单元可以具有所需的阈值电压。
图6是示出根据本公开的实施例的图2的存储器单元阵列110中包括的存储块BLK1至BLKz之中的存储块BLKc的电路图。
参照图6,存储块BLKc包括多个单元串CS1至CSm。多个单元串CS1至CSm可以分别连接到多条位线BL1至BLm。单元串CS1至CSm中的每一个包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每个可以包括沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜。在实施例中,可以在每个单元串中设置用于提供沟道层的柱。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜中的至少一个的柱。
每个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCn之间。
每个单元串的第一存储器单元MC1至第n存储器单元MCn连接在源极选择晶体管SST和漏极选择晶体管DST之间。
每个单元串的漏极选择晶体管DST连接在相应位线与存储器单元MC1至MCn之间。
连接到相同字线的存储器单元配置一个页面。可以通过选择漏极选择线DSL来选择单元串CS1至CSm。可以通过选择字线WL1至WLn中的任意一个来选择选定单元串之中的一个页面。
在另一实施例中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。单元串CS1至CSm之中的偶数编号的单元串可以分别连接到偶数位线,并且奇数编号的单元串可以分别连接到奇数位线。
图7是示出根据本公开的实施例的图1所示的存储器系统1000的框图。
参照图7,存储器系统1000包括半导体存储器装置100和控制器200。半导体存储器装置100的存储器单元阵列可以包括通用存储区域111和映射数据存储区域113。在图7中,省略了除半导体存储器装置100的存储器单元阵列之外的配置。
从主机300传输的用户数据可以被存储在通用存储区域111中。指示通用存储区域111中存储的数据的物理地址与逻辑地址之间的关系的映射数据可以被存储在映射数据存储区域113中。
图7所示的通用存储区域111和映射数据存储区域113可以是具有任意大小的数据存储区域。在实施例中,通用数据区域111可以包括多个存储块。另外,在实施例中,映射数据存储区域113可以包括至少一个存储块。
根据本公开的实施例的控制器200可以包括块管理器201、命令生成器203和映射数据管理器205。
块管理器201可以存储关于半导体存储器装置100中包括的多个存储块的信息。例如,块管理器201可以包括关于半导体存储器装置100中包括的开放块的信息、关于空闲块的信息或关于封闭块的信息。在本说明书中,在一些页面中存储数据并且在一些页面中未存储数据的存储块可以被称为“开放块”。另外,在本说明书中,在所有页面中未存储数据的存储块可以被称为“空闲块”。在本说明书中,在所有页面中存储数据的存储块可以被称为“封闭块”。
当对存储块执行擦除操作并且所有页面的数据被擦除时,相应存储块可以变为空闲块。当数据被存储在空闲块的一些页面中时,空闲块改变为开放块。当数据被持续存储在开放块中并且有效数据或无效数据被存储在所有页面中时,相应开放块可以不再存储数据。此时,相应开放块改变为封闭块。块管理器201可以存储指示半导体存储器装置100中包括的存储块中的每一个是空闲块、开放块还是封闭块的信息。
命令生成器203可以生成用于控制半导体存储器装置100的操作的命令。例如,为了控制半导体存储器装置100的读取操作,命令生成器203可以生成读取命令。作为另一示例,为了控制半导体存储器装置100的编程操作,命令生成器203可以生成编程命令。为了控制半导体存储器装置100的擦除操作,命令生成器203可以生成擦除命令。所生成的读取命令、编程命令或擦除命令可以与相应地址一起被传输到半导体存储器装置100。
映射数据管理器205可以管理指示半导体存储器装置100中存储的数据的物理地址与逻辑地址之间的关系的映射数据。
作为示例,映射数据管理器205可以存储映射数据存储区域中存储的映射数据中的一些。当数据被存储在半导体存储器装置100的通用存储区域中时,映射数据管理器205可以生成或更新与所存储的数据相对应的映射数据。所生成的或更新后的映射数据可以与由命令生成器203生成的编程命令一起传输到半导体存储器装置100。半导体存储器装置100可以从控制器200接收编程命令和相应映射数据。半导体存储器装置100可以响应于接收到的编程命令将映射数据存储在映射数据存储区域113中。
图8是示出根据本公开的实施例的通用存储区域和映射数据存储区域的示图。
如上所述,存储器单元阵列110可以包括通用存储区域111和映射数据存储区域113。通用存储区域111和映射数据存储区域113可以是任意大小的数据存储区域。在实施例中,通用数据区域111可以包括多个存储块。在图8的示例中,通用存储区域111包括第一存储块BLK1至第p存储块BLKp。当从主机接收数据和写入请求时,控制器200可以控制半导体存储器装置100将接收到的数据编程到通用存储区域111中包括的存储块中的至少一个。
另外,在实施例中,映射数据存储区域113可以包括至少一个存储块。在图8的示例中,映射数据存储区域113包括第q存储块BLKq至第z存储块BLKz。
当由映射数据管理器205生成或更新映射数据时,控制器200可以控制半导体存储器装置100存储映射数据。为此,控制器200可以将所生成的或更新后的映射数据与编程命令一起传输到半导体存储器装置100。此时,控制器200可以将用于存储映射数据的物理地址一起传输到半导体存储器装置100。响应于接收到的编程命令,半导体存储器装置100可以将映射数据编程在第q存储块BLKq至第z存储块BLKz之中与接收到的地址相对应的存储块中。
在实施例中,当通用存储区域111中包括的任意存储块从开放块改变为封闭块时,控制器200可以控制半导体存储器装置100存储映射数据。因此,当控制器200中包括的随机存取存储器(RAM)的容量较小时,可以有效地管理映射数据。
图9是示出根据本公开的实施例的操作控制器的方法的流程图。
参照图9,根据本公开的实施例的操作控制器的方法包括:从主机接收写入请求以及与写入请求相对应的数据(S110),控制半导体存储器装置100将数据存储在多个存储块之中的选定存储块中(S130),并且确定选定存储块是否已满(S150)。根据本公开的实施例的操作控制器的方法可以进一步包括:当选定存储块已满(S150:是)时,更新与选定存储块相对应的映射数据并且控制半导体存储器装置100存储更新后的映射数据。
在操作S110,控制器200可以从主机300接收写入请求和与写入请求相对应的数据。从主机300接收到的数据是用户数据和待存储在半导体存储器装置100的通用存储区域111中的数据。
在操作S130,响应于写入请求,控制器200可以控制半导体存储器装置100将用户数据存储在半导体存储器装置100的通用存储区域111中包括的存储块之中的选定存储块中。为此,控制器200可以生成用于存储从主机300接收到的数据的编程命令,并且将所生成的编程命令与数据一起传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的编程命令将数据编程到选定存储块。
在操作S150中,控制器200确定选定存储块是否已满,即,选定存储块是否从开放块改变为封闭块。当选定存储块从开放块改变为封闭块(S150:是)时,控制器200更新与选定存储块相对应的映射数据并且控制半导体存储器装置100存储更新后的映射数据(S170)。更具体地,当从主机接收到的数据被存储在半导体存储器装置100的通用存储区域111中时(S130),控制器200的映射数据管理器205可以生成或更新映射数据。命令生成器203可以生成用于控制半导体存储器装置100将所生成的或更新后的映射数据存储在映射数据存储区域113中的编程命令。控制器200可以将所生成的或更新后的映射数据与编程命令一起传输到半导体存储器装置100。响应于编程命令,半导体存储器装置100可以将接收到的映射数据编程到第q存储块BLKq至第z存储块BLKz中的至少一个中。
当选定存储块未满(S150:否)时,即,当选定存储块保持开放块状态时,可以不执行操作S170。
根据图9所示的实施例,当通用存储区域111中包括的任意存储块从开放块改变为封闭块时,控制器200可以控制半导体存储器装置100存储映射数据。因此,当控制器200中包括的RAM的容量较小时,可以有效地管理映射数据。
图10A、图10B和图10C是示出根据本公开的实施例的操作图9中所示的控制器的方法的示图。
参照图10A至图10C,示出了属于通用存储区域111的第一存储块BLK1和第二存储块BLK2以及属于映射数据存储区113的第q存储块BLKq。为了便于描述,省略了对除第一存储块BLK1、第二存储块BLK2和第q存储块BLKq之外的存储块的说明。在图10A至10C中,每个存储块的阴影区域指示存储数据的区域,并且白色区域指示未存储数据的区域。例如,在图10A中,在第一存储块BLK1和第二存储块BLK2两者的一些区域中存储数据并且在其它区域中未存储数据。即,如图10A所示,第一存储块BLK1和第二存储块BLK2都是开放块。根据图10A,第q存储块BLKq也是开放块,并且映射数据MAPDATA被存储在一些区域中。
示出了控制器200生成用于将数据DATA1存储在第一存储块BLK1中的编程命令并将编程命令传输到半导体存储器装置100(S130)的情况。参照图10B,响应于从控制器200接收到的编程命令,数据DATA1被编程到第一存储块BLK1。随着数据DATA1被编程到第一存储块BLK1,第一存储块BLK1变为已满状态(S150:是)。因此,控制器200更新映射数据,生成用于将更新后的映射数据存储在第q存储块BLKq中的编程命令,并且将编程命令传输到半导体存储器装置100(S170)。因此,与第一存储块BLK1相对应的更新映射数据MAPDATA’被存储在第q存储块BLKq中。
下文中,如图10C所示,示出了控制器200生成用于将数据DATA2存储在第二存储块BLK2中的编程命令并将编程命令传输到半导体存储器装置100(S130)的情况。参照图10C,响应于从控制器200接收到的编程命令,数据DATA2被编程到第二存储块BLK2。随着数据DATA2被编程到第二存储块BLK2,第二存储块BLK2变为已满状态(S150:是)。因此,控制器200更新映射数据,生成用于将更新后的映射数据存储在第q存储块BLKq中的编程命令,并且将编程命令传输到半导体存储器装置100(S170)。因此,与第二存储块BLK2相对应的更新后的映射数据MAPDATA”被存储在第q存储块BLKq中。
如参照图10A至图10C所述,在第二存储块BLK2在第一存储块BLK1从开放块改变为封闭块的时间点剩余少量可用空间的情况下,第二存储块BLK2也极有可能在短时间内变为封闭块。由于映射数据被频繁地更新并存储在半导体存储器装置100中,所以存储器系统1000的整体性能可能降低。相反,随着映射数据被更新并存储在半导体存储器装置100中的时段的增加,存储器系统1000的性能可以提高。
因此,当存在剩余少量可用空间的多个开放块时,之后可能频繁地执行更新映射数据并将更新后的映射数据存储在半导体存储器装置100中的操作。这可能是存储器系统1000的性能降低的原因。
根据本公开的另一实施例,当半导体存储器装置100中包括的任意存储块由于从主机300接收到的数据被存储而从开放块改变为封闭块时,控制半导体存储器装置100将虚设数据存储在剩余少量可用空间的另一开放块中。下文中,共同执行更新改变为封闭块的两个或更多个存储块的映射数据的操作和将更新后的映射数据存储在半导体存储器装置100中的操作。因此,可以降低更新映射数据的操作和将更新后的映射数据存储在半导体存储器装置100中的操作的执行频率。结果,存储器系统1000的性能得以提高。
图11是示出根据本公开的另一实施例的操作控制器的方法的流程图。
参照图11,根据本公开的实施例的操作控制器的方法包括:从主机接收写入请求以及与写入请求相对应的数据(S210),控制半导体存储器装置100将数据存储在多个存储块之中的第一存储块中(S220),以及确定第一存储块是否已满(S230)。
根据本公开的实施例的操作控制器的方法可以进一步包括:当第一个存储块已满(S230:是)时,从多个存储块之中确定待存储虚设数据的第二存储块(S240),控制半导体存储器装置100将虚设数据存储在第二存储块的可用空间中(S250),以及更新与第一存储块和第二存储块相对应的映射数据并控制半导体存储器装置100存储更新后的映射数据(S260)。
在操作S210中,控制器200可以从主机300接收写入请求和与写入请求相对应的数据。从主机300接收到的数据是用户数据和待存储在半导体存储器装置100的通用存储区域111中的数据。
在操作S220中,响应于写入请求,控制器200可以控制半导体存储器装置100将用户数据存储在半导体存储器装置100的通用存储区域111中包括的存储块之中的第一存储块中。为此,控制器200可以生成用于存储从主机300接收到的数据的编程命令,并且将所生成的编程命令与数据一起传输到半导体存储器装置100。半导体存储器装置100可以响应于接收到的编程命令将数据编程到第一存储块。
在操作S230中,控制器200确定第一存储块是否已满,即,选定第一存储块是否从开放块改变为封闭块。当第一存储块从开放块改变为封闭块(S230:是)时,控制器200从通用存储区域111中包括的存储块之中确定待存储虚设数据的第二存储块(S240)。在操作S240中,可以将通用存储区域111中包括的存储块之中剩余少量可用空间的开放块确定为第二存储块。
在操作S250中,控制器200控制半导体存储器装置100将虚设数据存储在所确定的第二存储块中。在这种情况下,虚设数据是大小占用第二存储块的所有可用空间的数据。随着操作S250被执行,第二存储块已满,并且因此第二存储块也从开放块改变为封闭块。
下文中,控制器200更新与改变成封闭块的第一存储块和第二存储块相对应的映射数据并存储更新后的映射数据(S260)。更具体地,控制器200的映射数据管理器205可以生成或更新第一存储块和第二存储块的映射数据。命令生成器203可以生成用于控制半导体存储器装置100将所生成的或更新后的映射数据存储在映射数据存储区域113中的编程命令。控制器200可以将所生成的或更新后的映射数据与编程命令一起传输到半导体存储器装置100。响应于编程命令,半导体存储器装置100可以将接收到的映射数据编程到第q存储块BLKq至第z存储块BLKz中的至少一个中。
当第一存储块未满(S230:否)时,即,当第一存储块保持开放块状态时,可以不执行操作S240至S260。
根据图11所示的实施例,当通用存储区域111中包括的任意存储块从开放块改变为封闭块时,控制器200可以控制半导体存储器装置100存储映射数据。因此,当控制器200中包括的RAM的容量较小时,可以有效地管理映射数据。
另外,根据图11所示的实施例,当通用存储区域111中包括的任意存储块从开放块改变为封闭块时,控制器200控制半导体存储器装置100选择剩余少量可用空间的第二存储块并将虚设数据存储在第二存储块中。因此,剩余少量可用空间的第二存储块被强制改变为封闭状态。
下文中,控制器可以同时执行更新第一存储块和第二存储块的映射数据的操作以及将更新后的映射数据存储在半导体存储器装置100中的操作。因此,可以降低更新映射数据的操作和将更新后的映射数据存储在半导体存储器装置100中的操作的执行频率。结果,存储器系统1000的性能得以提高。
图12是示出根据本公开的又一实施例的控制器的框图。
如上面参照图7所述,块管理器201可以存储关于半导体存储器装置100中包括的多个存储块的信息。例如,块管理器201可以包括关于半导体存储器装置100中包括的开放块、空闲块或封闭块的信息。块管理器201可以管理作为关于存储块的信息的块信息INF_BLK。另外,块管理器201可以将块信息INF_BLK传输到命令生成器203。
命令生成器203可以生成用于控制半导体存储器装置100的操作的命令CMD。命令生成器203可以将所生成的命令CMD传输到半导体存储器装置100。当所生成的命令CMD是编程命令时,命令生成器203可以将待编程的数据DATA与命令CMD一起传输到半导体存储器装置100。作为示例,图12所示的数据DATA可以是从主机300接收的用户数据。
映射数据管理器205可以管理指示半导体存储器装置100中存储的数据的物理地址与逻辑地址之间的关系的映射数据MAPDATA。当映射数据MAPDATA要被编程到半导体存储器装置100时,映射数据管理器205可以将映射数据MAPDATA传输到命令生成器203。在这种情况下,命令生成器203可以将接收到的映射数据MAPDATA作为待编程的数据DATA传输到半导体存储器装置100。
命令生成器203可以基于从块管理器201接收到的块信息INF_BLK来确定存储虚设数据的存储块。如上面参照图11所述,当第一存储块变得写满数据(S230:是)时,控制器200的命令生成器203可以在多个存储块之中确定用于存储虚设数据的第二存储块(S240)。从块管理器201接收到的块信息INF_BLK可以用于确定第二存储块。
命令生成器203可以生成用于将虚设数据存储在所确定的第二存储块中的编程命令,并且将所生成的编程命令与虚设数据一起传输到半导体存储器装置(S250)。半导体存储器装置100可以响应于接收到的编程命令而将虚设数据存储在第二存储块中。因此,第二存储块可以从开放块改变为封闭块。下文中,映射数据管理器205可以更新与第一存储块和第二存储块相对应的映射数据。更新后的映射数据可以被传输到命令生成器203。
图13A、图13B和图13C是示出根据本公开的实施例的操作图12中所示的控制器的方法的示图。
参照图13A至图13C,示出了属于通用存储区域111的第一存储块BLK1和第二存储块BLK2以及属于映射数据存储区域113的第q存储块BLKq。为了便于描述,省略了对除第一存储块BLK1、第二存储块BLK2和第q存储块BLKq之外的存储块的说明。在图13A至图13C中,每个存储块的阴影区域指示存储数据的区域,并且白色区域指示未存储数据的区域。例如,在图13A中,在第一存储块BLK1和第二存储块BLK2两者的一些区域中存储数据并且在其它区域中未存储数据。即,如图13A所示,第一存储块BLK1和第二存储块BLK2都是开放块。根据图13A,第q存储块BLKq也是开放块,并且映射数据MAPDATA被存储在一些区域中。
示出了控制器200生成用于将数据DATA1存储在第一存储块BLK1中的编程命令并将编程命令传输到半导体存储器装置100(S220)的情况。参照图13B,响应于从控制器200接收到的编程命令,数据DATA1被编程到第一存储块BLK1。随着数据DATA1被编程到第一存储块BLK1,第一存储块BLK1变为已满状态(S230:是)。因此,控制器200从多个存储块之中确定用于存储虚设数据的第二存储块(S240)。在图13A至图13C的示例中,第二存储块BLK2被确定为存储虚设数据的存储块。即,第二存储块BLK2被确定为用于存储虚设数据的目标存储块。
下文中,如图13C所示,控制器200控制半导体存储器装置将虚设数据存储在第二存储块BLK2的可用空间中(S250)。因此,第二存储块BLK2变为已满状态。因为第一存储块BLK1和第二存储块BLK2从开放块改变为封闭块,所以将与第一存储块BLK1和第二存储块BLK2相对应的更新后的映射数据MAPDATA’存储在第q存储块BLKq中(S260)。
如参照图13A至图13C所述,在第二存储块BLK2在第一存储块BLK1从开放块改变为封闭块的时间点剩余少量可用空间的情况下,控制器200控制半导体存储器装置100将虚设数据存储在第二存储块BLK2中。因此,第二存储块BLK2被人为地(artificially)从开放块改变为封闭块。下文中,共同执行更新被改变为封闭块的两个或更多个存储块的映射数据的操作和将更新后的映射数据存储在半导体存储器装置100中的操作。因此,可以降低更新映射数据的操作和将更新后的映射数据存储在半导体存储器装置100中的操作的执行频率。结果,存储器系统1000的性能得以提高。
图14是示出根据本公开的实施例的图11的操作S240的示例的流程图。即,图14示出了从多个存储块之中确定用于存储虚设数据的第二存储块的实施例。
参照图14,图11的操作S240包括:参考(refer to)与除第一存储块之外的剩余存储块之中的开放块相对应的每个存储块的可用空间(S310),以及将可用空间小于预定参考值的存储块确定为第二存储块(S330)。
在操作S310,命令生成器203可以接收从块管理器201接收的块信息INF_BLK。命令生成器203可以通过块信息INF_BLK来参考与开放块相对应的每个存储块的可用空间。
在操作S330中,命令生成器203可以将与开放块相对应的存储块之中可用空间小于预定参考值的存储块确定为第二存储块。即,在开放块之中,可以将可用空间小于预定参考值的存储块确定为第二存储块。
在特定情况下,可能在操作S330中确定一个第二存储块。在这种情况下,在操作S250中,控制器200可以控制半导体存储器装置100将虚设数据存储在一个所确定的第二存储块中。下文中,可以更新与第一存储块和第二存储块(即,两个存储块)相对应的映射数据,并且可以将更新后的映射数据存储在半导体存储器装置中(S260)。
在另一情况下,可能在操作S330中确定两个或更多个第二存储块。在这种情况下,在操作S250中,控制器200可以控制半导体存储器装置100将虚设数据存储在两个或更多个所确定的第二存储块中。下文中,可以更新与第一存储块和多个第二存储块(即,三个或更多个存储块)相对应的映射数据,并且可以将更新后的映射数据存储在半导体存储器装置中(S260)。
在又一情况下,可能不存在操作S330中确定的第二存储块。即,所有开放块的可用空间可以大于预定参考值。在这种情况下,可以不存储虚设数据,并且可以仅更新与第一存储块相对应的映射数据并且可以将更新后的映射数据存储在半导体存储器装置中。
图15是示出根据本公开的实施例的图11的操作S240的另一示例的流程图。即,图15示出了从多个存储块之中确定用于存储虚设数据的第二存储块的另一实施例。
参照图15,图11的操作S240包括参考与除第一存储块之外的剩余存储块之中的开放块相对应的每个存储块的可用空间(S310),并且将开放块之中可用空间最小的存储块确定为第二存储块(S335)。
在操作S310,命令生成器203可以接收从块管理器201接收的块信息INF_BLK。命令生成器203可以通过块信息INF_BLK来参考与开放块相对应的每个存储块的可用空间。可以以与图14的操作S310大体相同的方法来执行图15的操作S310。
在操作S335,命令生成器203可以将与开放块相对应的存储块之中可用空间最小的存储块确定为第二存储块。即,在开放块之中,可以将可用空间最小的存储块确定为第二存储块。在这种情况下,在操作S335中,将一个存储块确定为第二存储块。在操作S250,控制器200可以控制半导体存储器装置100将虚设数据存储在一个所确定的第二存储块中。下文中,可以更新与第一存储块和第二存储块(即,两个存储块)相对应的映射数据,并且可以将更新后的映射数据存储在半导体存储器装置中(S260)。
在实施例中,通用存储区域111可以包括至少一个单层单元(SLC)块和至少一个多层单元(MLC)块。根据实施例,SLC块可以用作缓冲存储块。即,传输到半导体存储器装置100的数据可以被首先存储在SLC块中。由于数据被持续存储在SLC块中,因此当SLC块变为已满状态时,SLC块中存储的数据可以被传送到MLC块。
作为另一示例,通用存储区域111可以包括至少一个SLC块和至少一个三层单元(TLC)块。根据实施例,SLC块可以用作缓冲存储块。即,传输到半导体存储器装置100的数据可以被首先存储在SLC块中。由于数据被持续存储在SLC块中,因此当SLC块变为已满状态时,SLC块中存储的数据可以被传送到TLC块。
在图14和图15的实施例中,可以在SLC块之中确定第二存储块。如上所述,在实施例中,半导体存储器装置100可以包括SLC块和MLC块两者。在这种情况下,可以从具有开放块状态的SLC块之中选择成为虚设数据的存储目标的第二存储块。更具体地,当MLC块已满时,可以将SLC块确定为第二存储块。在又一实施例中,半导体存储器装置100可以包括SLC块和TLC块两者。在这种情况下,可以从具有开放块状态的SLC块之中选择成为虚设数据的存储目标的第二存储块。更具体地,当TLC块已满时,可以将SLC块确定为第二存储块。
根据又一实施例,可以从MLC块或TLC块中确定第二存储块。例如,半导体存储器装置100可以包括SLC块和MLC块。在这种情况下,当SLC块已满时,可以将具有开放块状态的任意MLC块确定为第二存储块。作为又一示例,半导体存储器装置100可以包括SLC块和TLC块。在这种情况下,当SLC块已满时,可以将具有开放块状态的任意TLC块确定为第二存储块。
图16是示出根据本公开的实施例的图1中所示的控制器的示例的框图。
参照图16,控制器200连接到半导体存储器装置100和主机Host。半导体存储器装置100可以是参照图2描述的半导体存储器装置。控制器200与图1或图7的控制器200相对应。下文中,省略重复的描述。
控制器200被配置成响应于来自主机Host的请求而访问半导体存储器装置100。例如,控制器200被配置成控制半导体存储器装置100的读取操作、写入操作、擦除操作和后台操作。控制器200被配置成提供半导体存储器装置100和主机Host之间的接口。控制器200被配置成驱动用于控制半导体存储器装置100的固件。
控制器200包括随机存取存储器(RAM)210、处理单元220、主机接口230、存储器接口240和错误校正块250。RAM 210用作处理单元220的操作存储器、半导体存储器装置100与主机Host之间的高速缓存存储器以及半导体存储器装置100与主机Host之间的缓冲存储器中的至少一个。另外,RAM 210可以用作临时存储待传输到半导体存储器装置100的命令的命令队列。在实施例中,RAM 210可以包括静态随机存取存储器(SRAM)和动态存取随机存取存储器(DRAM)中的至少一种。
处理单元220控制控制器200的整体操作。根据实施例,图7和图12所示的块管理器201和映射数据管理器205可以以由处理单元220驱动的固件的形式实施。块管理器201可以将块信息INF_BLK存储在RAM 210中,并且映射数据管理器205可以将所生成或更新后的映射数据MAPDAT存储在RAM 210中。
主机接口230包括用于在主机Host与控制器200之间执行数据交换的协议。在实施例中,控制器200被配置成通过诸如以下的各种通信标准或接口中的至少一种与主机Host通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机系统接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议和私有协议。
存储器接口240与半导体存储器装置100接口连接。例如,存储器接口1240包括NAND接口或NOR接口。根据实施例,图7和图12中所示的命令生成器203可以利用存储器接口240来实施。
错误校正块250被配置成使用错误校正码(ECC)来检测并校正从半导体存储器装置100接收的数据的错误。处理单元220可以根据错误校正块250的错误检测结果来控制半导体存储器装置100调整读取电压并执行重新读取。在实施例中,错误校正块可以被设置为控制器200的组件。
控制器200和半导体存储器装置100可以被集成到一个半导体装置中。在实施例中,控制器200和半导体存储器装置100可以被集成到一个半导体装置中以形成存储卡。例如,控制器200和半导体存储器装置100可以被集成到一个半导体装置中以形成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、安全数字(SD)卡(SD、迷你SD、微型SD或SDHC)和通用闪存(UFS)。
控制器200和半导体存储器装置100可以被集成到一个半导体装置中以形成半导体驱动器(固态驱动器(SSD))。半导体驱动器(SSD)包括被配置成将数据存储到半导体存储器中的存储器系统1000。当将包括控制器200和半导体存储器装置100的存储器系统1000用作半导体驱动器(SSD)时,连接到存储器系统1000的主机的操作速度显著提高。
作为另一示例,包括控制器200和半导体存储器装置100的存储器系统1000被设置为诸如以下的电子装置的各种组件中的一种:计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、能够在无线环境中传输和接收信息的装置、配置家庭网络的各种电子装置中的一种、配置计算机网络的各种电子装置中的一种、配置远程信息处理网络的各种电子装置中的一种、RFID装置、或配置计算系统的各种组件中的一种。
在实施例中,半导体存储器装置100或包括半导体存储器装置100的存储器系统1000可以被安装为各种类型的封装。例如,半导体存储器装置100或存储器系统1000可以以诸如以下的方法来封装和安装:堆叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、叠片包装的管芯(a die in wafflepack)、晶圆形式管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形集成电路封装(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。
图17是示出根据本公开的实施例的图1的存储器系统的应用示例的框图。
参照图17,存储器系统2000包括半导体存储器装置2100和控制器2200。半导体存储器装置2100包括多个半导体存储器芯片。多个半导体存储器芯片被划分成多个组。
在图17中,多个组分别通过第一通道CH1至第k通道CHk与控制器2200通信。每个半导体存储器芯片与参照图2描述的半导体存储器装置100中的那样类似地配置和操作。
每个组被配置成通过一个公共通道与控制器2200通信。控制器2200与参照图16描述的控制器200类似地配置,并且被配置成通过多个通道CH1至CHk控制半导体存储器装置2100的多个存储器芯片。
图18是示出根据本公开的实施例的包括参照图17描述的存储器系统的计算系统的框图。
计算系统3000包括中央处理装置3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500和存储器系统2000。
存储器系统2000通过系统总线3500电连接到中央处理装置3100、RAM 3200、用户接口3300和电源3400。通过用户接口3300提供或由中央处理装置3100处理的数据被存储在存储器系统2000中。
在图18中,半导体存储器装置2100通过控制器2200连接到系统总线3500。然而,半导体存储器装置2100可以被配置成直接连接到系统总线3500。此时,控制器2200的功能由中央处理装置3100和RAM 3200执行。
在图18中,提供了参照图17描述的存储器系统2000。然而,存储器系统2000可以利用参照图16描述的包括控制器200和半导体存储器装置100的存储器系统来替换。
本说明书及附图中公开的本公开的实施例仅是为了便于描述本发明的技术内容和促进理解本公开的具体示例,而不应限制本公开的范围。对本公开所属领域的技术人员显而易见的是,除了本文公开的实施例和所附的权利要求书之外,还可以基于本公开的技术精神进行其它修改。此外,可以组合实施例以形成另外的实施例。

Claims (20)

1.一种控制器,控制包括多个存储块的半导体存储器装置,所述控制器包括:
块管理器,管理关于所述多个存储块的信息;
映射数据管理器,管理所述多个存储块中存储的数据的映射数据;以及
命令生成器,生成控制所述半导体存储器装置的编程操作的编程命令,
其中所述命令生成器生成用于将数据存储在所述多个存储块之中的第一存储块中的编程操作的所述编程命令,并且
其中所述命令生成器进一步在所述第一存储块由于编程操作而已满时,基于来自所述块管理器的信息来确定存储虚设数据的第二存储块。
2.根据权利要求1所述的控制器,其中所述命令生成器生成控制所述半导体存储器装置将所述虚设数据存储在所述第二存储块中的编程命令。
3.根据权利要求2所述的控制器,其中随着所述虚设数据被存储在所述第二存储块中,所述第二存储块变为已满状态。
4.根据权利要求2所述的控制器,其中所述映射数据管理器进一步更新与所述第一存储块和所述第二存储块相对应的映射数据,并将更新后的映射数据传输到所述命令生成器。
5.根据权利要求4所述的控制器,其中所述命令生成器生成控制所述半导体存储器装置存储与所述第一存储块和所述第二存储块相对应的更新后的映射数据的编程命令。
6.根据权利要求1所述的控制器,其中所述命令生成器基于来自所述块管理器的信息来将所述多个存储块之中可用空间小于预定参考值的开放块确定为所述第二存储块。
7.根据权利要求1所述的控制器,其中所述命令生成器基于来自所述块管理器的信息来将所述多个存储块之中可用空间最小的开放块确定为所述第二存储块。
8.根据权利要求1所述的控制器,
其中所述多个存储块包括单层单元块即SLC块、以及多层单元块即MLC块或三层单元块即TLC块中的至少一个,
其中所述第一存储块是所述MLC块或所述TLC块中的至少一个,并且
其中所述命令生成器将所述SLC块确定为所述第二存储块。
9.根据权利要求1所述的控制器,
其中所述多个存储块包括单层单元块即SLC块、以及多层单元块即MLC块或三层单元块即TLC块中的至少一个,
其中所述第一存储块是所述SLC块,并且
其中所述命令生成器将所述MLC块或所述TLC块中的至少一个确定为所述第二存储块。
10.一种操作控制器的方法,所述控制器控制包括多个存储块的半导体存储器装置,所述方法包括:
控制所述半导体存储器装置将数据存储在所述多个存储块之中的第一存储块中;并且
响应于确定所述第一存储块已满,从所述多个存储块之中确定待存储虚设数据的第二存储块。
11.根据权利要求10所述的方法,进一步包括:控制所述半导体存储器装置将所述虚设数据存储在所述第二存储块中。
12.根据权利要求11所述的方法,其中随着所述虚设数据被存储在所述第二存储块中,所述第二存储块变为已满状态。
13.根据权利要求11所述的方法,进一步包括:
更新与所述第一存储块和所述第二存储块相对应的映射数据;并且
控制所述半导体存储器装置存储更新后的映射数据。
14.根据权利要求10所述的方法,其中确定所述第二存储块包括:
参考所述多个存储块之中与开放块相对应的每个存储块的可用空间;并且
将所述开放块之中可用空间小于预定参考值的存储块确定为所述第二存储块。
15.根据权利要求10所述的方法,其中确定所述第二存储块包括:
参考所述多个存储块之中与开放块相对应的每个存储块的可用空间;并且
将所述开放块之中可用空间最小的存储块确定为所述第二存储块。
16.根据权利要求10所述的方法,
其中所述多个存储块包括单层单元块即SLC块、以及多层单元块即MLC块或三层单元块即TLC块中的至少一个,
其中所述第一存储块是所述MLC块或所述TLC块中的至少一个,并且
其中确定所述第二存储块包括将所述SLC块确定为所述第二存储块。
17.根据权利要求10所述的方法,
其中所述多个存储块包括单层单元块即SLC块、以及多层单元块即MLC块或三层单元块即TLC块中的至少一个,
其中所述第一存储块是所述SLC块,并且
其中确定所述第二存储块包括将所述MLC块或所述TLC块中的至少一个确定为所述第二存储块。
18.一种控制器的操作方法,所述控制器控制包括多个存储器单元的存储器装置,所述操作方法包括:
当所述多个存储器单元之中的第一存储器单元变为封闭时,控制所述存储器装置将所述多个存储器单元之中的第二存储器单元封闭;
更新与所述第一存储器单元和所述第二存储器单元相对应的映射数据;并且
控制所述存储器装置将更新后的映射数据存储在所述存储器装置中。
19.根据权利要求18所述的操作方法,其中所述第二存储器单元具有小于阈值的可用存储空间。
20.根据权利要求18所述的操作方法,其中在所述存储器装置中包括的开放存储器单元之中,所述第二存储器单元具有最小的可用存储空间。
CN202210006932.1A 2021-04-22 2022-01-05 控制器及其操作方法 Withdrawn CN115237337A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210052605A KR20220145695A (ko) 2021-04-22 2021-04-22 컨트롤러 및 그 동작 방법
KR10-2021-0052605 2021-04-22

Publications (1)

Publication Number Publication Date
CN115237337A true CN115237337A (zh) 2022-10-25

Family

ID=83667799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210006932.1A Withdrawn CN115237337A (zh) 2021-04-22 2022-01-05 控制器及其操作方法

Country Status (3)

Country Link
US (1) US11899973B2 (zh)
KR (1) KR20220145695A (zh)
CN (1) CN115237337A (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101854200B1 (ko) 2011-04-27 2018-06-20 시게이트 테크놀로지 엘엘씨 데이터 라이트 방법 및 이를 적용한 저장 장치
US20150170747A1 (en) * 2013-12-17 2015-06-18 Skymedi Corporation Method and system for programming a multi-bit per cell non-volatile memory
KR102272228B1 (ko) * 2014-05-13 2021-07-06 삼성전자주식회사 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
KR20190075563A (ko) 2017-12-21 2019-07-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP2021114038A (ja) * 2020-01-16 2021-08-05 キオクシア株式会社 メモリシステムおよび制御方法
KR20220077573A (ko) * 2020-12-02 2022-06-09 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Also Published As

Publication number Publication date
US20220342602A1 (en) 2022-10-27
US11899973B2 (en) 2024-02-13
KR20220145695A (ko) 2022-10-31

Similar Documents

Publication Publication Date Title
CN110851375A (zh) 存储器控制器及操作该存储器控制器的方法
CN109979513B (zh) 半导体存储器装置及其操作方法
CN113470719A (zh) 半导体存储器装置、控制器、存储器系统及其操作方法
KR20190111608A (ko) 반도체 메모리 장치 및 그 동작 방법
CN111341370B (zh) 半导体存储器装置、控制器、存储装置及其操作方法
CN110851381A (zh) 存储器控制器、存储装置及其操作方法
US11550492B2 (en) Semiconductor memory device, controller, and memory system having semiconductor memory device and controller
US10937511B2 (en) Semiconductor memory device, memory system including controller, and method of operating controller
CN114078532A (zh) 半导体存储器装置及其操作方法
CN113744782A (zh) 存储器装置及其操作方法
CN112242155A (zh) 半导体存储器装置
US11899973B2 (en) Controller and method of operating the same
CN110838334A (zh) 高速缓存缓冲器以及具有其的半导体存储器装置
US11594291B2 (en) Semiconductor memory device and method of operating the same
CN112860180B (zh) 半导体存储器装置及其操作方法
US20220148664A1 (en) Controller and method of operating the same
US11514988B2 (en) Controller and method of operating under sudden power interruption
CN114724603A (zh) 半导体存储器设备及其操作方法
CN114974371A (zh) 半导体存储器设备、控制器及其操作方法
CN115083489A (zh) 控制半导体存储器装置的控制器及操作控制器的方法
CN115129614A (zh) 存储器系统及操作该存储器系统的方法
KR20220063609A (ko) 반도체 메모리 장치 및 그 동작 방법
KR20230134893A (ko) 반도체 메모리 장치의 선택 트랜지스터 프로그램 방법
CN114141286A (zh) 半导体存储器装置及其操作方法
CN115132257A (zh) 半导体存储器设备和操作该半导体存储器设备的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20221025