CN108074613B - 存储器***及其操作方法 - Google Patents

存储器***及其操作方法 Download PDF

Info

Publication number
CN108074613B
CN108074613B CN201710659273.0A CN201710659273A CN108074613B CN 108074613 B CN108074613 B CN 108074613B CN 201710659273 A CN201710659273 A CN 201710659273A CN 108074613 B CN108074613 B CN 108074613B
Authority
CN
China
Prior art keywords
erase operation
time
memory
read
erase
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.)
Active
Application number
CN201710659273.0A
Other languages
English (en)
Other versions
CN108074613A (zh
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.)
Mimi Ip Co ltd
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 CN108074613A publication Critical patent/CN108074613A/zh
Application granted granted Critical
Publication of CN108074613B publication Critical patent/CN108074613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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
    • 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
    • G11C16/18Circuits for erasing optically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/20Suspension of programming or erasing cells in an array in order to read other cells in it

Landscapes

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

Abstract

本发明提供一种存储器***,其可以包括:存储器装置;以及控制器,其被配置为:对存储器装置执行读取操作和擦除操作;当在执行擦除操作期间接收到读取命令时,预测第一所需时间,第一所需时间基于包括响应于读取命令的读取操作所需的第一时间和正在进行的擦除操作所需的第二时间的总和;以及根据第一所需时间确定是暂停擦除操作还是继续擦除操作。

Description

