CN116804909A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN116804909A CN116804909A CN202310047304.2A CN202310047304A CN116804909A CN 116804909 A CN116804909 A CN 116804909A CN 202310047304 A CN202310047304 A CN 202310047304A CN 116804909 A CN116804909 A CN 116804909A
- Authority
- CN
- China
- Prior art keywords
- memory device
- buffer memory
- memory
- host
- write 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 21
- 230000015654 memory Effects 0.000 claims abstract description 261
- 239000000872 buffer Substances 0.000 claims abstract description 157
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000012546 transfer Methods 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 23
- 239000010410 layer Substances 0.000 description 17
- 238000004891 communication Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 9
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 239000002356 single layer Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 1
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 1
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开涉及一种存储装置,该存储装置包括:存储器装置,具有多个存储器单元,并且执行编程操作以将写入数据存储在多个存储器单元中;缓冲存储器装置,临时在其中存储写入数据;以及存储器控制器,控制缓冲存储器装置和存储器装置以响应于从主机接收的写入命令而将从主机中包括的主机存储器接收的写入数据临时存储在缓冲存储器装置中并且将写入数据从缓冲存储器装置提供到存储器装置,其中存储器控制器包括缓冲存储器管理器,该缓冲存储器管理器基于缓冲存储器装置的已使用容量来确定在第一时间点还是第二时间点向主机传送关于写入命令的命令完成。
Description
相关申请的交叉引用
本申请要求于2022年3月24日提交的、申请号为10-2022-0036890的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
多种实施例总体上涉及一种存储装置,并且更具体地,涉及一种存储装置及其操作方法。
背景技术
存储装置被配置为响应于诸如计算机或智能电话的主机装置的控制来存储数据。存储装置可以包括存储数据的存储器装置和控制存储器装置的存储器控制器。存储器装置可以分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置只要在供电时就可以保留数据,并且在没有供电时可能会丢失所存储的数据。易失性存储器装置的类型可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置即使没有供电也不会丢失数据。非易失性存储器装置的类型可以包括只读存储器(ROM)、可编程存储器(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器等。
发明内容
本公开的多种实施例涉及一种有效地使用缓冲存储器装置的存储装置以及操作该存储装置的方法。
根据本公开的实施例,一种存储装置可以包括:存储器装置,包括多个存储器单元,并且执行编程操作以将写入数据存储在多个存储器单元中;缓冲存储器装置,临时在其中存储写入数据;以及存储器控制器,控制缓冲存储器装置和存储器装置,以响应于从主机接收的写入命令而将从主机中包括的主机存储器接收的写入数据临时存储在缓冲存储器装置中并且将写入数据从缓冲存储器装置提供到存储器装置,其中存储器控制器包括缓冲存储器管理器,该缓冲存储器管理器基于缓冲存储器装置的已使用容量来确定在第一时间点还是第二时间点向主机传送关于写入命令的命令完成。
根据本公开的实施例,一种存储装置可以包括:存储器装置,包括多个存储器单元,并且被配置为执行写入操作以将写入数据存储在多个存储器单元中;缓冲存储器装置,临时存储待提供给存储器装置的写入数据;以及存储器控制器,控制缓冲存储器装置和存储器装置,以响应于从主机接收的写入请求而将写入数据从主机存储器提取到缓冲存储器装置并且向存储器装置提供临时存储在缓冲存储器装置中的写入数据,其中存储器控制器包括缓冲存储器管理器,该缓冲存储器管理器基于包括指示多个编程操作的多编程标志的写入请求,确定在第一时间点还是第二时间点向主机传送关于写入命令的命令完成。
根据本公开的实施例,一种操作存储器控制器的方法可以包括:从主机接收写入命令,向缓冲存储器装置分配与写入命令相对应的并且从主机存储器接收的写入数据,将写入数据存储在缓冲存储器装置中,确定何时向主机传送关于写入命令的命令完成,向存储器装置提供编程命令和缓冲存储器装置中存储的写入数据,并且控制存储器装置利用所提供的写入数据来执行编程操作。
根据本公开的实施例,一种控制器的操作方法可以包括:根据写入请求来控制存储器装置在其中存储所缓冲的数据,并且根据所缓冲的数据的当前数量在控制存储器装置之前或之后对写入请求进行响应。
根据本公开的实施例,一种控制器的操作方法可以包括:控制存储器装置以根据写入请求在其中存储所缓冲的数据,并且根据写入请求内的多编程标志在控制存储器装置之前或之后对写入请求进行响应。
附图说明
图1是示出根据本公开的实施例的存储装置的框图;
图2是示出根据本公开的实施例的存储器装置的框图;
图3是示出根据本公开的实施例的存储块的框图;
图4是示出根据本公开的实施例的主机存储器的操作的框图;
图5是示出根据本公开的实施例的存储器控制器的框图;
图6是示出根据本公开的实施例的存储装置的写入操作的框图;
图7是示出根据本公开的实施例的存储装置的写入操作的框图;
图8是示出根据本公开的实施例的存储装置的写入操作的框图;
图9是示出根据本公开的实施例的存储器控制器的框图;
图10是示出根据本公开的实施例的存储卡系统的框图;
图11是示出根据本公开的实施例的固态驱动器(SSD)系统的框图;并且
图12是示出根据本公开的实施例的用户系统的示图。
具体实施方式
示出根据本说明书中公开的概念的实施例的特定结构或功能描述仅仅为了描述根据这些概念的实施例,并且根据这些概念的实施例可以通过各种形式执行,但是该描述不限于本说明书中描述的实施例。
图1是示出根据本公开的实施例的存储装置1000的框图。
参照图1,存储装置1000可以包括存储器装置100、存储器控制器200和缓冲存储器装置300。
存储装置1000可以被配置成响应于主机2000的控制而存储数据。存储装置1000的示例可以包括蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、显示装置、平板PC和车载信息娱乐系统。
存储装置1000可以根据对应于与主机2000的通信方法的主机接口而被制造为各种类型的存储装置中的一种。例如,存储装置1000可以被配置为诸如以下的各种存储装置中的任意一种:SSD、SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-e或PCIe)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置1000可以被制造为各种类型的封装中的任意一种。例如,存储装置1000可以被制造为诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据或利用所存储的数据。更具体地,存储器装置100可以响应于存储器控制器200的控制而操作。另外,存储器装置100可以包括多个存储器管芯,并且多个存储器管芯中的每一个可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
存储器单元阵列可以包括多个存储块。多个存储块中的每一个可以包括多个存储器单元。每个存储块可以包括多个页面。页面可以是用于将数据存储在存储器装置100中的单位,或者用于读取存储器装置100中存储的数据的单位。
存储器装置100的示例可以包括双倍数据速率同步动态随机存取存储器(DDRSDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻式随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)和自旋转移力矩随机存取存储器(STT-RAM)。在本说明书中,通过示例的方式,在存储器装置100是NAND闪速存储器的背景下描述本发明的特征和方面。
存储器装置100可以从存储器控制器200接收命令和地址。存储器装置100可以被配置为在存储器单元阵列中访问响应于接收到的地址而选择的区域。当存储器装置100访问所选择的区域时,存储器装置100对所选择的区域执行与接收到的命令相对应的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。编程操作可以指存储器装置100将数据写入通过地址选择的区域中的操作。读取操作可以指存储器装置100从提供地址选择的区域读取数据的操作。擦除操作可以指存储器装置100擦除通过地址选择的区域中存储的数据的操作。
存储器控制器200可以控制存储器装置100的一般操作。更具体地,当向存储装置1000供电时,存储器控制器200可以运行固件FW。固件FW可以包括主机接口层(HIL)、闪存转换层(FTL)和闪存接口层(FIL),主机接口层(HIL)接收从主机2000输入的请求或输出对主机2000的响应,闪存转换层(FTL)管理主机2000的接口与存储器装置100的接口之间的操作,闪存接口层(FIL)向存储器装置100提供命令或从存储器装置100接收响应。
存储器控制器200可以从主机2000接收数据和逻辑地址LA,并且将逻辑地址LA转换(或转变)为物理地址PA,该物理地址PA指示第一存储器装置100中存储的数据的存储器单元的地址。逻辑地址LA可以是逻辑块地址LBA,并且物理地址PA可以是物理块地址PBA。
存储器控制器200可以响应于来自主机2000的请求而控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器装置100提供编程命令、物理块地址和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和物理块地址。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和物理块地址。
存储器控制器200可以控制存储器装置100,使得可以在没有来自主机2000的请求的情况下执行编程操作、读取操作或擦除操作。例如,存储器控制器200可以控制存储器装置100执行用于执行诸如损耗均衡、垃圾收集或读取回收的后台操作的编程操作、读取操作或擦除操作。
缓冲存储器装置300可以存储从主机2000接收的数据,或者存储待传送到主机2000的数据。更具体地,在写入操作期间,缓冲存储器装置300可以在将写入数据从主机2000传送到存储器装置100之前临时存储写入数据。另外,缓冲存储器装置300在将数据传送到主机2000之前,可以临时存储主机2000请求的数据。
根据实施例,缓冲存储器装置300可以响应于存储器控制器200的控制,将所存储的数据清除到存储器装置100。存储器控制器200可以控制缓冲存储器装置300将临时存储的数据提供给存储器装置100。另外,存储器控制器200可以控制缓冲存储器装置300从缓冲存储器装置300中移除特定数据。缓冲存储器装置300可以响应于存储器控制器200的控制而释放分配给缓冲存储器装置300的数据。
主机2000可以通过使用诸如以下的各种通信标准或接口中的至少一种与存储装置1000通信:通用串行总线(USB)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、安全数字(SD)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和/或低负载DIMM(LRDIMM)。
主机2000可以包括主机存储器2100。主机存储器2100可以存储分配给主机存储器2100的写入数据,即用户数据。根据实施例,存储装置1000和主机2000可以使用允许在没有单独请求的情况下访问主机存储器2100的协议。例如,当存储装置1000和主机2000使用基于PCIe的协议相互通信时,存储装置1000可以在没有向主机2000发送单独的请求的情况下访问主机存储器2100。另外,存储装置1000可以响应于从主机2000接收到的写入请求,将与该写入请求相对应的写入数据复制到存储装置1000内部的存储器中。
图2是示出根据本公开的实施例的存储器装置100的框图。
参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz可以通过行线RL联接到行解码器121。行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。多个存储块BLK1至BLKz可以通过第一位线BL1至第n位线BLn联接到页面缓冲器组123。多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。根据实施例,多个存储器单元可以是非易失性存储器单元。可以将联接到同一字线的存储器单元被定义为一个页面。因此,每个存储块可以包括多个页面。
存储器单元阵列110中包括的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
外围电路120可以被配置为响应于控制逻辑130的控制而对存储器单元阵列110的所选择的区域执行编程操作、读取操作或擦除操作。外围电路120可以响应于控制逻辑130而驱动存储器单元阵列110。例如,控制逻辑130可以控制外围电路120向行线RL和第一位线BL1至第n位线BLn施加各种操作电压或者释放所施加的电压。
更具体地,外围电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124、输入/输出电路125以及感测电路126。
行解码器121可以通过行线RL联接到存储器单元阵列110。行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。根据实施例,字线可以包括正常字线和虚拟字线。另外,行线RL可以进一步包括管道选择线。
行解码器121可以被配置为响应于控制逻辑130的控制而操作。行解码器121可以从控制逻辑130接收行地址RADD。更具体地,行解码器121可以被配置为对行地址RADD进行解码。行解码器121可以根据经解码的地址来在存储块BLK1至BLKz之中选择至少一个存储块。行解码器121可以根据经解码的地址来选择所选择的存储块的至少一条字线WL,以将由电压生成器122生成的电压施加到至少一条字线WL。
例如,在编程操作期间,行解码器121可以将编程电压施加到所选择的字线,并且将具有比编程电压更低的电压电平的编程通过电压施加到未选择的字线。在编程验证操作期间,行解码器121可以将验证电压施加到所选择的字线,并且将大于验证电压的验证通过电压施加到未选择的字线。在读取操作期间,行解码器121可以将读取电压施加到所选择的字线,并且将大于读取电压的读取通过电压施加到未选择的字线。
根据实施例,可以以存储块为单位执行对存储器单元阵列110的擦除操作。在擦除操作期间,行解码器121可以根据经解码的地址来选择存储块中的一个,并且行解码器121可以将接地电压施加到与所选择的存储块联接的字线。
电压生成器122可以响应于控制逻辑130的控制而操作。更具体地,电压生成器122可以被配置为响应于控制逻辑130,通过使用供应到存储器装置100的外部电源电压来生成多个电压。例如,电压生成器122可以响应于控制逻辑130的控制而生成编程电压、验证电压、通过电压、读取电压和擦除电压。电压生成器1222可以响应于操作信号OPSIG而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。根据实施例,控制逻辑130可以控制电压生成器122生成用于预验证操作的预验证电压和用于主验证操作的主验证电压以及用于编程操作的编程电压。
根据实施例,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压可以用作存储器单元阵列110的操作电压。
根据实施例,电压生成器122可以通过使用外部电源电压或内部电源电压来生成多个电压。例如,电压生成器122可以包括接收内部电源电压的多个泵浦电容器,并且可以响应于控制逻辑130的控制而通过选择性地激活多个泵浦电容器来生成多个电压。另外,多个生成的电压可以通过行解码器121被供应到存储器单元阵列110。
页面缓冲器组123可以包括第一页面缓冲器PB1至第n页面缓冲器PBn。第一页面缓冲器PB1至第n页面缓冲器PBn可以通过第一位线BL1至第n位线BLn分别联接到存储器单元阵列110。另外,第一页面缓冲器PB1至第n页面缓冲器PBn可以响应于控制逻辑130的控制而操作。更具体地,第一页面缓冲器PB1至第n页面缓冲器PBn可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,第一页面缓冲器PB1至第n页面缓冲器PBn可以临时存储通过第一位线BL1至第n位线BLn接收的数据,或者可以在读取操作或验证操作期间感测第一位线BL1至第n位线BLn中的电压或电流。
更具体地,在编程操作期间,当向所选择的字线施加编程脉冲时,第一页面缓冲器PB1至第n页面缓冲器PBn可以通过第一位线BL1至第n位线BLn将通过输入/输出电路125接收的数据DATA传送到所选择的存储器单元。可以根据传送的数据DATA来编程所选择的页面的存储器单元。联接到施加有编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。可以保持联接到施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压。
在编程验证操作期间,第一页面缓冲器PB1至第n页面缓冲器PBn可以分别通过第一位线BL1至第n位线BLn从所选择的存储器单元读取页面数据。
在读取操作期间,第一页面缓冲器PB1至第n页面缓冲器PBn可以通过第一位线BL1至第n位线BLn从所选择的页面的存储器单元中读取数据DATA,并且可以响应于列解码器124的控制而将读取的数据DATA输出到数据输入/输出电路125。
在擦除操作期间,第一页面缓冲器PB1至第n页面缓冲器PBn可以使第一位线BL1至第n位线BLn浮置。
列解码器124可以响应于列地址CADD而在输入/输出电路125与页面缓冲器组123之间传送数据。例如,列解码器124可以通过数据线DL与第一页面缓冲器PB1至第n页面缓冲器PBn交换数据,或者可以通过列线CL与输入/输出电路1140交换数据。
输入/输出电路125可以将命令CMD和地址ADDR从存储器控制器200传送到控制逻辑130,或者可以与列解码器124交换数据DATA。
在读取操作或验证操作期间,感测电路126可以响应于允许位信号VRYBIT而生成参考电流,并且将从页面缓冲器组123接收的感测电压VPB与由参考电流生成的参考电压进行比较以输出通过信号PASS或失败信号FAIL。
控制逻辑130可以响应于命令CMD和地址ADDR,通过输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位信号VRYBIT来控制外围电路120。
另外,控制逻辑130可以响应于通过信号PASS或失败信号FAIL,确定验证操作是通过还是失败。另外,控制逻辑130可以控制页面缓冲器组123将包括通过信号PASS或失败信号FAIL的验证操作结果临时存储在页面缓冲器组123中。更具体地,控制逻辑130可以响应于通过信号PASS或失败信号FAIL而确定存储器单元的编程状态。例如,当存储器单元作为三层单元(TLC)操作时,控制逻辑130可以确定存储器单元的编程状态是擦除状态E还是第一编程状态P1至第七编程状态P7中的一个。
图3是示出根据本公开的实施例的存储块BLKi的框图。
参照图3,存储块BLKi可以联接到平行布置在第一选择线和第二选择线之间的多条字线。第一选择线可以是源极选择线SSL,并且第二选择线可以是漏极选择线DSL。更具体地,存储块BLKi可以包括联接在第一位线BL1至第n位线BLn与源极线SL之间的多个串ST。第一位线BL1至第n位线BLn可以分别联接到串ST,并且源极线SL可以共同联接到串ST。由于串ST可以具有相同的配置,因此将通过示例的方式详细地描述联接到第一位线BL1的串ST。
串ST可以包括源极选择晶体管SST、多个存储器单元F1至F16以及串联联接在源极线SL与第一位线BL1之间的漏极选择晶体管DST。一个串ST可以包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST,并且在串ST中可以包括比图3所示的存储器单元F1至F16更多的存储器单元。
源极选择晶体管SST的源极可以联接到源极线SL,并且漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元F1至F16可以串联联接在源极选择晶体管SST与漏极选择晶体管DST之间。不同串ST中包括的源极选择晶体管SST的栅极可以联接到源极选择线SSL,漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,并且存储器单元F1至F16的栅极可以联接到多条字线WL1至WL16。不同串ST中包括的存储器单元之中联接到同一字线的一组存储器单元可以被称为物理页面PPG。因此,存储块BLKi可以包括与字线WL1至WL16的数量一样多的物理页面PPG。
存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
单层单元(SLC)可以包括一位数据。单层单元的一个物理页面PPG可以存储一个逻辑页面(LPG)数据。单个逻辑页面LPG的数据可以包括与单个物理页面PPG中包括的单元的数量一样多的数据位。
多层单元(MLC)、三层单元(TLC)和四层单元(QLC)可以存储两位或更多位数据。一个物理页面PPG可以存储至少两个逻辑页面LPG的数据。
图4是示出根据本公开的实施例的主机存储器2100的框图。
参照图4,主机2000、存储器控制器200以及缓冲存储器装置300可以在写入操作期间执行通信。
主机2000可以请求用于将用户数据存储在存储器装置100中的写入操作。响应于来自主机2000的请求,存储装置1000可以从主机2000获得用户数据。例如,主机2000可以将针对写入操作的写入请求传送到存储器控制器200。响应于写入请求,存储器控制器200可以控制缓冲存储器装置300将写入数据从主机存储器2100复制到缓冲存储器装置300。更具体地,存储器控制器200可以响应于写入请求而将写入数据分配给缓冲存储器装置300,并且缓冲存储器装置300可以存储从主机存储器2100加载的写入数据。
当写入数据缓冲在缓冲存储器装置300中时,存储器控制器200可以传送命令(CMD)完成以指示完成了与主机2000所请求的写入命令有关的一系列处理。
当主机2000从存储器控制器200接收到CMD完成时,主机2000可以释放主机存储器2100中存储的写入数据。换言之,主机2000可以在接收到CMD完成之后将其他数据存储在主机存储器2100中。
在存储器控制器200将CMD完成传送到主机2000之后,存储器控制器200可以控制缓冲存储器装置300缓冲写入数据,直到写入数据完全存储在存储器装置100中。
图5是示出根据本公开的实施例的存储器控制器200的框图。
参照图5,存储器控制器200可以包括缓冲存储器管理器210和编程操作控制器220。
缓冲存储器管理器210可以控制缓冲存储器装置300。更具体地,缓冲存储器管理器210可以控制缓冲存储器装置300将写入数据分配给缓冲存储器装置300或释放所分配的写入数据。
另外,缓冲存储器管理器210可以基于缓冲存储器装置300的已使用容量或剩余容量来确定何时传送CMD完成。在一个实施例中,缓冲存储器装置300的已使用容量可以是缓冲存储器装置300的全部容量之中已经使用的容量的量。根据实施例,缓冲存储器管理器210可以基于缓冲存储器装置300的已使用容量或剩余容量来确定在第一时间点还是第二时间点传送关于写入命令的CMD完成。更具体地,当缓冲存储器装置300的已使用容量小于阈值时,缓冲存储器管理器210可以确定在第一时间点传送CMD完成。更具体地,当缓冲存储器装置300的已使用容量等于或大于阈值时,缓冲存储器管理器210可以确定在第二时间点传送CMD完成。第一时间点可以指在写入数据从主机存储器2100传送到缓冲存储器装置300之后的时间点。第二时间点可以指在将写入数据存储在存储器单元中的写入操作正常完成之后的时间点。
在一个实施例中,缓冲存储器管理器210可以基于缓冲存储器装置300的写入数据的大小来确定在第一时间点还是第二时间点传送关于写入命令的CMD完成。例如,当缓冲存储器装置300中存储的写入数据的大小小于阈值时,缓冲存储器管理器210可以确定在第一时间点传送CMD完成。当缓冲存储器装置300中存储的写入数据的大小等于或大于阈值时,缓冲存储器管理器210可以确定在第二时间点传送CMD完成。
另外,当缓冲存储器管理器210确定在第二时间点传送CMD完成时,缓冲存储器管理器210可以控制缓冲存储器装置300释放缓冲存储器装置300中缓冲的写入数据。在释放分配给缓冲存储器装置300的写入数据之后,如果存储器装置100对写入数据的写入操作失败,则存储器控制器200可以控制缓冲存储器装置300将与写入数据相对应的数据提取到缓冲存储器装置300。
根据另一实施例,缓冲存储器管理器210可以基于包括多编程标志的写入请求来确定何时传送CMD完成,多编程标志指示多个编程操作。多编程标志可以表示由主机2000请求的写入操作用于请求多个编程操作。更具体地,当设置多编程标志时,它可以包括用于请求对多个管芯或多个平面的编程操作的多平面编程操作、用于将数据的顺序逻辑地址存储在多个页面中的顺序编程操作或条带编程操作。
根据实施例,当接收到包括多编程标志的写入请求时,缓冲存储器管理器210可以根据多编程标志确定在第一时间点还是第二时间点传送关于写入请求的CMD完成。例如,当多编程标志的值为0(零)时,缓冲存储器管理器210可以确定在第一时间点传送CMD完成。然而,当多编程标志的值为1(一)时,缓冲存储器管理器210可以确定在第二时间点传送CMD完成。第一时间点可以指在写入数据从主机存储器2100传送到缓冲存储器装置300之后的时间点。第二时间点可以指在将写入数据存储在存储器单元中的写入操作正常完成之后的时间点。编程操作控制器220可以控制存储器装置100执行编程操作。更具体地,当编程操作控制器220从主机2000接收到写入请求时,编程操作控制器220可以将编程命令传送到存储器装置100,使得存储器装置100可以执行编程操作。
图6和图7是示出根据本公开的实施例的存储装置的写入操作的框图。
参照图6和图7,在完成写入操作之后,存储器控制器200可以将CMD完成传送到主机2000。
参照图6,当存储器控制器200从主机2000接收到写入请求时,存储器控制器200可以将与写入请求相对应的写入数据分配给缓冲存储器装置300。另外,存储器控制器200可以控制缓冲存储器装置300,使得主机存储器2100中存储的写入数据可以存储在缓冲存储器装置300中。
另外,存储器控制器200可以将编程命令传送到存储器装置100并且控制缓冲存储器装置300将缓冲存储器装置300中缓冲的写入数据传送到存储器装置100。当存储器装置100从存储器控制器200和缓冲存储器装置300接收到编程命令和写入数据时,存储器装置100可以执行与编程命令和写入数据相对应的编程操作。由于存储器控制器200不将CMD完成传送到主机2000,因此存储器控制器200可以释放分配给缓冲存储器装置300的写入数据。通过释放分配给缓冲存储器装置300的写入数据,存储器控制器200可以有效地使用缓冲存储器装置300。
另外,存储器装置100可以将编程操作的结果传送到存储器控制器200。当编程操作成功时,存储器控制器200可以将CMD完成传送到主机2000。当对写入数据的编程操作成功时,可以完成写入操作。因此,存储器控制器200可以将CMD完成传送到主机2000。
下面将参照图7更详细地描述编程操作失败的情况。
参照图7,存储器装置100可以将编程操作的结果传送到存储器控制器200。当编程操作失败时,存储器装置100可以通知存储器控制器200编程操作已经失败。另外,存储器控制器200可以将写入数据重新分配给缓冲存储器装置300,并且控制缓冲存储器装置300从主机存储器2100提取与写入数据相对应的数据。当从主机存储器2100提取到与写入数据相对应的数据时,存储器控制器200可以控制缓冲存储器装置300将与写入数据相对应的数据传送到存储器装置100。另外,当存储器装置100对与写入数据相对应的数据的编程操作成功时,存储器控制器200可以将CMD完成传送到主机2000。
图8是示出根据本公开的实施例的存储装置的写入操作的框图。
参照图8,在将写入数据从主机存储器2100提取到缓冲存储器装置300之后,存储器控制器200可以将CMD完成传送到主机2000。
参照图8,当存储器控制器200从主机2000接收到写入请求时,存储器控制器200可以将与写入请求相对应的写入数据分配给缓冲存储器装置300。另外,存储器控制器200可以控制缓冲存储器装置300,使得主机存储器2100中存储的写入数据可以存储在缓冲存储器装置300中。
另外,当写入数据缓冲在缓冲存储器装置300中时,存储器控制器200可以将CMD完成传送到主机2000。
另外,存储器控制器200可以将编程命令传送到存储器装置100并且控制缓冲存储器装置300将缓冲存储器装置300中缓冲的写入数据传送到存储器装置100。当存储器装置100从存储器控制器200和缓冲存储器装置300接收到编程命令和写入数据时,存储器装置100可以执行与编程命令和写入数据相对应的编程操作。由于主机2000接收到CMD完成,因此主机2000可以释放主机存储器2100中存储的写入数据。通过释放主机存储器2100中存储的写入数据,主机2000可以有效地使用主机存储器2100。
此后,当编程操作失败时,存储器控制器200可以控制存储器装置100和缓冲存储器装置300以使用缓冲存储器装置300中缓冲的写入数据来重新执行编程操作。
图9是示出根据本公开的另一实施例的存储器控制器1300的框图。
参照图9,存储器控制器1300可以包括处理器1310、RAM 1320、ECC电路1330、ROM1360、主机接口1370和闪存接口1380。
处理器1310可以使用主机接口1370与主机2000通信,并且执行逻辑操作以控制存储器控制器1300的操作。例如,处理器1310可以基于来自主机2000或另一外部装置的请求来加载编程命令、数据文件、数据结构等,并且可以执行各种操作或者生成命令或地址。例如,处理器1310可以生成针对编程操作、读取操作、擦除操作、暂停操作和参数设置操作的各种命令。
另外,处理器1310可以用作闪存转换层FTL。处理器1310可以通过闪存转换层FTL将由主机2000提供的逻辑块地址LBA转换成物理块地址PBA。闪存转换层FTL可以接收逻辑块地址LBA,并且通过使用映射表将逻辑块地址LBA转换成物理块地址PBA。基于映射单位,可能存在闪存转换层的多种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
根据实施例,处理器1310可以在没有主机2000的请求的情况下生成命令。例如,处理器1310可以生成用于诸如对存储器装置100的损耗均衡的操作和对存储器装置100的垃圾收集操作的后台操作的命令。
RAM 1320可以用作处理器1310的缓冲存储器、工作存储器或高速缓存存储器。另外,RAM 1320可以存储由处理器1310运行的代码和命令。RAM 1320可以存储由处理器1310处理的数据。另外,RAM1320可以利用静态RAM(SRAM)或动态RAM(DRAM)来实现。
ECC电路1330可以在编程操作或读取操作期间检查错误并且校正错误。更具体地,ECC电路1330可以根据错误校正码(ECC)执行错误校正操作。另外,ECC电路1330可以基于待写入到存储器装置100的数据来执行ECC编码。经ECC编码的数据可以通过闪存接口1380而传送到存储器装置100。另外,ECC电路1330可以对通过闪存接口1380从存储器装置100传送的数据执行ECC解码。
ROM 1360可以用作用于存储关于存储器控制器1300的操作的各种信息的存储单元。更具体地,ROM 1360可以包括存储物理逻辑地址信息和逻辑物理地址信息的映射表。另外,ROM 1360可以通过处理器1310控制。
主机接口1370可以包括用于在主机2000与存储器控制器1300之间交换数据的协议。更具体地,主机接口1370可以通过诸如以下的一种或多种通信标准或接口与主机2000通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机系统接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议、私有协议等。
处理器1380可以控制闪存接口1380使用通信协议与存储器装置100通信。更具体地,闪存接口1380可以通过通道向存储器装置100发送命令、地址和数据或从存储器装置100接收命令、地址和数据。例如,闪存接口1380可以包括NAND接口。
图10是示出根据本公开的实施例的存储卡系统3000的框图。
参照图10,存储卡系统3000可以包括存储器控制器3100、存储器装置3200和连接器3300。
存储器控制器3100可以联接到存储器装置3200。存储器控制器3100可以访问存储器装置3200。例如,存储器控制器3100可以控制存储器装置3200的读取操作、编程操作、擦除操作和后台操作。存储器控制器3100可以被配置为提供存储器装置3200和主机之间的接口。存储器控制器3100可以被配置为驱动用于控制存储器装置3200的固件。
在实施例中,存储器控制器3100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、闪存接口和ECC电路的组件。
存储器控制器3100可以通过连接器3300与外部装置通信。存储器控制器3100可以基于特定通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器3100可以通过诸如以下的各种通信标准或接口中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、WiFi、蓝牙以及高速非易失性存储器(NVMe)协议。在实施例中,连接器3300可以由上述各种通信标准或接口中的至少一种来限定。
在实施例中,存储器装置3200可以被实施为诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器3100和存储器装置3200可以集成到单个半导体装置中来形成存储卡。例如,存储器控制器3100和存储器装置3200可以集成到单个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存(CF)卡、记忆棒、SD卡(SD、迷你SD、微型SD或SDHC)等。
图11是示出根据本公开的实施例的固态驱动器(SSD)系统4000的框图。
参照图11,SSD系统4000可以包括主机4100和SSD 4200。SSD4200可以通过信号连接器4001与主机4100交换信号,并且可以通过电源连接器4002接收电力。SSD 4200可以包括SSD控制器4210、多个闪速存储器4221至422n、辅助电源4230和缓冲存储器4240。
在实施例中,SSD控制器4210可以执行上面参照图1描述的存储器控制器200的功能。SSD控制器4210可以响应于从主机4100接收到的信号SIG而控制多个闪速存储器4221至422n。在实施例中,信号SIG可以基于主机4100和SSD 4200的接口。例如,信号SIG可以由诸如以下的各种通信标准或接口中的至少一种限定:通用串行总线(USB)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、WiFi、蓝牙以及高速非易失性存储器(NVMe)接口。
辅助电源4230可以通过电源连接器4002联接到主机4100。可以从主机4100向辅助电源4230供应电力PWR,并且可以利用该电力PWR对辅助电源4230充电。当从主机4100供应的电力不平稳时,辅助电源4230可以向SSD 4200供应电力。在实施例中,辅助电源4230可以位于SSD 4200的内部或外部。例如,辅助电源4230可以设置在主板中并且可以向SSD 4200供应辅助电力。
缓冲存储器4240可以作为SSD 4200的缓冲存储器操作。例如,缓冲存储器4240可以临时存储从主机4100接收的数据或从多个闪速存储器4221至422n接收的数据,或者可以临时存储闪速存储器4221至422n的元数据(例如,映射表)。缓冲存储器4240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图12是示出根据本公开的实施例的用户系统5000的框图。
参照图12,用户系统5000可以包括应用处理器5100、存储器模块5200、网络模块5300、存储模块5400和用户接口5500。
应用处理器5100可以运行用户系统5000中包括的组件、操作系统(OS)或用户程序。在实施例中,应用处理器5100可以包括用于控制用户系统5000中包括的组件的控制器、接口、图形引擎等。应用处理器5100可以被设置为片上系统(SoC)。
存储器模块5200可以用作用户系统5000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块5200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性RAM,或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器5100和存储器模块5200可以基于堆叠封装(POP)来进行封装,然后可以被设置为单个半导体封装。
网络模块5300可以与外部装置通信。例如,网络模块5300可以支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或WiFi通信的无线通信。在实施例中,网络模块5300可以包括在应用处理器5100中。
存储模块5400可以存储数据。例如,存储模块5400可以存储从应用处理器5100接收的数据。备选地,存储模块5400可以将存储模块5400中存储的数据传输到应用处理器5100。在实施例中,存储模块5400可以被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块5400可以被设置为可移动存储介质(即,可移动驱动器),诸如用户系统5000的存储卡或外部驱动器。
例如,存储模块5400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以以与上面参照图1描述的存储器装置100相同的方式操作。存储模块5400可以以与上面参照图1描述的存储装置1000相同的方式操作。
用户接口5500可以包括将数据或命令输入到应用处理器5100或将数据输出到外部装置的接口。在实施例中,用户接口5500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口5500可以进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。
根据本公开,可以提供一种有效地使用缓冲存储器装置的存储装置和操作存储装置的方法。
在附图和说明书中已经描述本公开的实施例。尽管这里使用了特定术语,但是这些术语仅用于描述本公开的实施例。因此,本公开不限于上述实施例并且在本公开的构思和范围内可能有许多变型。对于本领域技术人员应该显而易见的是,除了本文中本公开的实施例和所附权利要求之外,还可以基于本公开的技术范围进行各种修改。此外,可以组合实施例以形成额外的实施例。
Claims (20)
1.一种存储装置,包括:
存储器装置,包括多个存储器单元,并且执行编程操作以将写入数据存储在所述多个存储器单元中;
缓冲存储器装置,临时存储所述写入数据;以及
存储器控制器,控制所述缓冲存储器装置和所述存储器装置以响应于从主机接收的写入命令而将从所述主机中包括的主机存储器接收到的所述写入数据临时存储在所述缓冲存储器装置中并且将所述写入数据从所述缓冲存储器装置提供到所述存储器装置,
其中所述存储器控制器包括缓冲存储器管理器,所述缓冲存储器管理器基于所述缓冲存储器装置的已使用容量来确定在第一时间点还是第二时间点向所述主机传送关于所述写入命令的命令完成。
2.根据权利要求1所述的存储装置,其中当所述缓冲存储器装置的已使用容量小于阈值时,所述缓冲存储器管理器确定在所述第一时间点传送所述命令完成。
3.根据权利要求1所述的存储装置,其中所述第一时间点是在所述写入数据从所述主机存储器存储到所述缓冲存储器装置之后的时间点。
4.根据权利要求1所述的存储装置,其中当所述缓冲存储器装置的已使用容量等于或大于阈值时,所述缓冲存储器管理器确定在所述第二时间点传送所述命令完成。
5.根据权利要求1所述的存储装置,其中所述第二时间点是在将所述写入数据存储在所述多个存储器单元中的所述编程操作完成之后的时间点。
6.根据权利要求1所述的存储装置,其中当确定在所述第二时间点传送所述命令完成时,所述缓冲存储器管理器进一步控制所述缓冲存储器装置释放临时存储在所述缓冲存储器装置中的所述写入数据。
7.根据权利要求6所述的存储装置,其中当所述写入数据的所述编程操作失败时,所述存储器控制器进一步将与所述写入数据相对应的数据从所述主机存储器提取到所述缓冲存储器装置。
8.根据权利要求1所述的存储装置,其中基于根据所述写入命令存储在所述缓冲存储器装置中的所述写入数据的大小,所述缓冲存储器管理器确定在所述第一时间点还是所述第二时间点传送关于所述写入命令的所述命令完成。
9.一种存储装置,包括:
存储器装置,包括多个存储器单元,并且执行写入操作以将写入数据存储在所述多个存储器单元中;
缓冲存储器装置,临时存储待提供给所述存储器装置的所述写入数据;以及
存储器控制器,控制所述缓冲存储器装置和所述存储器装置以响应于从主机接收到的写入请求而将所述写入数据从主机存储器提取到所述缓冲存储器装置并且向所述存储器装置提供临时存储在所述缓冲存储器装置中的所述写入数据,
其中所述存储器控制器包括缓冲存储器管理器,所述缓冲存储器管理器基于包括指示多个编程操作的多编程标志的所述写入请求来确定在第一时间点还是第二时间点向所述主机传送关于所述写入命令的命令完成。
10.根据权利要求9所述的存储装置,其中当所述多编程标志的值为0即零时,所述缓冲存储器管理器确定在所述第一时间点传送所述命令完成。
11.根据权利要求9所述的存储装置,其中所述第一时间点是在所述写入数据从所述主机存储器提取到所述缓冲存储器装置之后的时间点。
12.根据权利要求9所述的存储装置,其中当所述多编程标志的值为1即一时,所述缓冲存储器管理器确定在所述第二时间点传送所述命令完成。
13.根据权利要求9所述的存储装置,其中所述第二时间点是在将所述写入数据存储在所述多个存储器单元中的所述写入操作完成之后的时间点。
14.根据权利要求9所述的存储装置,其中当确定在所述第二时间点传送所述命令完成时,所述缓冲存储器管理器进一步控制所述缓冲存储器装置释放临时存储在所述缓冲存储器装置中的写入数据。
15.根据权利要求14所述的存储装置,其中当所述写入数据的所述写入操作失败时,所述存储器控制器进一步将与所述写入数据相对应的数据从所述主机存储器提取到所述缓冲存储器装置。
16.一种操作存储器控制器的方法,所述方法包括:
从主机接收写入命令;
向缓冲存储器装置分配与所述写入命令相对应的并且从主机存储器接收的写入数据;
将所述写入数据存储在所述缓冲存储器装置中;
确定何时将关于所述写入命令的命令完成传送到所述主机;
向存储器装置提供编程命令和所述缓冲存储器装置中存储的所述写入数据;并且
控制所述存储器装置利用提供的所述写入数据来执行编程操作。
17.根据权利要求16所述的方法,其中所述确定包括基于所述缓冲存储器装置的已使用容量来确定在第一时间点还是第二时间点传送所述命令完成。
18.根据权利要求16所述的方法,其中所述确定包括基于指示多个编程操作的多编程标志来确定在第一时间点还是第二时间点传送所述命令完成。
19.根据权利要求16所述的方法,其中所述确定包括确定在所述写入数据存储在所述缓冲存储器装置之后传送所述命令完成。
20.根据权利要求19所述的方法,其中所述确定包括确定在所述编程操作完成之后传送所述命令完成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0036890 | 2022-03-24 | ||
KR1020220036890A KR20230138805A (ko) | 2022-03-24 | 2022-03-24 | 저장 장치 및 이의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116804909A true CN116804909A (zh) | 2023-09-26 |
Family
ID=88078632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310047304.2A Pending CN116804909A (zh) | 2022-03-24 | 2023-01-31 | 存储装置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230305741A1 (zh) |
KR (1) | KR20230138805A (zh) |
CN (1) | CN116804909A (zh) |
TW (1) | TW202338622A (zh) |
-
2022
- 2022-03-24 KR KR1020220036890A patent/KR20230138805A/ko unknown
- 2022-09-30 US US17/957,075 patent/US20230305741A1/en active Pending
-
2023
- 2023-01-31 CN CN202310047304.2A patent/CN116804909A/zh active Pending
- 2023-03-20 TW TW112110164A patent/TW202338622A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
KR20230138805A (ko) | 2023-10-05 |
US20230305741A1 (en) | 2023-09-28 |
TW202338622A (zh) | 2023-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
US11853202B2 (en) | Memory system performing garbage collection operation by exchanging information related to garbage collection with host and method of operating the memory system | |
US11449417B2 (en) | Memory controller performing host-aware performance booster mode and method of operating the same | |
US11734178B2 (en) | Storage device performing cache read operation using page buffer and operating method thereof | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US11880274B2 (en) | Host device, memory controller, and computing system including the same | |
CN112687314A (zh) | 存储器设备和操作存储器设备的方法 | |
CN115588451A (zh) | 存储装置及其操作方法 | |
CN112527189B (zh) | 存储器装置及其操作方法 | |
CN114356209A (zh) | 存储装置及其操作方法 | |
CN112783431A (zh) | 存储装置及其操作方法 | |
CN112309446A (zh) | 存储设备和操作存储设备的方法 | |
US11836370B2 (en) | Storage device and operating method thereof | |
US11544184B2 (en) | Storage device and method of operating the same for processing a trim request of host | |
CN113568565B (zh) | 存储器控制器及其操作方法 | |
CN115509957A (zh) | 主机装置、存储装置及其操作方法 | |
CN114489467A (zh) | 存储器控制器及其操作方法 | |
KR20220048864A (ko) | 저장 장치 및 그 동작 방법 | |
US20230305741A1 (en) | Storage device and operating method thereof | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US11868658B2 (en) | Memory controller including first processor for generating commands and second processor for generating logging information and method of operating the memory controller | |
US11989089B2 (en) | Memory controller, operating method thereof, and computing system including the same | |
US20230238040A1 (en) | Storage device and operating method thereof | |
US20230041076A1 (en) | Memory system and operating method thereof | |
KR20220128789A (ko) | 메모리 장치 및 이를 포함하는 저장 장치 |
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 |