存储器***及其操作方法
相关申请的交叉引用
本申请要求于2016年11月7日提交的申请号为10-2016-0147404的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
示例性实施例涉及一种包括存储器装置的存储器***及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算***。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器***。存储器***可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器***不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
通常,存储器***可以在对存储器装置执行擦除操作的同时执行读取操作。即,当读取命令在执行擦除操作期间被检测到时,存储器***可以中断擦除操作并执行读取操作。作为结果,擦除操作的完成被延迟并且操作效率可能被降低。
发明内容
各个实施例涉及一种存储器***及其操作方法,该存储器***能够最小化存储器装置的复杂性和性能恶化的程度,最大化其使用效率并且更快且更稳定地处理到存储器装置和来自存储器装置的数据。
在实施例中,存储器***可以包括:存储器装置;以及控制器,其被配置为:对存储器装置执行读取操作和擦除操作;当在执行擦除操作期间接收到读取命令时,预测第一所需时间,第一所需时间基于包括响应于读取命令的读取操作所需的第一时间和正在进行的擦除操作所需的第二时间的总和;以及根据第一所需时间确定是暂停擦除操作还是继续擦除操作。
第一所需时间可以进一步包括暂停正在进行的擦除操作和恢复所暂停的擦除操作所需的时间。
擦除操作可以包括从存储块中选择目标存储块的第一擦除操作和擦除存储在选择的目标存储块中的数据的第二擦除操作。当第一所需时间小于阈值时间并且在第一擦除操作期间提供读取命令时,控制器可以暂停正在进行的擦除操作,执行读取操作,并且可以在读取操作完成之后恢复暂停的擦除操作。
当第一所需时间等于或大于阈值时间时,控制器可以在完成正在进行的擦除操作之后执行读取操作。
擦除操作可以包括从存储块中选择目标存储块的第一擦除操作和擦除存储在所选择的目标存储块中的数据的第二擦除操作。当第一所需时间小于阈值时间并且在第二擦除操作期间提供读取命令时,控制器可以进一步预测第二所需时间,并且可以根据第二所需时间顺序地执行读取操作和第二擦除操作之间的一个和另一个,其中第二所需时间是响应于读取命令的读取操作所需的第一时间、正在进行的擦除操作所需的第二时间和当第二擦除操作停止并从头开始时发生的时间损失的总和。
第一时间可以包括暂停正在进行的第二擦除操作和开始所暂停的第二擦除操作所需的时间。
当第二所需时间小于阈值时间时,控制器可以暂停正在进行的第二擦除操作,可以执行读取操作,并且可以在读取操作完成之后从头开始第二擦除操作。
当第二所需时间等于或大于阈值时间时,控制器可以在完成正在进行的第二擦除操作之后执行读取操作。
在实施例中,一种包括存储器装置的存储器***的操作方法,该操作方法可以包括:对存储器装置执行擦除操作;预测第一所需时间,该第一所需时间是当在擦除操作期间提供读取命令时响应于读取命令的读取操作所需的第一时间和正在进行的擦除操作所需的第二时间的总和;以及根据第一所需时间顺序地执行读取操作和正在进行的擦除操作之间的一个和另一个。
第一时间可以包括暂停正在进行的擦除操作和恢复所暂停的擦除操作所需的时间。
擦除操作可以包括从存储块中选择目标存储块的第一擦除操作和擦除存储在选择的目标存储块中的数据的第二擦除操作。当第一所需时间小于阈值时间并且在第一擦除操作期间提供读取命令时,顺序地执行可以包括:暂停正在进行的擦除操作;执行读取操作;以及在读取操作完成之后恢复暂停的擦除操作。
当第一所需时间等于或大于阈值时间时,顺序地执行可以包括:在完成正在进行的擦除操作之后执行读取操作。
擦除操作可以包括从存储块中选择目标存储块的第一擦除操作和擦除存储在所选择的目标存储块中的数据的第二擦除操作。当第一所需时间小于阈值时间并且在第二擦除操作期间提供读取命令时,顺序地执行可以包括:预测第二所需时间,该第二所需时间是响应于读取命令的读取操作所需的第一时间、正在进行的擦除操作所需的第二时间和当第二擦除操作停止并从头开始时发生的时间损失的总和;以及根据第二所需时间顺序地执行读取操作和第二擦除操作之间的一个和另一个。
第一时间可以包括暂停正在进行的第二擦除操作和开始所暂停的第二擦除操作所需的时间。
当第二所需时间小于阈值时间时,顺序地执行可以包括:暂停正在进行的第二擦除操作;执行读取操作;以及在读取操作完成之后从头开始第二擦除操作。
当第二所需时间等于或大于阈值时间时,顺序地执行可以包括:在完成正在进行的第二擦除操作之后执行读取操作。
附图说明
根据参照附图的以下具体实施方式,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器***的数据处理***的框图。
图2是示出在图1的存储器***中采用的存储器装置的示例性配置的示意图。
图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2的存储器装置的示例性三维结构的示意图。
图5是示出根据本发明的实施例的存储器***的操作方法的流程图。
图6和图7是示出图5的操作方法的图。
图8是示出图5的操作的示例性擦除停止操作的流程图。
图9至图14是示出根据本发明的实施例的存储器***的示例的图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意的是,本发明可以不同的其它实施例、形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供所描述的实施例使得本公开将是彻底且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。使用这些术语来将一个元件与另一元件区分。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间仅有的元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实践。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
也注意的是,在一些情况下,如对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是示出根据本发明的实施例的包括存储器***110的数据处理***100的框图。
参照图1,数据处理***100可以包括可操作地联接到存储器***110的主机102。
主机102可以是包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置的任何合适的电子装置。
主机102可以包括至少一个OS(操作***)。OS可以管理和控制主机102的全部功能和操作。OS可以在主机102和使用数据处理***100或存储器***110的用户之间提供操作。OS可以支持对应于用户的使用目的和使用的功能和操作。例如,根据主机102的移动性,OS可以被划分为通用OS和移动OS。根据用户的环境,通用OS可以被划分为个人OS和企业OS。例如,个人OS可以被配置为支持向一般用户提供服务的功能并且可以包括Windows和Chrome。企业OS可以被配置为保护和支持高性能并且可以包括Windows服务器、Linux和Unix。此外,移动OS可以被配置为支持向用户提供移动服务的功能和***的省电功能并且可以包括Android、iOS和Windows Mobile。在实施例中,主机102可以包括多个OS,并且执行OS以对存储器***110执行对应于用户的请求的操作。存储器***110可以响应于主机102的请求来操作以存储用于主机102的数据。存储器***110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型MMC。SD卡可以包括迷你SD卡和微型SD卡。
存储器***110可以由各种类型的存储装置来实施。包括在存储器***110中的存储装置的非限制性示例可以包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。存储器***可以具有二维结构或三维结构。在实施例中,存储器***是具有三维(3D)堆叠结构的闪速存储器。
存储器***110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据,并且控制器130可以控制数据存储到存储器装置150中。
控制器130和存储器装置150可以被集成到单个半导体装置中,该单个半导体装置可以被包括在如上所例示的各种类型的存储器***中。例如,控制器130和存储器装置150可以被集成为一个半导体装置以构成SSD。当存储器***110用作SSD时,连接到存储器***110的主机102的操作速度可以被提高。此外,控制器130和存储器装置150可以被集成为一个半导体装置以构成存储卡。例如,控制器130和存储器装置150可以构成诸如以下的存储卡:PCMCIA(个人计算机存储卡国际协会)卡,CF卡,SMC(智能媒体卡),记忆棒,包括RS-MMC和微型MMC的MMC,包括迷你SD、微型SD和SDHC的SD卡或UFS装置。
存储器***110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构建数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构建家庭网络的各种电子装置中的一个、构建计算机网络的各种电子装置中的一个、构建远程信息处理网络的各种电子装置中的一个、射频识别(RFID)装置或构建计算***的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供给电源,也可以保留其中存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可以包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156的每一个可以包括多个页面,并且每一个页面可以包括联接到字线的多个存储器单元。
控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。控制器130可以控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可以包括全部经由内部总线可操作地联接的主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、诸如NAND闪存控制器(NFC)的存储器控制器142和存储器144。
主机接口单元132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速***组件互连(PCI-E)、小型计算机***接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE)。
ECC单元138可以检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC单元138可以通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可以输出例如错误校正成功/失败信号的信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138可以不校正错误位,并且可以输出错误校正失败信号。
ECC单元138可以通过包括诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon)码、卷积码、递归***码(RSC)、格形编码调制(TCM)和分组编码调制(BCM)的编码调制的任何合适的方案来执行错误校正。然而,ECC单元138不限于此。ECC单元138可以包括用于错误校正的所有电路、模块、***或装置。
PMU 140可提供和管理控制器130的电源。
存储器控制器(例如,NFC)142可以用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。存储器控制器142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理将提供给存储器装置150的数据。存储器控制器142可以工作作为用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。特别地,存储器控制器142可以支持控制器130和存储器装置150之间的数据传送。当存储器装置150是闪速存储器或特别是NAND闪速存储器时,存储器控制器可以是NAND闪存控制器。
存储器144可以用作存储器***110和控制器130的工作存储器,并且存储用于驱动存储器***110和控制器130的数据。控制器130可以响应于来自主机102的请求来控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以由易失性存储器来实施。例如,存储器144可以由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可以被设置在控制器130的内部或外部。图1例示设置在控制器130内的存储器144。在实施例中,存储器144可以由具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器实施。
处理器134可以控制存储器***110的全部操作。处理器134可以驱动固件以控制存储器***110的全部操作。固件可以被称为闪存转换层(FTL)。控制器130的处理器134可以包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可以执行检查包括在存储器装置150中的多个存储块152至156中的在编程操作期间由于NAND闪速存储器的特性而发生编程失败的坏块的坏块管理操作。管理单元可以将坏块的编程失败数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器***110的可靠性。因此,需要更可靠地执行坏块管理操作。
根据各种实施例,控制器130可以对存储器装置150执行擦除操作。在对存储器装置150执行擦除操作的同时,控制器130可以接收用于读取操作的读取命令。然后,控制器130可以基于擦除操作所需的时间,即擦除时间和由于读取操作导致的延迟时间(读取延迟)来预测所需时间。基于存储器装置150中与读取命令对应的数据,控制器130可以预测延迟时间。
根据各个实施例,在擦除操作期间,控制器130可以保持读取命令,并且在擦除操作的停止状态下决定是继续执行擦除操作还是在执行读取命令之后恢复擦除操作。为此,控制器130可以将所需时间与预定的停止条件进行比较。可以基于用于确保预定的目标性能的阈值时间来决定停止条件。例如,当所需时间等于或大于阈值时间时,可以决定所需时间不满足停止条件。当所需时间小于阈值时间时,可以决定所需时间满足停止条件。即,所需时间不满足停止条件的事实可以表示当处理器134在擦除操作期间执行读取操作时,擦除操作在阈值时间内未能被完成。因此,当所需时间不满足停止条件时,控制器130可以保持读取命令,并且可以在擦除操作期间不执行读取操作。同时,所需时间满足停止条件的事实可以表示即使处理器134在擦除操作期间执行读取操作,擦除操作也能在阈值时间内完成。因此,当所需时间满足停止条件时,控制器130可以在擦除操作期间执行读取操作。控制器130可以停止擦除操作,执行读取操作,然后恢复擦除操作。
根据各个实施例,存储器***110可以基于由于读取操作导致的延迟时间预测擦除操作所需的时间,从而保持在对存储器装置150执行擦除操作时检测到的读取命令。即,即使读取命令在擦除操作期间被检测到,则存储器***110可以保持读取命令并且可以在擦除操作期间不执行读取操作。因此,存储器***110可以连续地执行擦除操作,而不管读取命令。因此,存储器***110可以将擦除操作所需的时间基本上保持在最佳范围内。因此,存储器***110可以更有效地执行擦除操作,并且因此提高存储器***的总体操作效率。
图2是示出存储器装置150的示例性配置的示意图。
参照图2,存储器装置150可以包括多个存储块0至N-1,并且块0到N-1中的每一个可以包括多个页面,例如2M个页面,其数量可以根据电路设计而变化。包含在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位或更多位数据的多层单元(MLC)中的一个或多个。存储3位数据的MLC也被称为三层单元(TLC),并且存储4位数据的MLC也被称为四层单元(QLC)。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可以对应于包括在存储器***110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可以包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可以串联联接在漏极选择晶体管DST和源极选择晶体管SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以由能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。
图3示出NAND闪速存储器单元,然而,本发明不限于此。注意的是,存储器单元可以是包括例如NOR闪速存储器单元或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元的任何合适的类型。在实施例中,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)。
存储器装置150可以进一步包括电压供给块310,其提供包括根据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。电压供给块310的电压生成操作可以由控制电路(未示出)控制。在控制电路的控制下,电压供给块310可以选择存储器单元阵列的存储块(或扇区)中的其中一个,选择所选择的存储块的字线中的其中一个,并且根据需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可以操作作为用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以操作作为用于根据待存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
存储器装置150可以由2D或3D存储器装置来实施。图4是示出存储器装置150的示例性3D结构的示意图。
具体地,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可以包括多个存储块BLK0至BLKN-1,每个存储块具有3D结构(或垂直结构)。
图5是示出存储器***110的操作方法的流程图。图6和图7是示出图5的操作方法的图。
参照图5,根据实施例的存储器***110的操作方法可以从步骤S511开始,在步骤S511中,控制器130对存储器装置150执行擦除操作。处理器134可以通过存储器控制器142访问存储器装置150,例如当存储器装置是NAND闪速存储器时存储器控制器142为NAND闪存控制器。处理器134可以对存储器装置150中的存储块152至156中的至少一个执行擦除操作。
例如,在实施例中,当对全部多个存储块152至156执行擦除操作时,控制器130可以顺序地从多个存储块152至156中的第一存储块开始执行擦除操作,然后可以对存储块152至156中的第二存储块、第三存储块等执行擦除操作。在另一实施例中,当对多个存储块152至156执行擦除操作时,控制器130可以顺序地但是每次对至少一对存储块执行擦除操作。因此,例如,控制器130可以在第一次对存储块152至156中的至少两个同时执行擦除操作。然后,控制器130可以对存储器装置150的存储块152至156中的至少两个的下一组执行擦除操作并且重复该进程,直到待擦除的所有存储块都已被擦除。控制器130可以对应于主机102的擦除命令而执行擦除操作。可选地,控制器130可以在存储器***110的待机状态下对存储器装置150执行擦除操作。
根据实施例,擦除操作可以包括第一擦除操作和第二擦除操作。第一擦除操作可以表示从包括在存储器装置150中的多个存储块中选择擦除目标存储块的操作。控制器130可以通过第一擦除操作选择存储块152至156中的至少一个作为擦除目标存储块。第二擦除操作可以表示从擦除目标存储块擦除数据的操作。控制器130可以执行第一擦除操作,然后在第一擦除操作之后执行第二擦除操作。因此,擦除操作所需的擦除时间可以是用于第一擦除操作的第一擦除时间和用于第二擦除操作的第二擦除时间的总和。例如,第一擦除时间可以小于第二擦除时间。
当在步骤S511中对存储器装置150执行擦除操作的同时,控制器130可以在步骤S513中接收读取命令。即,当通过主机接口单元132从主机102接收读取命令时,处理器134可以检测读取命令。读取命令可以包括用于执行读取操作的数据的逻辑地址。
然后,在步骤S515中,控制器130可以预测用于完成擦除操作的第一所需时间为基于读取命令的读取操作的延迟时间和用于擦除操作的擦除时间的总和。例如,延迟时间可以是用于暂停擦除操作所需的时间和用于恢复擦除操作所需的时间以及用于读取操作所需的时间的总和。延迟时间可以是预定的。例如,延迟时间可以包括最大延迟时间(最大读取延迟)和最小延迟时间(最小读取延迟)。因此,第一所需时间可以是包括作为擦除时间和最大延迟时间的总和的第一最大所需时间以及作为擦除时间和最小延迟时间的总和的第一最小所需时间的时间范围。
在步骤S517中,控制器130可以将第一所需时间与预定的第一停止条件进行比较。控制器130可以确定第一所需时间是否满足第一停止条件。第一停止条件可以是用于确定是否暂停擦除操作并执行读取操作的参考时间。
根据实施例,可以基于用于确保存储器***110的预期目标性能的阈值时间来决定第一停止条件。例如,可以根据如图6所示的存储器***110的制造公司来决定阈值时间。第一停止条件可要求第一所需时间小于阈值时间。例如,第一停止条件可以被决定为使得第一最小所需时间小于阈值时间并且第一最大所需时间小于阈值时间,如以下等式1所表示的。
等式1
第一最小所需时间(擦除时间+最小读取延迟)<阈值时间,并且
第一最大所需时间(擦除时间+最大读取延迟)<阈值时间
例如,当存储器***110已由第一制造公司制造时,第一停止条件可以被决定为使得擦除操作应当在6ms内完成,以确保99.999%的目标性能。当存储器***110已由第二制造公司制造时,第一停止条件可以被决定为使得擦除操作应当在7ms内完成,以确保99.99%的目标性能。当存储器***110已由第三制造公司制造时,第一停止条件可以被决定为使得擦除操作应当在8ms内完成,以确保99.9999%的目标性能。
当在步骤S517中确定第一所需时间不满足第一停止条件时(即,当第一最小所需时间等于或大于阈值时间时),控制器130可以在步骤S518中连续地执行并完成正在进行的擦除操作,而不执行读取操作。在步骤S520中完成擦除操作之后,控制器130在步骤S522中执行保持的读取操作。即,当第一所需时间不满足第一停止条件时,处理器134可以确定在擦除操作期间不执行读取操作,并且应当在擦除操作完成之后执行读取操作。第一所需时间可以等于或大于阈值时间。换言之,不满足第一停止条件可以表示由于中断读取操作导致的正在进行的擦除操作的暂停和恢复可能导致在制造商的预设阈值时间内不能完成擦除操作。因此,当第一所需时间不满足第一停止条件时,控制器130可以继续执行正在进行的擦除操作,然后在完成擦除操作之后执行读取操作。
当在步骤S517中确定第一所需时间满足第一停止条件时(即,当第一最大所需时间小于阈值时间时),控制器130可以在步骤S519中暂停正在进行的擦除操作,执行读取操作,并且在完成读取操作之后恢复暂停的擦除操作。即,当第一所需时间满足第一停止条件时,即使当读取操作中断正在进行的擦除操作时,处理器134也可以确定正在进行的擦除操作可以在阈值时间内完成。换言之,成功满足第一停止条件可以表示即使当读取操作中断正在进行的擦除操作时,正在进行的擦除操作也可以在阈值时间内完成。因此,当第一所需时间满足第一停止条件时,控制器130可以暂停正在进行的擦除操作,执行读取操作,并且在完成读取操作之后恢复暂停的擦除操作。在该情况下,擦除停止操作可以表示暂停擦除操作、执行读取操作以及恢复暂停的擦除操作的一系列过程。处理器134可以检测与读取命令相对应的数据的物理地址。然后,处理器134可以基于物理地址对数据执行读取操作。
根据实施例,当第一所需时间满足第一停止条件时,处理器134可以在第一擦除操作期间执行读取操作,如图7的(a)所示。在该情况下,处理器134可以暂停第一擦除操作,然后执行读取操作。当读取操作完成时,处理器134可以恢复暂停的第一擦除操作并且执行第一擦除操作的剩余进程。当第一擦除操作完成时,处理器134可以执行第二擦除操作。
根据另一实施例,当第二所需时间满足第二停止条件(稍后将参照图8描述第二所需时间和第二停止条件)时,处理器134可以在第二擦除操作期间执行读取操作,如图7的(b)所示。在该情况下,处理器134可以停止第二擦除操作并且然后执行读取操作。当读取操作完成时,处理器134可以从第二擦除操作的开始再次开始第二擦除操作。因此,如图7的(b)所示,当第二擦除操作停止并且从头再次开始时,可能发生时间损失。
图8是示出图5的步骤S519中的擦除停止操作的流程图。
参照图8,在步骤S811中,控制器130可以基于第一擦除操作的开始时间点和将执行的读取操作的开始时间点之间的时间间隔来确定是否正在执行第一擦除操作。例如,将执行的读取操作的开始时间点可以是当前时间点。当第一擦除操作的开始时间点和将执行的读取操作的开始时间点之间的时间间隔小于第一擦除操作的第一擦除时间时,处理器134可以确定在将执行的读取操作的开始时间点处正在执行第一擦除操作。
在步骤S811中,当确定在将执行的读取操作的开始时间点处正在执行第一擦除操作时,控制器130可以在步骤S813中暂停第一擦除操作。例如,处理器134可以在当前时间点处停止第一擦除操作。在该情况下,处理器134可以决定当前时间点为第一擦除操作的暂停时间点。在步骤S815中,控制器130可以响应于读取命令执行读取操作。在步骤S817中,控制器130可以恢复暂停的第一擦除操作并且执行第一擦除操作的剩余进程。即,控制器130可以执行第一擦除操作的暂停时间点之后的进程,并且然后执行第二擦除操作以完成擦除操作。然后,控制器130可以结束操作。
在步骤S811中,当确定第一擦除操作未正在执行时,控制器130可以在步骤S821中确定是否正在执行第二擦除操作。在该情况下,处理器134可以将读取操作开始时间点与擦除操作开始时间点进行比较。例如,处理器134可以将当前时间点与第一擦除操作的开始时间点进行比较。然后,处理器134可以确定读取操作开始时间点和擦除操作开始时间点之间的时间间隔是否超过第一擦除操作的第一擦除时间。当读取操作开始时间点和擦除操作开始时间点之间的时间间隔超过第一擦除操作的第一擦除时间时,处理器134可以确定正在执行第二擦除操作。
在步骤S823中,控制器130预测第二所需时间。在步骤S823中,通过将如参照图7的(b)所述的第二擦除操作停止并从头再次开始时发生的时间损失进一步增加到第一所需时间中来预测第二所需时间。即,通过将第二擦除操作的开始时间点和将执行的读取操作的开始时间点之间的时间损失或时间差增加到第一所需时间来预测第二所需时间。
在步骤S825中,控制器130可以将第二所需时间与预定的第二停止条件进行比较。控制器130可以确定第二所需时间是否满足第二停止条件。类似于步骤S515的第一停止条件,第二停止条件可以是用于确定是否暂停擦除操作并执行读取操作的参考时间。
根据实施例,可以基于用于确保存储器***110的预期目标性能的阈值时间来决定第二停止条件。例如,可以根据如参照图6描述的存储器***110的制造公司来决定第二停止条件。第二停止条件可要求第二所需时间小于阈值时间。例如,第二停止条件可以被决定为使得第二最小所需时间小于阈值时间并且第二最大所需时间小于阈值时间,如以下等式2所表示的。
等式2
第二最小所需时间(擦除时间+最小读取延迟+时间损失)<阈值时间,并且
第二最大所需时间(擦除时间+最大读取延迟+时间损失)<阈值时间
当在步骤S825中确定第二所需时间不满足第二停止条件时(即,当第二最小所需时间等于或大于阈值时间时),控制器130可以在步骤S826中连续地执行并完成正在进行的第二擦除操作,而不执行读取操作。在步骤S828中完成第二擦除操作之后,控制器130在步骤S830中执行保持的读取操作。即,当第二所需时间不满足第二停止条件时,处理器134可以确定在第二擦除操作期间不执行读取操作,并且应该在第二擦除操作完成之后执行读取操作。第二所需时间可以等于或大于阈值时间。换言之,不满足第二停止条件可以表示由于中断读取操作导致的正在进行的擦除操作的暂停和重新开始可能导致在阈值时间内不能完成擦除操作。因此,当第二所需时间不满足第二停止条件时,控制器130可以继续执行正在进行的第二擦除操作,并且然后在完成第二擦除操作之后执行读取操作。
当在步骤S825中确定第二所需时间满足第二停止条件时(即,当第二最大所需时间小于阈值时间时),控制器130可以在步骤S827中暂停正在进行的第二擦除操作,在步骤S829中执行读取操作,并且在步骤S831中在完成读取操作之后从头开始暂停的擦除操作。即,当第二所需时间满足第二停止条件时,即使当读取操作中断正在进行的第二擦除操作时,处理器134也可以确定正在进行的第二擦除操作可以在阈值时间内完成。换言之,成功满足第二停止条件可以表示即使当读取操作中断正在进行的第二擦除操作时,正在进行的第二擦除操作也可以在阈值时间内完成。因此,当第二所需时间满足第二停止条件时,控制器130可以暂停正在进行的第二擦除操作,执行读取操作,并且在完成读取操作之后从头开始第二擦除操作。例如,在步骤S827中,处理器134可以在当前时间点处停止第二擦除操作。在该情况下,处理器134可以决定当前时间点为第二擦除操作的暂停时间点。在步骤S829中,控制器130可以响应于读取命令执行读取操作。在步骤S831中,控制器130可以从头开始第二擦除操作。
在执行步骤S519中的擦除停止操作之后,进程可以结束。
在下文中,将参照图9至图14对应用根据实施例的包括以上参照图1至图8描述的存储器装置150和控制器130的存储器***110的数据处理***和电子设备进行详细描述。
图9是示出包括根据本发明的实施例的存储器***的数据处理***的图。图9具体地示出应用根据实施例的存储器***的存储卡***。
参照图9,存储卡***6100包括存储器控制器6120、存储器装置6130和连接器6110。
详细地,存储器控制器6120可以与存储器装置6130连接并且可以访问存储器装置6130。在一些实施例中,存储器装置6130可以利用非易失性存储器(NVM)来实施。例如,存储器控制器6120可以控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以提供存储器装置6130和主机(未示出)之间的接口,并且可以驱动用于控制存储器装置6130的固件。例如,存储器控制器6120可以对应于以上参照图1描述的存储器***110中的控制器130,并且存储器装置6130可以对应于以上参照图1描述的存储器***110中的存储器装置150。
因此,存储器控制器6120可以包括诸如如图1所示的随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元的部件。
存储器控制器6120可以通过连接器6110与外部装置(例如以上参照图1所描述的主机102)通信。例如,如以上参照图1描述的,存储器控制器6120可以被配置为通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电路(IDE)、火线、通用闪存(UFS)、无线保真(WI-FI)和蓝牙。因此,根据实施例的存储器***和数据处理***可以应用于例如移动电子设备的有线/无线电子设备。
存储器装置6130可以利用非易失性存储器来实施。例如,存储器装置6130可以利用诸如以下的各种非易失性存储器装置来实施:电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可以通过集成到单个半导体装置中来构造固态驱动器(SSD)。存储器控制器6120和存储器装置6130可以构造诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪存(UFS)。
图10是示意性地示出包括根据本发明的实施例的存储器***的数据处理***的示例的图。
参照图10,数据处理***6200包括可以利用至少一个非易失性存储器(NVM)来实施的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如以上参照图1描述的,数据处理***6200可以是诸如存储卡(例如,CF、SD和微型SD)的存储介质。存储器装置6230可以对应于以上参照图1描述的存储器***110中的存储器装置150,并且存储器控制器6220可以对应于以上参照图1描述的存储器***110中的控制器130。
存储器控制器6220可以响应于从主机6210接收的请求来控制包括用于存储器装置6230的读取操作、写入操作和擦除操作的操作。存储器控制器6220可以包括全部经由内部总线联接的中央处理单元(CPU)6221、作为缓冲存储器的随机存取存储器(RAM)6222、错误校正码(ECC)电路6223、主机接口6224和作为存储器接口的NVM接口6225。
CPU 6221可以控制对存储器装置6230的诸如读取、写入、文件***管理、坏页面管理等的操作。RAM 6222可以根据CPU 6221的控制来操作,并且可以用作工作存储器、缓冲存储器、高速缓冲存储器等。在RAM 6222用作工作存储器的情况下,由CPU 6221处理的数据被临时存储在RAM 6222中。在RAM 6222用作缓冲存储器的情况下,RAM6222用于缓冲将从主机6210传输到存储器装置6230或将从存储器装置6230传输到主机6210的数据。在RAM 6222用作高速缓冲存储器的情况下,RAM 6222可以用于使具有低速的存储器装置6230能够以高速操作。
ECC电路6223对应于以上参照图1描述的控制器130的ECC单元138。如以上参照图1描述的,ECC电路6223可以生成用于校正从存储器装置6230接收的数据中的失效位或错误位的错误校正码(ECC)。ECC电路6223可以对将提供给存储器装置6230的数据执行错误校正编码,并且可以生成添加有奇偶校验位的数据。奇偶校验位可以被存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可以通过使用奇偶校验位来校正错误。例如,如以上参照图1描述的,ECC电路6223可以通过使用诸如以下的各种编码调制来校正错误:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、涡轮码、里德-所罗门(RS)码、卷积码、递归***码(RSC)、格形编码调制(TCM)和分组编码调制(BCM)。
存储器控制器6220通过主机接口6224将数据传输到主机6210并且从主机6210接收数据,并且通过NVM接口6225将数据传输到存储器装置6230并且从存储器装置6230接收数据。主机接口6224可以通过诸如以下的各种接口协议中的至少一种与主机6210连接:并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机***接口(SCSI)、通用串行总线(USB)、高速***组件互连(PCIe)或NAND接口。进一步地,随着诸如无线保真(WI-FI)或长期演进(LTE)的无线通信功能或移动通信协议被实现,存储器控制器6220可以通过与诸如主机6210的外部装置或除主机6210之外的另一外部装置连接来传输和接收数据。具体地,因为存储器控制器6220被配置为通过各种通信协议中的至少一种与外部装置通信,所以根据实施例的存储器***和数据处理***可以应用于例如移动电子设备的有线/无线电子设备。
图11是示出根据本发明的实施例的包括存储器***的数据处理***的图。图11可以是固态驱动器(SSD)。
参照图11,SSD 6300可以包括存储器装置6340和控制器6320,其中存储器装置6340可以包括多个非易失性存储器NVM。控制器6320可以对应于以上参照图1描述的存储器***110中的控制器130,并且存储器装置6340可以对应于以上参照图1描述的存储器***110中的存储器装置150。
详细地,控制器6320可以通过多个通道CH1、CH2、CH3……CHi与存储器装置6340连接。控制器6320可以包括经由内部总线联接的处理器6321、缓冲存储器6325、错误校正码(ECC)电路6322、主机接口6324和作为存储器接口的非易失性存储器(NVM)接口6326。
缓冲存储器6325临时存储从主机6310接收的数据或从包括在存储器装置6340中的多个非易失性存储器NVM接收的数据,或临时存储多个非易失性存储器NVM的元数据。例如,元数据可以包括含有映射表的映射数据。缓冲存储器6325可以利用诸如但不限于动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、低功率双倍数据速率(LPDDR)SDRAM和图形随机存取存储器(GRAM)的易失性存储器或诸如但不限于铁电随机存取存储器(FRAM)、电阻式随机存取存储器(ReRAM)、自旋转移力矩磁性随机存取存储器(STT-MRAM)和相变随机存取存储器(PRAM)的非易失性存储器来实施。虽然为了便于解释,在图11中示出缓冲存储器6325被设置在控制器6320的内部,但是应当注意的是,缓冲存储器6325可以被设置在控制器6320的外部。
ECC电路6322在编程操作中计算待编程在存储器装置6340中的数据的错误校正码值,在读取操作中基于错误校正码值对从存储器装置6340读取的数据执行错误校正操作,并且在对失效数据的恢复操作中对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324提供关于诸如主机6310的外部装置的接口功能。非易失性存储器接口6326提供关于通过多个通道CH1、CH2、CH3……CHi连接的存储器装置6340的接口功能。
由于使用其中每个都应用以上参照图1描述的存储器***110的多个SSD 6300,因此可以实施诸如独立磁盘冗余阵列(RAID)***的数据处理***。在RAID***中可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。在通过从主机6310接收写入命令来执行编程操作的情况下,RAID控制器可以响应于从主机6310接收的写入命令的RAID级别信息在多个RAID级别(例如,多个SSD 6300)中选择至少一个存储器***(例如,至少一个SSD6300)并且可以将对应于写入命令的数据输出到选择的SSD 6300。在通过从主机6310接收读取命令来执行读取操作的情况下,RAID控制器可以响应于从主机6310接收的写入命令的RAID级别信息在多个RAID级别(例如,多个SSD 6300)中选择至少一个存储器***(例如,至少一个SSD 6300)并且可以将从选择的SSD 6300输出的数据提供给主机6310。
图12是示出包括根据本发明的实施例的存储器***的数据处理***的另一示例的图。图12是示意性地示出应用根据实施例的存储器***的嵌入式多媒体卡(eMMC)的图。
参照图12,eMMC 6400包括利用至少一个NAND闪速存储器实施的存储器装置6440和控制器6430。控制器6430可以对应于以上参照图1描述的存储器***110中的控制器130,并且存储器装置6440可以对应于以上参照图1描述的存储器***110中的存储器装置150。
详细地,控制器6430可以通过多个通道与存储器装置6440连接。控制器6430可以包括内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可以控制eMMC 6400的操作。主机接口6431可以在控制器6430和主机6410之间提供接口功能。NAND接口6433可以在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口6431可以是诸如以上参照图1描述的MMC接口的并行接口,或诸如超高速1级(UHS-I)/UHS 2级(UHS-II)和通用闪存(UFS)接口的串行接口。
图13是示出包括根据本发明的实施例的存储器***的数据处理***的另一示例的图。图13示出应用根据实施例的存储器***的通用闪存(UFS)。
参照图13,UFS***6500可以包括UFS主机6510、多个UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550。UFS主机6510可以是例如移动电子设备的有线/无线电子设备的应用处理器。
UFS主机6510、UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可以通过UFS协议分别与诸如有线/无线电子设备(例如,移动电子设备)的外部装置通信。UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可以利用以上参照图1描述的存储器***110来实施,例如实施为以上参照图9描述的存储卡***6100。嵌入式UFS装置6540和可移除UFS卡6550可以通过除UFS协议之外的另一协议通信。例如,嵌入式UFS装置6540和可移除UFS卡6550可以通过诸如但不限于USB闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD的各种卡协议来进行通信。
图14是示出包括根据本发明的实施例的存储器***的数据处理***的示例的图。图14是示意性地示出应用根据实施例的存储器***的用户***的图。
参照图14,用户***6600可以包括应用处理器6630、存储器模块6620、网络模块6640、存储模块6650和用户接口6610。
应用处理器6630可以驱动包括在用户***6600中的部件和操作***(OS)。例如,应用处理器6630可以包括用于控制包括在用户***6600中的部件的控制器、接口、图形引擎等。应用处理器6630可以通过片上***(SoC)来设置。
存储器模块6620可以用作用户***6600的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6620可以包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,应用处理器6630和存储器模块6620可以通过基于堆叠封装(POP)被封装来安装。
网络模块6640可以与外部装置通信。例如,网络模块6640不仅可以支持有线通信,而且可以支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI)等,并且可以从而与例如移动电子设备的有线/无线电子设备通信。由于该事实,根据实施例的存储器***和数据处理***可以应用于有线/无线电子设备。网络模块6640可以被包括在应用处理器6630中。
存储模块6650可以存储诸如从应用处理器6630接收的数据的数据,并且将存储在其中的数据传输到应用处理器6630。存储模块6650可以由诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器和三维NAND闪速存储器的非易失性半导体存储器装置实现。存储模块6650可以被设置为诸如用户***6600的存储卡的可移除存储介质和外部驱动器。例如,存储模块6650可以对应于以上参照图1描述的存储器***110,并且可以利用以上参照图11至图13描述的SSD、eMMC和UFS来实施。
用户接口6610可以包括用于将数据或命令输入到应用处理器6630或用于将数据输出到外部装置的接口。例如,用户接口6610可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
在以上参照图1描述的存储器***110被应用于根据实施例的用户***6600的移动电子设备的情况下,如上所述,应用处理器6630可以控制移动电子设备的操作,并且作为通信模块的网络模块6640可以控制与外部装置的有线/无线通信。作为移动电子设备的显示/触摸模块的用户接口6610显示由应用处理器6630处理的数据或支持从触摸面板输入数据。
根据各个实施例,存储器***110可以基于由于读取操作导致的延迟时间预测擦除操作所需的时间,并且可以保持在执行擦除操作时检测到的读取命令以最大化存储器***的操作。例如,当在擦除操作期间检测到读取命令时,存储器***110可以保持读取命令,并且允许在擦除操作之后执行读取操作,以将擦除操作时间保持在最佳范围内。因此,如果需要连续的操作以将擦除操作所需的时间保持在最佳范围内,则存储器***110可以连续地执行擦除操作,而不管读取命令。因此,存储器***110可以优化擦除操作和整体操作效率。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求限定的本发明的精神和范围的情况下,可以做出各种其它实施例、改变和变型。

Claims (14)

1.一种存储器***,其包括:
存储器装置;以及
控制器,其被配置为:
对所述存储器装置执行读取操作和擦除操作;
当在执行所述擦除操作期间接收到读取命令时,预测第一所需时间,所述第一所需时间基于包括响应于所述读取命令的所述读取操作所需的第一时间和正在进行的擦除操作所需的第二时间的总和;并且
根据所述第一所需时间确定是暂停所述擦除操作还是继续所述擦除操作,
其中所述擦除操作包括从存储块中选择目标存储块的第一擦除操作和擦除存储在所选择的目标存储块中的数据的第二擦除操作,并且
其中,当所述第一所需时间小于阈值时间并且在所述第一擦除操作期间提供所述读取命令时,所述控制器暂停所述正在进行的擦除操作,执行所述读取操作,并且在所述读取操作完成之后恢复所暂停的擦除操作。
2.根据权利要求1所述的存储器***,其中所述第一所需时间进一步包括暂停正在进行的所述擦除操作和恢复所暂停的擦除操作所需的时间。
3.根据权利要求1所述的存储器***,其中,当所述第一所需时间等于或大于所述阈值时间时,所述控制器在完成所述正在进行的擦除操作之后执行所述读取操作。
4.根据权利要求1所述的存储器***,
其中,当所述第一所需时间小于阈值时间并且在所述第二擦除操作期间提供所述读取命令时,所述控制器进一步预测第二所需时间并且根据所述第二所需时间顺序地执行所述读取操作和所述第二擦除操作之间的一个和另一个,所述第二所需时间是响应于所述读取命令的所述读取操作所需的第一时间、正在进行的所述擦除操作所需的第二时间和当所述第二擦除操作停止并从头开始时发生的时间损失的总和。
5.根据权利要求4所述的存储器***,其中所述第一时间包括暂停正在进行的所述第二擦除操作和开始所暂停的第二擦除操作所需的时间。
6.根据权利要求4所述的存储器***,其中,当所述第二所需时间小于阈值时间时,所述控制器暂停正在进行的所述第二擦除操作,执行所述读取操作,并且在所述读取操作完成之后从头开始所述第二擦除操作。
7.根据权利要求4所述的存储器***,其中,当所述第二所需时间等于或大于所述阈值时间时,所述控制器在完成正在进行的所述第二擦除操作之后执行所述读取操作。
8.一种存储器***的操作方法,所述存储器***包括存储器装置,所述操作方法包括:
对所述存储器装置执行擦除操作;
预测第一所需时间,所述第一所需时间是当在所述擦除操作期间提供读取命令时响应于所述读取命令的读取操作所需的第一时间和正在进行的所述擦除操作所需的第二时间的总和;以及
根据所述第一所需时间顺序地执行所述读取操作和正在进行的所述擦除操作之间的一个和另一个,
其中所述擦除操作包括从存储块中选择目标存储块的第一擦除操作和擦除存储在所选择的目标存储块中的数据的第二擦除操作,并且
其中,当所述第一所需时间小于阈值时间并且在所述第一擦除操作期间提供所述读取命令时,所述顺序地执行包括:
暂停正在进行的所述擦除操作;
执行所述读取操作;以及
在所述读取操作完成之后恢复所暂停的擦除操作。
9.根据权利要求8所述的操作方法,其中所述第一时间包括暂停正在进行的所述擦除操作和恢复所暂停的擦除操作所需的时间。
10.根据权利要求8所述的操作方法,其中,当所述第一所需时间等于或大于阈值时间时,所述顺序地执行包括在完成正在进行的所述擦除操作之后执行所述读取操作。
11.根据权利要求8所述的操作方法,
其中,当所述第一所需时间小于阈值时间并且在所述第二擦除操作期间提供所述读取命令时,所述顺序地执行包括:
预测第二所需时间,所述第二所需时间是响应于所述读取命令的所述读取操作所需的第一时间、正在进行的所述擦除操作所需的第二时间和当所述第二擦除操作停止并从头开始时发生的时间损失的总和;以及
根据所述第二所需时间顺序地执行所述读取操作和所述第二擦除操作之间的一个和另一个。
12.根据权利要求11所述的操作方法,其中所述第一时间包括暂停正在进行的所述第二擦除操作和开始所暂停的第二擦除操作所需的时间。
13.根据权利要求12所述的操作方法,其中,当所述第二所需时间小于阈值时间时,所述顺序地执行包括:
暂停正在进行的所述第二擦除操作;
执行所述读取操作;以及
在所述读取操作完成之后从头开始所述第二擦除操作。
14.根据权利要求11所述的操作方法,其中,当所述第二所需时间等于或大于所述阈值时间时,所述顺序地执行包括在完成正在进行的所述第二擦除操作之后执行所述读取操作。
CN201710659273.0A 2016-11-07 2017-08-04 存储器***及其操作方法 Active CN108074613B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0147404 2016-11-07
KR1020160147404A KR20180050862A (ko) 2016-11-07 2016-11-07 메모리 시스템 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
CN108074613A CN108074613A (zh) 2018-05-25
CN108074613B true CN108074613B (zh) 2021-07-27

Family

ID=62064573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710659273.0A Active CN108074613B (zh) 2016-11-07 2017-08-04 存储器***及其操作方法

Country Status (3)

Country Link
US (1) US10108369B2 (zh)
KR (1) KR20180050862A (zh)
CN (1) CN108074613B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11202102625VA (en) 2018-11-06 2021-04-29 Kioxia Corp Semiconductor memory device
KR102680273B1 (ko) * 2019-02-12 2024-07-01 삼성전자주식회사 서스펜드 모드를 제어하는 방법 및 이를 포함하는 메모리 컨트롤러
US11023138B2 (en) * 2019-06-28 2021-06-01 Western Digital Technologies, Inc. Management operations in predictable latency mode
KR102088944B1 (ko) * 2019-10-01 2020-05-26 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
CN110908601B (zh) * 2019-10-31 2021-07-16 联想(北京)有限公司 一种处理方法、装置及电子设备
US11081187B2 (en) * 2019-12-11 2021-08-03 SanDiskTechnologies LLC Erase suspend scheme in a storage device
KR20210079107A (ko) 2019-12-19 2021-06-29 에스케이하이닉스 주식회사 반도체 메모리 장치, 컨트롤러 및 그들의 동작 방법
KR20210098717A (ko) 2020-02-03 2021-08-11 에스케이하이닉스 주식회사 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치
CN112256203B (zh) * 2020-10-26 2023-04-28 山东盖特航空科技有限公司 Flash存储器的写入方法、装置、设备、介质及***
WO2023239707A1 (en) * 2022-06-06 2023-12-14 Pure Storage, Inc. Latency reduction of flash-based devices using programming interrupts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694184A (zh) * 2004-05-07 2005-11-09 三星电子株式会社 非易失性半导体存储器件及其多块擦除方法
CN101410905A (zh) * 2006-03-28 2009-04-15 诺基亚公司 减小非易失性存储器读取延迟的方法和设备
CN104376872A (zh) * 2013-08-16 2015-02-25 北京兆易创新科技股份有限公司 一种对快闪存储器擦除中断的处理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223514B2 (en) * 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
KR102083490B1 (ko) * 2012-08-08 2020-03-03 삼성전자 주식회사 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 커맨드 실행 제어 방법
KR20150116352A (ko) 2014-04-07 2015-10-15 삼성전자주식회사 메모리 제어 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694184A (zh) * 2004-05-07 2005-11-09 三星电子株式会社 非易失性半导体存储器件及其多块擦除方法
CN101410905A (zh) * 2006-03-28 2009-04-15 诺基亚公司 减小非易失性存储器读取延迟的方法和设备
CN104376872A (zh) * 2013-08-16 2015-02-25 北京兆易创新科技股份有限公司 一种对快闪存储器擦除中断的处理方法

Also Published As

Publication number Publication date
US10108369B2 (en) 2018-10-23
US20180129445A1 (en) 2018-05-10
CN108074613A (zh) 2018-05-25
KR20180050862A (ko) 2018-05-16

Similar Documents

Publication Publication Date Title
CN108074613B (zh) 存储器***及其操作方法
CN107643985B (zh) 存储器***及其操作方法
CN108304141B (zh) 存储器***及其操作方法
US10296245B2 (en) Memory system for rebuilding data in memory blocks and operating method thereof
CN107562649B (zh) 存储器***及其操作方法
US10073651B2 (en) Memory system with power-off detection and recovery mechanism
US10635333B2 (en) Memory system
US20180074718A1 (en) Memory system and method for operating the same
US10929236B2 (en) Memory system, method of operating the same, and data processing system including the same
CN109390003B (zh) 存储器***及其操作方法
CN108694138B (zh) 控制器及其操作方法
US20190087126A1 (en) Memory system and operating method of memory system
US10445194B2 (en) Memory system storing checkpoint information and operating method thereof
US10049754B1 (en) Controller and operating method thereof
CN108427536B (zh) 存储器***及其操作方法
CN108536622B (zh) 存储装置、数据处理***以及操作存储装置的方法
CN110489271B (zh) 存储器***及其操作方法
US10235046B2 (en) Memory system and operating method thereof
US20190140659A1 (en) Controller and operating method thereof
CN110045914B (zh) 存储器***及其操作方法
KR102511341B1 (ko) 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템과, 이들의 동작 방법
US10203908B2 (en) Controller, memory system and operating method thereof
CN110890123B (zh) 数据处理***及其操作方法
CN107728932B (zh) 存储器***及其操作方法
CN110968521B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240613

Address after: American Texas

Patentee after: Mimi IP Co.,Ltd.

Country or region after: U.S.A.

Address before: Gyeonggi Do, South Korea

Patentee before: Sk Hynix Inc.

Country or region before: Republic of Korea

TR01 Transfer of patent right