CN112698784A - 存储器*** - Google Patents
存储器*** Download PDFInfo
- Publication number
- CN112698784A CN112698784A CN202010622023.1A CN202010622023A CN112698784A CN 112698784 A CN112698784 A CN 112698784A CN 202010622023 A CN202010622023 A CN 202010622023A CN 112698784 A CN112698784 A CN 112698784A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory cells
- index
- target
- perform
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 615
- 238000012360 testing method Methods 0.000 claims description 98
- 230000003247 decreasing effect Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 description 33
- 102100029768 Histone-lysine N-methyltransferase SETD1A Human genes 0.000 description 29
- 101000865038 Homo sapiens Histone-lysine N-methyltransferase SETD1A Proteins 0.000 description 29
- 238000010586 diagram Methods 0.000 description 27
- 239000000872 buffer Substances 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 101100218322 Arabidopsis thaliana ATXR3 gene Proteins 0.000 description 2
- 102100032742 Histone-lysine N-methyltransferase SETD2 Human genes 0.000 description 2
- 101100149326 Homo sapiens SETD2 gene Proteins 0.000 description 2
- LZHSWRWIMQRTOP-UHFFFAOYSA-N N-(furan-2-ylmethyl)-3-[4-[methyl(propyl)amino]-6-(trifluoromethyl)pyrimidin-2-yl]sulfanylpropanamide Chemical compound CCCN(C)C1=NC(=NC(=C1)C(F)(F)F)SCCC(=O)NCC2=CC=CO2 LZHSWRWIMQRTOP-UHFFFAOYSA-N 0.000 description 2
- 101100533304 Plasmodium falciparum (isolate 3D7) SETVS gene Proteins 0.000 description 2
- 101150117538 Set2 gene Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/005—Circuit means for protection against loss of information of semiconductor storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/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/0614—Improving the reliability of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种存储器***。该存储器***包括:存储介质,包括具有多个存储器单元的目标存储器区域;以及控制器,被配置为:当由于突然断电而执行存储器转储操作时,将数据存储到一个或多个目标存储器单元中,估计该一个或多个目标存储器单元中的每一个比多个存储器单元之中的任意其他存储器单元花费更少的时间来执行写入操作。
Description
相关申请的交叉引用
本申请要求于2019年10月23日向韩国知识产权局提交的申请号为10-2019-0132520的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储器***,并且更特别地,涉及一种包括非易失性存储器装置的存储器***。
背景技术
存储器***可以被配置为响应于来自主机装置的写入请求存储从主机装置提供的数据。而且,存储器***可以被配置为响应于来自主机装置的读取请求将所存储的数据提供给主机装置。主机装置可以是能够处理数据的电子装置,并且可以包括计算机、数码相机、移动电话等。存储器***可以设置在主机装置内,或者可以是联接到主机装置以进行操作的单独组件。
发明内容
本公开的各个实施例提供一种能够有效地控制存储器转储操作的存储器***。
根据本公开的实施例,一种存储器***可以包括:存储介质,包括具有多个存储器单元的目标存储器区域;以及控制器,被配置为:当由于突然断电而执行存储器转储操作时,将数据存储到一个或多个目标存储器单元中,估计该一个或多个目标存储器单元中的每一个比多个存储器单元之中的任意其他存储器单元花费更少的时间来在其上执行写入操作。
根据本公开的实施例,一种存储器***可以包括:存储介质,包括具有多个存储器单元的目标存储器区域;以及控制器,被配置为基于表格在存储器单元集合之中选择包括目标存储器单元的目标存储器单元集合,并且通过使用该目标存储器单元集合执行存储器转储操作,其中该表格具有存储器单元集合的信息,根据对存储器单元中的每一个执行写入操作所需的时间量,将多个存储器单元分组到存储器单元集合中。
根据本公开的实施例,一种存储器***可以包括:存储介质,包括具有多个存储器单元的目标存储器区域;以及控制器,被配置为在发生突然断电时,对目标存储器单元集合执行存储器转储操作,根据对存储器单元集合中的每一个执行写入操作所需的时间量,将多个存储器单元之中的存储器单元分组到该目标存储器单元集合中。
根据本公开的实施例,一种存储器***可以包括:存储器装置,包括每一个都具有各个索引的多个存储器单元的多个存储器区域,各个索引指示单个存储器区域内的各个偏移的存储器单元;以及控制器,适用于控制该存储器装置以对一个或多个目标存储器单元执行存储器转储操作,该一个或多个目标存储器单元是基于在存储器区域中被选择的一个存储器区域内的目标存储器单元信息来选择的,其中该目标存储器单元信息包括索引列表,该索引列表按分别对从存储器区域中选择的测试存储器区域内的存储器单元的写入操作所消耗的时间量的递增顺序排列。
根据本公开的实施例,存储器***可以有效地控制存储器转储操作。
附图说明
结合附图描述特征、方面和实施例,在附图中:
图1是示出根据本公开的实施例的存储器***的配置的示图;
图2是示出根据本公开的实施例的图1中示出的存储器区域的结构的示图;
图3是示出根据本公开的实施例的对存储器区域中包括的存储器单元中的每一个执行写入操作所需的时间量的示意图;
图4是示出根据本公开的实施例的确定图1中所示的表格的方法的示意图;
图5是示出根据本公开的实施例的通过参考表格执行存储器转储操作的方法的示意图;
图6A是示出根据本公开的实施例的确定图1中所示的表格的方法的示意图;
图6B是示出根据本公开的实施例的对与每个索引集合相对应的存储器单元执行写入操作所需的总时间量的图;
图7是示出根据本公开的实施例的图1中所示的控制器通过参考表格来执行存储器转储操作的方法的示意图;
图8是示出根据本公开的实施例的确定图1中所示的表格的方法的示意图;
图9是根据实施例的包括固态驱动器(SSD)的数据处理***的示图;
图10是示出根据实施例的包括存储器***的数据处理***的示图。
图11是示出根据实施例的包括存储器***的数据处理***的示图。
图12是示出根据实施例的包括存储器***的网络***的示图;以及
图13是示出根据实施例的存储器***中包括的非易失性存储器装置的框图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同的形式实现因此不应该被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本公开是彻底且完整的,并且向本领域技术人员充分传达本发明的范围。
附图不一定按比例绘制,并且在一些情况下为了清楚地说明实施例的特征,比例可能被夸大。本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,术语“和/或”包括相关所列项目中的至少一个。将理解的是,当元件被称为“连接至”或“联接到”另一元件时,该元件可直接在其他元件上、连接至或联接到其他元件,或者可以存在一个或多个中间元件。如本文使用的,除非上下文另有清楚地说明,否则单数形式也旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,术语说明所陈述元件的存在而并不排除一个或多个其他元件的存在或添加。
在下文中,参照附图描述本公开的各个实施例。
图1是示出根据本公开的实施例的存储器***100的配置的示图。
存储器***100可以被配置为响应于来自外部装置的写入请求存储从外部装置提供的数据。而且,存储器***100可以被配置为响应于来自外部装置的读取请求将所存储的数据提供给外部装置。
存储器***100可以包括个人计算机存储卡国际协会(PCMCIA)卡,紧凑式闪存(CF)卡,智能卡,记忆棒,MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用闪存(UFS)装置,固态驱动器(SSD)等。
存储器***100可以包括控制器110和存储介质120。
控制器110可以控制存储器***100的一般操作。控制器110可以控制存储介质120以便响应于来自外部装置的请求执行前台操作。前台操作可以包括响应于来自外部装置的请求(例如,写入请求或读取请求),将数据写入存储介质120中以及从存储介质120读取数据的操作。
控制器110可以控制存储介质120以便执行内部必需的并且独立于外部装置的后台操作。后台操作可以包括对存储介质120的损耗均衡操作、垃圾收集操作、擦除操作、读取回收操作、刷新操作和恢复操作。与前台操作类似,后台操作可以包括将数据写入存储介质120以及从存储介质120读取数据的操作。
当发生停止向存储器***100供电的突然断电时,控制器110可以对存储器111执行存储器转储操作。控制器110可以通过使用存储介质120内的目标存储器区域TMR中包括的存储器单元MU11至MU1n之中的一个或多个目标存储器单元TMU来执行存储器转储操作。控制器110可以通过参考在表格存储装置112中存储的表格TBL,在目标存储器区域TMR内选择用于存储器转储操作的目标存储器单元TMU。虽然图1示出了两个目标存储器单元,但是本发明不限于任何特定数量的目标存储器单元;与本文的教导一致,可以采用任何合适的数量。
控制器110可以通过将存储器111中存储的数据、程序、操作信息等存储到目标存储器单元TMU中执行存储器转储操作。当发生突然断电从而停止向存储器***100供电时,控制器110可以通过使用存储器***100的保留电源(未示出)的电力执行存储器转储操作。通过存储器转储操作,重要的数据和信息可以存储在存储介质120中并且可以恢复。
因此,存储器转储操作的迅速完成可以大大提高存储器***100的性能。此外,存储器转储操作的持续时间(即,存储器转储操作之间的平均持续时间)的较小变化可以导致对存储器转储操作的平稳控制,这可能引起存储器***100的性能的提高。
为了高效的存储器转储操作起见,控制器110可以将目标存储器区域TMR中包括的存储器单元MU11至MU1n之中的、估计对其执行写入操作所需的时间量小于剩余存储器单元的存储器单元(例如,如图1中所示的存储器单元MU13和MU1n)用作目标存储器单元TMU。控制器110可以基于表格TBL在存储器单元MU11至MU1n之中选择这种目标存储器单元TMU。
表格TBL可以具有关于测试存储器单元之中的每个能够在相对短的时间内执行写入操作的一个或多个测试存储器单元的信息。关于一个或多个测试存储器单元的信息可以是一个或多个测试存储器单元的索引。控制器110可以在存储器单元MU11至MU1n之中选择每个具有表格TBL中的、与测试存储器单元相同的索引的一个或多个目标存储器单元TMU。
测试存储器单元可以来自存储介质120中包括的存储器区域MR1至MRm之中的任何测试存储器区域。关于执行写入操作所需的时间量,测试存储器单元中的每一个可以具有与各个存储器区域MR1至MRm内的存储器单元MU11至MU1n之中具有相同索引的存储器单元相同或相似的特性。因此,即使当基于某些测试存储器单元生成表格TBL时,控制器110也可以基于表格TBL从存储器区域MR1至MRm的存储器单元MU11至MU1n中选择目标存储器单元。
在通过使用目标存储器区域TMR进行存储器转储操作之后,控制器110可以通过在存储介质120中包括的其他存储器区域MR2至MRm之中选择另一个目标存储器区域TMR来执行后续存储器转储操作。也就是说,在每个存储器转储操作中,控制器110可以基于表格TBL中的索引,在存储介质120中包括的多个存储器区域MR1至MRm之中的新目标存储器区域TMR内选择新目标存储器单元TMU。参照图4和图5描述控制器110的这种操作方法。
根据本公开的实施例,控制器110可以基于表格TBL在存储器单元MU11至MU1n之中选择包括目标存储器单元TMU的目标存储器单元集合,并且可以通过使用目标存储器单元集合执行存储器转储操作。表格TBL可以具有关于存储器单元集合的信息,在存储器单元集合的每一个中,分组有存储器单元MU11至MU1n之中的一个或多个存储器单元。表格TBL可以具有分别与存储器单元集合相对应的索引集合作为关于存储器单元集合的信息。索引集合中的每一个可以包括与其他索引集合不同的测试存储器单元的索引。
索引集合可以通过设定方法来生成。根据本公开的实施例,生成索引集合的方法可以包括:基于对测试存储器单元中的每一个执行写入操作所需的时间量,顺序地生成索引集合,该索引集合中的每个都具有按对其执行写入操作所需的时间量的递增顺序的测试存储器单元的第一数量的索引和按对其执行写入操作所需的时间量的递减顺序的测试存储器单元的第二数量的索引。也就是说,生成索引集合的方法可以包括:按对测试存储器单元中的每一个执行写入操作所需的时间量的递增顺序对多个测试存储器单元的索引进行排列;顺序地生成索引集合,以使索引集合中的每一个顺序地包括所排列的索引之中的从上部选择的第一数量的索引和从下部选择的第二数量的索引。第一数量和第二数量中的每一个都可以是转储数量的一半或最接近该转储数量的一半的整数。转储的数量可以是单个存储器转储操作所需的存储器单元的数量。
可以生成表格TBL中包括的索引集合,使得对与索引组集合之中的任何一个相对应的测试存储器单元执行写入操作所需的总时间量可以彼此相同或者可以彼此相近。将参照图6A详细描述这种生成索引集合的方法。
控制器110可以选择具有在表格TBL中包括的索引集合之中目标索引集合中包括的索引的存储器单元(例如,存储器单元MU13和MU1n)作为目标存储器单元TMU。然后,在每次存储器转储操作时,控制器110可以通过顺序地选择表格TBL中包括的索引集合之中的一个作为目标索引集合,来使用目标存储器区域TMR,直到目标存储器区域TMR存满转储数据。将参照图7详细描述控制器110的这种操作。
根据本公开的实施例,生成索引集合的方法可以包括:按对每个测试存储器单元执行写入操作所需的时间量的递增顺序对多个测试存储器单元的索引进行排列;参照所排列的索引之间的一个或多个点将所排列的索引划分为索引组,在每个点处对测试存储器单元执行写入操作所需的时间量的增量大于阈值;基于每个索引组中包括的索引总数量,计算索引组中的每一个的组比率;基于转储次数和组比率计算针对每个索引组的分配数量;顺序生成针对各个索引组的子索引集合,每个子索引集合包括与针对相应索引组的分配数量一样多的索引;并且将各个索引组内相同顺序的子索引集合组合为相应顺序的索引集合。
在每个索引集合内顺序生成的子索引集合中的每一个可以顺序地包括在相应索引组内的按对相应测试存储器单元执行写入操作所需的时间量的递增顺序排列的索引之中,从上部选择的第一数量的索引和从下部选择的测试存储器单元的第二数量的索引。第一数量和第二数量中的每一个可以是指定数量的一半或最接近指定数量的一半的整数。将参照图8详细描述这种生成索引集合的方法。
根据本公开的实施例,控制器110可以对目标存储器单元TMU执行存储器转储操作,作为前台操作或后台操作。
控制器110可以包括存储器111和表格存储装置112。
存储器111可以是被配置为存储由控制器110驱动以操作存储器***100的各种程序代码和软件的工作存储器。存储器111可以是被配置为临时存储在外部装置和存储介质120之间传送的数据的缓冲存储器。存储器111可以是被配置为高速缓存数据的高速缓存存储器。
存储器111可以包括一个或多个易失性存储器装置。存储器111可以包括动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
存储器111可以包括一个或多个非易失性存储器装置。存储器111可以包括诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)或电阻随机存取存储器(ReRAM)。
如图1所示,存储器111可以设置在控制器110内。在实施例中,存储器111可以设置在控制器110外部。
表格存储装置112可以被配置为存储表格TBL。表格TBL可以由外部装置根据如上所述的生成表格TBL的方法来生成,并且可以存储在表格存储装置112中。在实施例中,在存储器***100的操作期间,表格TBL可以由控制器110生成并且可以被存储在表格存储装置112中。
在实施例中,在存储器***100的操作期间,表格TBL可以存储在存储介质120中,并且可以在需要时从存储介质120加载到表格存储装置112上以被使用。
表格存储装置112可以被配置为与存储器111不同的存储器,如图1所示。在实施例中,表格存储装置112可以包括在存储器111中。
根据控制器110的控制,存储介质120可以存储从控制器110提供的数据,可以读取所存储的数据,并且可以将所读取的数据提供给控制器110。存储介质120可以包括被配置为存储数据的多个存储器区域MR1至MRm。如图所示,存储器区域MR1包括多个存储器单元MU11至MU1n。类似地,存储器区域MR2至MRm中的每一个还可以包括多个存储器单元。
存储介质120可以包括一个或多个非易失性存储器装置。存储介质120可以包括诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)或电阻随机存取存储器(ReRAM)。
图2是示出根据本公开的实施例的图1中示出的存储器区域MR1的结构的示图。剩余存储器区域MR2至MRm中的每一个可以具有与MR1的结构相同的结构。
参照图2,存储器区域MR1可以包括多个存储块BLK1至BLKi。
存储块BLK1至BLKi可以分布在存储介质120中包括的一个或多个非易失性存储器装置内。
存储块BLK1至BLKi中的每一个可以包括多个页面。例如,存储块BLK1可以包括多个页面P11至P1n,并且存储块BLKi可以包括多个页面Pi1至Pin。
在实施例中,页面可以是存储介质120内的非易失性存储器装置一次可以执行写入操作或读取操作的单位。在实施例中,页面可以是存储介质120内的非易失性存储器装置一次可以通过相应字线访问的单位。在这种情况下,存储介质120内的非易失性存储器装置可以通过与页面相对应的字线来访问页面。在实施例中,页面可以不限于这样的单位,并且可以对应于另一单位。
可以将存储块BLK1至BLKi内的页面分组为存储器单元MU11至MU1n。在实施例中,可以将各个存储块BLK1至BLKi内的相对相同位置的页面分组为各个存储器区域MR1至MRm。在实施例中,可以将各个存储块BLK1至BLKi内的相同地址的页面分组为各个存储器区域MR1至MRm。在实施例中,可以将与在各个存储块BLK1至BLKi内的相对相同位置的字线相对应的页面分组为各个存储器区域MR1至MRm。
根据本公开的实施例,存储器单元可以是存储介质120一次可以执行写入操作或读取操作的单位。根据本公开的实施例,存储器单元可以不限于这样的单位,并且可以对应于另一单位。
根据本公开的实施例,与图2的配置不同,存储器区域可以包括单个存储块。在这种情况下,存储器单元可以包括单个页面。
图3是示出根据本公开的实施例的对存储器区域MR1和MR2中包括的存储器单元MU11至MU1n和MU21至MU2n中的每一个执行写入操作所需的时间量的示意图。
对存储器单元执行写入操作所需的时间量可以是执行将数据存储到存储器单元中的操作所需的时间量。
参照图3,在不同的存储器区域MR1和MR2内的相对相同位置的存储器单元可以各自花费相似的时间量来对其执行写入操作。例如,存储器单元MU11和MU21各自花费大约相同的时间量来执行写入操作,并且存储器单元MU12和MU22可以各自花费相似的时间来执行写入操作。以此方式,将MR1中的存储器单元与MR2中具有相对相同位置的存储器单元相匹配,其中所匹配的对的每个存储器单元在接近相同的时间量内执行写入操作。
因此,当已知或确定了指示对任意一个存储器区域中的存储器单元执行写入操作所需的时间量的特性时,可以估计在任何其他存储器区域中具有相对相同位置的每个存储器单元花费与已知或确定这种时间的存储器单元大致相同的时间量来执行写入操作。例如,当在任意存储器区域MR1和MR2内已知需要较小时间量来执行写入操作的存储器单元的位置时,可以估计在其他存储器区域内相同位置的存储器单元花费大约相同的时间量来在其上执行各个写入操作。
存储器单元的索引可以表示或指示其分配的地址、标识该存储器单元的编号或将该存储器单元与其他存储器单元区分开的任何其他信息。因此,在不同存储器区域内具有相同索引的存储器单元可以花费基本上相同的时间量来在其上执行各个写入操作。
如下所述,可以基于执行写入操作所需的时间量来确定目标存储器区域内的、待用于存储器转储操作的目标存储器单元TMU,因此,可以有效地控制在存储器转储操作期间执行写入操作所需的时间量。
图4是示出根据本公开的实施例的确定图1中所示的表格TBL的方法的示意图。
参照图4,上图41的水平轴可以表示测试存储器单元的索引,而上图41的垂直轴可以表示对测试存储器单元中的每一个执行写入操作所需的时间量。横轴的索引“1”至“n”可以分别对应于测试存储器区域中包括的“n”个测试存储器单元。该索引可以是分配给测试存储器单元的地址、标识测试存储器单元的编号或将测试存储器单元彼此区分开的其他信息。对垂直轴的测试存储器单元中的每一个执行写入操作所需的时间量可以是执行将数据存储到相应索引的测试存储器单元中的操作所需的时间量。
测试存储器区域可以是存储介质120内的存储器区域MR1至MRm之中的任意一个。测试装置或控制器110可以对测试存储器区域中包括的存储器单元(即,测试存储器单元)中的每一个执行写入操作,因此可以确认对测试存储器单元中的每一个执行写入操作所需的时间量,如上图41所示。如参照图3所描述的,指示对测试存储器区域中的测试存储器单元执行写入操作所需的时间量的特性可以与其他存储器区域相同或相似。也就是说,可以估计任意非测试存储器区域内的任意存储器单元执行写入操作所花费的时间与测试存储器区域内的相应(即,具有相同索引的)测试存储器单元基本相同。因此,每个非测试存储器区域中的每个存储器单元可以与测试存储器区域中的至少一个存储器单元进行索引匹配,该公共索引表示所匹配的存储器单元花费基本相同的时间量来执行写入操作。
图4的下图42可以是按对测试存储器单元执行写入操作所需的时间量的递增顺序对测试存储器单元的索引进行排列的结果。可以选择设定数量的索引,例如索引“50”、“75”、“3”和“12”来配置表格TBL,在所排列的索引之中按对测试存储器单元执行写入操作所需时间的递增顺序来选择索引“50”、“75”、“3”和“12”,即从所排列的索引的特定顺序(例如递增顺序)的上部来选择索引“50”、“75”、“3”和“12”。
表格TBL中包括的索引可以对应于在单个存储器转储操作中使用的目标存储器单元。也就是说,可以参照表格TBL对目标存储器区域内的索引“50”、“75”、“3”和“12”的目标存储器单元执行单个存储器转储操作。
可以根据存储器111的存储容量来确定选择以配置表格TBL的索引的数量,即转储的数量。
图5是示出根据本公开的实施例的图1所示的控制器110通过参考表格TBL执行存储器转储操作的方法的示意图。例如,表格TBL可以如参照图4所描述的那样配置。
参照图5,控制器110可以针对存储器转储操作DP1和DP2中的每一个在存储器区域MR1至MRm之中选择不同的目标存储器区域TMR,并且可以对分别选择的目标存储器区域TMR执行各自的存储器转储操作DP1和DP2。在存储器转储操作DP1和DP2中的每一个期间,控制器110可以参考表格TBL,并且可以在相应目标存储器区域TMR内选择被估计为能够在相对短的时间内执行相应写入操作的存储器单元作为相应存储器转储操作的目标存储器单元TMU。在相应目标存储器区域内,除了目标存储器单元TMU之外的剩余存储器单元可以不用于相应存储器转储操作。
特别地,当由于第一次突然断电而执行存储器转储操作DP1时,控制器110可以选择存储器区域MR1作为存储器转储操作DP1的目标存储器区域TMR。控制器110可以对在目标存储器区域MR1中包括的存储器单元之中的、表格TBL中包括的索引“50”、“75”、“3”和“12”的目标存储器单元TMU执行存储器转储操作DP1。在存储器区域MR1内,目标存储器单元TMU中的每一个可能需要比剩余存储器单元中的每一个更少的时间来执行写入操作。
当由于第二次突然断电而执行存储器转储操作DP2时,控制器110可以选择存储器区域MR2作为存储器转储操作DP2的目标存储器区域TMR。控制器110可以对在目标存储器区域MR2中包括的存储器单元之中的、表格TBL中包括的索引“50”、“75”、“3”和“12”的目标存储器单元TMU执行存储器转储操作DP2。在存储器区域MR2内,目标存储器单元TMU中的每一个可以需要比剩余存储器单元中的每一个更少的时间来执行写入操作。
在每次存储器转储操作期间对目标存储器单元TMU执行写入操作的顺序可以与索引在表格TBL内的排列顺序相同。
在实施例中,在每次存储器转储操作期间对目标存储器单元TMU执行写入操作的顺序可以与索引在表格TBL内的排列顺序无关。例如,无论索引“50”、“75”、“3”和“12”在表格TBL内如何排列,在每次存储器转储操作期间对目标存储器单元TMU执行写入操作的顺序可以是“3”、“12”、“50”和“75”或其他任何顺序。这是因为对具有表格TBL中包括的索引的目标存储器单元TMU执行写入操作所需的总时间基本上恒定,并且与写入操作的顺序无关。
由于相同的原因,表格TBL内的索引可以独立于对相应存储器单元执行写入操作所需的时间量来排列。
简而言之,控制器110可以通过对目标存储器单元TMU执行存储器转储操作来更快地完成存储器转储操作,估计目标存储器单元TMU比目标存储器区域TMR内的其他存储器单元需要更少的时间来对其执行写入操作。因此,可以提高存储器***100的性能。
图6A是示出根据本公开的实施例的确定图1中所示的表格TBL的方法的示意图。
参照图6A,上图的水平轴可以表示测试存储器单元的索引,而上图的垂直轴可以表示对测试存储器单元中的每一个执行写入操作所需的时间。图6A的上图可以是按对测试存储器单元执行写入操作所需的时间的递增顺序对测试存储器单元的索引进行排列的结果,这类似于图4的下图42。
如上所述,可以生成多个索引集合SET1至SETk以配置表格TBL。索引集合SET1至SETk中的每一个可以包括与其他索引集合不同的测试存储器单元的索引。索引集合SET1至SETk中的每一个可以包括在按对测试存储器单元执行写入操作所需的时间的递增顺序排列的索引之中,从递增顺序的上部选择的第一数量的索引和从该顺序的下部选择的第二数量的索引。
例如,第一数量和第二数量中的每一个都可以为“2”。在这种情况下,为了配置第一索引集合SET1,可以按对测试存储器单元执行写入操作所需时间的递增顺序来选择两个索引“50”和“75”,并且可以按对测试存储器单元执行写入操作所需时间的递减顺序来选择两个索引“43”和“23”。
为了配置第二索引集合SET2,可以按对测试存储器单元执行写入操作所需时间的递增顺序来选择两个索引“3”和“12”,并且可以在除了第一索引集合SET1中包括的索引之外的剩余索引之中,按对测试存储器单元执行写入操作所需时间的递减顺序来选择两个索引“35”和“20”。
这种生成索引集合的方法还可以应用于除第一索引集合SET1和第二索引集合SET2中包括的索引之外的剩余索引。
第一数量和第二数量可以相同或不同。在实施例中,当转储的数量是偶数时,第一数量和第二数量中的每一个可以表示转储数量的一半。在实施例中,当转储的数量为奇数时,第一数量和第二数量中的一个可以是最接近转储数量的一半的低侧的整数,而两个数量中的另一个可以是最接近转储数量的一半的高侧的整数。
每当执行存储器转储操作时,可以顺序地利用表格TBL中包括的索引集合SET1至SETk。也就是说,索引集合SET1至SETk的每一个中包括的索引可以是用于单个存储器转储操作的目标存储器单元中的索引。
图6B是示出根据本公开的实施例的对与每个索引集合相对应的存储器单元执行写入操作所需的总时间的图。参照图6B,该图的水平轴可以表示索引集合SET1至SETk,并且该图的垂直轴可以表示对与索引集合SET1至SETk的每一个中包括的索引相对应的存储器单元执行写入操作所需的总时间。
根据参照图6A描述的生成索引集合SET1至SETk的方法,对与索引集合SET1至SETk的每一个中包括的索引相对应的存储器单元执行写入操作所需的总时间量可能变得彼此相近,如图6B所示。因此,当根据索引集合SET1至SETk顺序地执行存储器转储操作时,对与索引集合SET1至SETk的每一个中包括的索引相对应的存储器单元执行写入操作所需的总时间量的变化可能并不大。因此,可以平稳地控制存储器转储操作并且可以提高存储器***100的性能。
图7是示出根据本公开的实施例的图1中所示的控制器110通过参考表格TBL执行存储器转储操作的方法的示意图。例如,可以如参照图6A所描述的那样确定表格TBL。
参照图7,控制器110可以对目标存储器区域TMR执行存储器转储操作,直到目标存储器区域TMR存满转储数据为止,这与图5的实施例不同,在图5的实施例中,控制器110对被选择目标存储器区域TMR内的一些目标存储器单元执行每次存储器转储操作。每当执行每次存储器转储操作时,可以将表格TBL内的索引集合SET1至SETk顺序地称为针对目标存储器区域TMR的目标索引集合。
特别地,当由于第一次突然断电而执行第一存储器转储操作DP1时,控制器110可以选择存储器区域MR1作为第一存储器转储操作DP1的目标存储器区域TMR。控制器110可以通过参考索引集合SET1至SETk之中的第一索引集合SET1作为目标索引集合TSET来选择目标存储器区域TMR内的目标存储器单元集合TMUS,并且可以对目标存储器单元集合TMUS执行第一存储器转储操作DP1。第一存储器转储操作DP1的目标存储器单元集合TMUS可以由第一索引集合SET1内的索引“50”、“75”、“43”和“23”的目标存储器单元来配置。
当由于第二次突然断电而执行第二存储器转储操作DP2时,控制器110可以保持(即,可以不改变)针对第二存储器转储操作DP2的目标存储器区域TMR。控制器110可以通过参考索引集合SET1至SETk之中的第二索引集合SET2作为目标索引集合TSET,来选择目标存储器区域TMR内的目标存储器单元集合TMUS,并且可以对目标存储器单元集合TMUS执行第二存储器转储操作DP2。第二存储器转储操作DP2的目标存储器单元集合TMUS可以由第二索引集合SET2内的索引“3”、“12”、“35”和“20”的目标存储器单元来配置。
当由于第k次突然断电而执行第k存储器转储操作DPk时,控制器110可以保持(即,可以不改变)针对第k存储器转储操作DPk的目标存储器区域TMR。控制器110可以通过参考索引集合SET1至SETk之中的第k索引集合SETk作为目标索引组TSET来选择目标存储器区域TMR内的目标存储器单元集合TMUS,并且可以对目标存储器单元集合TMUS执行第k存储器转储操作DPk。第k存储器转储操作DPk的目标存储器单元集合TMUS可以由第k索引集合SETk内的索引的目标存储器单元来配置。
然后,当发生后续的突然断电时,目标存储器区域TMR已经存满转储的数据,因此控制器110可以选择图1的存储器区域MR2至MRm中的任意一个作为新目标存储器区域TMR,并且可以根据上述方法执行存储器转储操作。
每当执行存储器转储操作时,可以根据表格TBL内的排列次序顺序地利用索引集合SET1至SETk。然而,如参照图6B所述,由于对与索引集合SET1至SETk的每一个中包括的索引相对应的存储器单元执行写入操作所需的总时间量可能彼此相近,因此也可以将索引集合SET1至SETk排列在表格TBL中而不管索引集合的生成顺序。
图8是示出根据本公开的实施例的确定图1中所示的表格TBL的方法的示意图。
参照图8,该图的水平轴可以表示测试存储器单元的索引,该图的垂直轴可以表示对测试存储器单元中的每一个执行写入操作所需的时间量。图8的图可以是按对测试存储器单元执行写入操作所需的时间量的递增顺序对测试存储器单元的索引进行排序的结果,这类似于图4的下图42。
表格TBL可以包括多个索引集合SET1至SETk。可以通过与生成图6A的索引集合SET1至SETk的方法不同的方法来生成图8的索引集合SET1至SETk。
特别地,当索引之间存在一个或多个点时,可以参考这些点将所排列的索引划分为多个索引组。对先前测试存储器单元和后续测试存储器单元执行写入操作所需时间的增量可以大于阈值TH。分别与先前测试存储器单元和后续测试存储器单元对应的先前索引和后续索引可以表示该点。换言之,当计算分别与先前索引和后续索引对应的先前测试存储器单元和后续测试存储器单元执行写入操作所需时间的差值时,并且当对应于大于阈值TH的差值的先前索引和随后索引之间存在点时,可以参考这些点(即,先前索引和后续索引)将排列的索引划分为索引组。例如,当对与表示点PT1的先前索引和后续索引相对应的先前测试存储器单元和后续测试存储器单元执行写入操作所需时间的增量大于阈值TH时,可以参考点PT1将所排列的索引划分为两个索引组IDG1和IDG2。也就是说,先前索引可以对应于在索引组IDG1内执行写入操作所需的最大时间量,而后续索引可以对应于在索引组IDG2内执行写入操作所需的最小时间量。
然后,可以基于每个索引组中包括的索引的总数量来计算各个索引组的组比率。可以通过将相应索引组中包括的索引的总数量除以测试存储器单元的总数量来计算每个索引组的组比率。例如,索引组IDG1的组比率可以是0.7,索引组IDG2的组比率可以是0.3。
然后,可以基于转储的数量和相应索引组的组比率来计算每个索引组的分配数量。每个索引组的分配数量可以通过将转储数量乘以相应索引组的组比率来计算。例如,当转储的数量为10时,索引组IDG1的分配数量可以为10,索引组IDG2的分配数量可以为3。
然后,可以为各个索引组顺序地生成子索引集合,每个子索引集合包括与针对相应索引组所分配的数量一样多的索引。顺序地生成各个索引组的子索引集合的方法可以类似于顺序地生成索引集合的方法,如参照图6A所述,其中每个子索引集合都包括与相应索引组所分配的数量一样多的索引,每个索引集合都包括与总共“n”个索引之中的转储数量一样多的索引。
特别地,各个索引组内的子索引集合可以包括,在相应索引组内的、按对相应测试存储器单元执行写入操作所需时间的递增顺序进行排列的索引之中,从该顺序的上部选择的第一数量的索引和从该顺序的下部选择的第二数量的索引。
例如,对于索引组IDG1,第一数量可以是“3”(S11),第二数量可以是“4”(S12)。在这种情况下,为了在索引组IDG1内配置第一子索引集合IDG1_S1,在索引组IDG1内的索引之中,可以按对测试存储器单元执行写入操作所需时间的递增顺序来选择3个索引S11,并且可以按对测试存储器单元执行写入操作所需时间的递减顺序来选择4个索引S12。在这种情况下,为了在索引组IDG1内配置第二子索引集合IDG1_S2,在索引组IDG1内的除了第一子索引集合IDG1_S1之外的剩余索引之中,可以按对测试存储器单元执行写入操作所需时间的递增顺序来选择3个索引S21,并且可以按对测试存储器单元执行写入操作所需时间的递减顺序来选择4个索引S22。这种生成子索引集合的方法还可以适用于索引组IDG1内的除了第一子索引集合IDG1_S1和第二子索引集合IDG1_S2之外的剩余索引。
例如,对于索引组IDG2,第一数量可以是“2”(S13),第二数量可以是“1”(S14)。在这种情况下,为了在索引组IDG2内配置第一子索引集合IDG2_S1,在索引组IDG2内的索引之中,可以按对测试存储器单元执行写入操作所需时间的递增顺序来选择2个索引S13,并且可以按对测试存储器单元执行写入操作所需时间的递减顺序来选择1个索引S14。在这种情况下,为了在索引组IDG2内配置第二子索引集合IDG2_S2,在索引组IDG2内的除了第一子索引集合IDG2_S1之外的剩余索引之中,可以按对测试存储器单元执行写入操作所需时间的递增顺序来选择2个索引S23,并且可以按对测试存储器单元执行写入操作所需时间的递减顺序来选择1个索引S24。这种生成子索引集合的方法也可以适用于索引组IDG2内的剩余索引。
对于每个索引组,第一数量和第二数量的总和可以与分配的数量相同。在实施例中,当索引组的分配数量是偶数时,索引组的第一数量和第二数量中的每一个可以表示索引组的分配数量的一半。在实施例中,当索引组的分配数量是奇数时,索引组的第一数量和第二数量中的每一个可以是最接近索引组的分配数量的一半的整数。
然后,可以将各个索引组内相同顺序的子索引集合组合成相应顺序的索引组。例如,可以将索引组IDG1内的第一子索引集合IDG2_S1和索引组IDG2内的第一子索引集合IDG1_S1组合成第一索引集合SET1。而且,索引组IDG1内的第二子索引集合IDG2_S2和索引组IDG2内的第二子索引集合IDG2_S2可以组合为第二索引集合SET2。
根据参照图8描述的生成索引集合SET1至SETk的方法,对与索引集合SET1至SETk的每一个中包括的索引相对应的存储器单元执行写入操作所需的总时间可能变得彼此相近。尤其是,当存在对测试存储器单元执行写入操作所需时间的增量大于阈值的点PT1时,参照图8描述的生成索引集合SET1至SETk的方法可以进一步将索引均匀地分布到索引集合SET1至SETk中,因此可以产生比参照图6A描述的生成索引集合SET1至SETk的方法更大的效果。
控制器110通过参照图8的表格TBL执行存储器转储操作的方法可以与参照图7描述的方法基本相同,因此此处省略对其描述。
图9是根据实施例的包括固态驱动器(SSD)1200的数据处理***1000的示图。参照图9,数据处理***1000可以包括主机装置1100以及固态驱动器SSD1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD1200的一般操作。控制器1210可以以与图1所示的控制器110相同的方式来操作。
控制器1210可以包括主机接口1211、控制组件1212、随机存取存储器1213、错误校正码(ECC)组件1214和存储器接口1215。
主机接口1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口1211可以根据主机装置1100的协议来接口连接主机装置1100和SSD 1200。例如,主机接口1211可以通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串列SCSI(SAS)、***组件互连(PCI)、高速PCI(PCI-e)和通用闪存(UFS)。
控制组件1212可以分析并处理从主机装置1100接收的信号SGL。控制组件1212可以根据驱动SSD200的固件或软件控制内部功能块的操作。随机存取存储器1213可以用作用于驱动这种固件或软件的工作存储器。随机存取存储器1213可以对应于图1所示的存储器111。
ECC组件1214可以生成待被传输到非易失性存储器装置1231至123n中的至少一个的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置1231至123n中。ECC组件1214可以基于奇偶校验数据检测从非易失性存储器装置1231至123n中的至少一个读取的数据的错误。如果检测到的错误在可校正范围内,则ECC组件1214可以校正所检测到的错误。
存储器接口1215可以根据控制组件1212的控制,将诸如命令和地址的控制信号提供到非易失性存储器装置1231至123n中的至少一个。此外,存储器接口1215可以根据控制组件1212的控制,与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口1215可以将缓冲存储器装置1220中存储的数据提供到非易失性存储器装置1231至123n中的至少一个,或将从非易失性存储器装置1231至123n中的至少一个读取的数据提供到缓冲存储器装置1220。
缓冲存储器装置1220可以临时存储待存储在非易失性存储器装置1231至123n中的至少一个中的数据。此外,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n中的至少一个读取的数据。临时存储在缓冲存储器装置1220中的数据可以根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个通道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到相同的通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1260输入的电力PWR提供到SSD1200的内部。电源1240可包括辅助电源1241。辅助电源1241可以供应电力以在发生突然断电时允许SSD 1200正常终止。辅助电源1241可包括大容量电容器。
根据主机装置1100和SSD1200之间的接口方案,信号连接器1250可以通过各种类型的连接器中的任意一种配置。
根据主机装置1100的电力供应方案,电源连接器1260可以通过各种类型的连接器中的任意一种配置。
图10是根据实施例的包括存储器***2200的数据处理***2000的示图。参照图10,数据处理***2000可以包括主机装置2100和存储器***2200。
主机装置2100可以以诸如印刷电路板的板形式配置。虽然未示出,但是主机装置2100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。存储器***2200可以安装到连接端子2110。
存储器***2200可以以诸如印刷电路板的板形式来配置。存储器***2200可以被称为存储器模块或存储卡。存储器***2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制存储器***2200的一般操作。控制器2210可以以与图1所示的控制器110或图9所示的控制器1210相同的方式配置。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231和2232中的数据。此外,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作存储器***2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的电力提供到存储器***2200的内部。PMIC 2240可以根据控制器2210的控制来管理存储器***2200的电力。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2250,可以在主机装置2100和存储器***2200之间传送诸如命令、地址、数据等信号以及电力。根据主机装置2100和存储器***2200之间的接口方案,连接端子2250可以被配置成各种类型中的任意一种。连接端子2250可以设置在存储器***2200的任意一侧之上或之中。
图11是根据实施例的包括存储器***3200的数据处理***3000的示图。参照图11,数据处理***3000可以包括主机装置3100和存储器***3200。
主机装置3100可以以诸如印刷电路板的板形式配置。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
存储器***3200可以以表面安装类型封装的形式配置。存储器***3200可以通过焊球3250安装到主机装置3100。存储器***3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制存储器***3200的一般操作。控制器3210可以以与图1所示的控制器110或图9所示的控制器1210相同的方式配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传送到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作存储器***3200的存储介质。
图12是根据实施例的包括存储器***4200的网络***4000的示图。参照图12,网络***4000可以包括通过网络4500联接的服务器***4300和多个客户端***4410至4430。
服务器***4300可以响应于来自多个客户端***4410至4430的请求来服务数据。例如,服务器***4300可以存储从多个客户端***4410至4430提供的数据。又例如,服务器***4300可以将数据提供到多个客户端***4410至4430。
服务器***4300可以包括主机装置4100和存储器***4200。存储器***4200可以由图1所示的存储器***100、图9所示的存储器***1200、图10所示的存储器***2200或图11所示的存储器***3200来配置。
图13是根据实施例的存储器***中包括的非易失性存储器装置300的框图。参照图13,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm与位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制操作。行解码器320可以解码由外部装置(未示出)提供的地址。行解码器320可以基于解码结果选择并驱动字线WL1至WLm。例如,行解码器320可以将由电压生成器350提供的字线电压提供到字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制操作。数据读取/写入块330可以根据操作模式作为写入驱动器或读出放大器操作。例如,在写入操作中,数据读取/写入块330可以作为将从外部装置提供的数据存储在存储器单元阵列310中的写入驱动器操作。再例如,在读出操作中,数据读取/写入块330可以作为从存储器单元阵列310读出数据的读出放大器操作。
列解码器340可以根据控制逻辑360的控制操作。列解码器340可以解码由外部装置提供的地址。列解码器340可以基于解码结果将数据读取/写入块330的、分别对应于位线BL1至BLn的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成待在非易失存储器装置300的内部操作中使用的电压。可以将电压生成器350所生成的电压施加到存储器单元阵列310的存储器单元。例如,可以将在编程操作中生成的编程电压施加到待被执行编程操作的存储器单元的字线。再例如,可以将在擦除操作中生成的擦除电压施加到待被执行擦除操作的存储器单元的阱区。又例如,可以将在读取操作中生成的读取电压施加到待被执行读取操作的存储器单元的字线。
控制逻辑360可以基于由外部装置提供的控制信号控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然已经示出并描述了某些实施例,但是本领域技术人员将理解的是,所描述的实施例仅是作为示例。因此,本发明不受限于或被限制为所描述的实施例中的任何一个。相反,本发明涵盖落入权利要求书范围内的任何公开实施例的所有修改和变型。
Claims (21)
1.一种存储器***,包括:
存储介质,包括具有多个存储器单元的目标存储器区域;以及
控制器,当由于突然断电而执行存储器转储操作时,将数据存储到一个或多个目标存储器单元中,估计所述一个或多个目标存储器单元中的每一个比所述多个存储器单元之中的任意其他存储器单元花费更少的时间来执行写入操作。
2.根据权利要求1所述的存储器***,
其中所述存储介质进一步包括测试存储器区域,所述测试存储器区域包括测试存储器单元,
其中所述控制器基于表格在所述存储器单元之中选择目标存储器单元,并且
其中所述表格具有所述测试存储器单元之中的一个或多个测试存储器单元的信息,所述信息按相应测试存储器单元执行写入操作所需的时间量的递增顺序排列。
3.根据权利要求2所述的存储器***,
其中所述信息是所述一个或多个测试存储器单元的索引,并且
其中所述控制器在所述多个存储器单元之中选择每个均具有与所述一个或多个测试存储器单元中的至少一个的索引相同的索引的存储器单元作为目标存储器单元。
4.根据权利要求2所述的存储器***,其中关于对所述测试存储器单元执行写入操作所需的时间量,所述测试存储器单元中的每一个具有与所述多个存储器单元之中的、具有相同索引的存储器单元相同或相似的特性。
5.根据权利要求1所述的存储器***,
其中所述存储介质包括多个存储器区域,并且
其中每次执行所述存储器转储操作时,所述控制器在所述多个存储器区域之中的新目标存储器区域内选择新目标存储器单元。
6.一种存储器***,包括:
存储介质,包括具有多个存储器单元的目标存储器区域;以及
控制器,基于表格来在存储器单元集合之中选择包括目标存储器单元的目标存储器单元集合,并且通过使用所述目标存储器单元集合来执行存储器转储操作,
其中所述表格具有所述存储器单元集合的信息,根据对所述存储器单元中的每一个执行写入操作所需的时间量,将所述多个存储器单元分组到所述述存储器单元集合中。
7.根据权利要求6所述的存储器***,
其中所述存储介质进一步包括测试存储器区域,所述测试存储器区域包括测试存储器单元,
其中所述表格包括分别与所述存储器单元集合相对应的索引集合,并且所述索引集合中的每一个包括与其他索引集合不同的所述测试存储器单元的索引,并且
其中所述控制器在所述多个存储器单元之中选择每个均具有与所述索引集合之中的目标索引组中包括的索引相同的索引的存储器单元作为所述目标存储器单元。
8.根据权利要求7所述的存储器***,其中所述控制器通过以下方式生成所述索引集合:
按对所述测试存储器单元中的每一个执行写入操作所需的时间量的递增顺序对所述测试存储器单元的索引进行排列;以及
顺序地生成所述索引集合,以使得所述索引集合中的每一个顺序地包括所排列的索引之中的按所述递增顺序从上部选择的第一数量的索引和按所述递增顺序从下部选择的第二数量的索引。
9.根据权利要求8所述的存储器***,
其中所述第一数量和所述第二数量中的每一个表示转储数量的一半或者最接近所述转储数量的一半的整数,并且
其中所述转储数量是执行所述存储器转储操作所需的存储器单元的数量。
10.根据权利要求7所述的存储器***,其中所述控制器通过以下方式生成所述索引集合:
按对所述测试存储器单元中的每一个执行写入操作所需的时间量的递增顺序对所述测试存储器单元的索引进行排列;
参考所排列的索引之间的一个或多个点,将所排列的索引划分为索引组,对每个点的一侧上的测试存储器单元和相应点的另一侧上的测试存储器单元执行写入操作所需时间量的增量大于阈值量;
基于每个索引组中包括的索引的总数量,计算所述索引组中的每一个的组比率;
基于转储的数量和所述组比率计算每个索引组的分配数量;
针对各个索引组顺序地生成子索引集合,每个子索引集合包括与相应索引组的分配数量一样多的索引;并且
将所述各个索引组内相同顺序的子索引集合组合为相应顺序的索引集合。
11.根据权利要求10所述的存储器***,其中在每个索引组内顺序地生成的子索引集合中的每一个顺序地包括在相应索引组内按对相应测试存储器单元执行写入操作所需的时间量的递增顺序排列的所述索引之中、从上部选择的第一数量的索引和从下部选择的第二数量的索引。
12.根据权利要求11所述的存储器***,其中所述第一数量和所述第二数量中的每一个表示所分配数量的一半或者最接近所分配数量的一半的整数。
13.根据权利要求7所述的存储器***,其中关于执行写入操作所需的时间量,所述测试存储器单元中的每一个具有与所述多个存储器单元之中的、具有相同索引的存储器单元相同或相似的特性。
14.根据权利要求7所述的存储器***,其中所述控制器生成所述索引集合,使得对与所述索引集合的每一个中包括的索引相对应的所述测试存储器单元执行写入操作所需的总时间量彼此相同或相似。
15.根据权利要求7所述的存储器***,其中在每次存储器转储操作时,所述控制器通过在所述索引集合之中顺序地选择一个索引集合作为目标索引集合,来使用所述目标存储器区域,直到所述目标存储器区域存满转储数据。
16.一种存储器***,包括:
存储介质,包括具有多个存储器单元的目标存储器区域;以及
控制器,在发生突然断电时,对目标存储器单元集合执行存储器转储操作,根据对存储器单元中的每一个执行写入操作所需的时间量,将所述多个存储器单元之中的存储器单元分组到所述目标存储器单元集合中。
17.根据权利要求16所述的存储器***,其中所述目标存储器单元集合包括设定数量的存储器单元,所述设定数量的存储器单元在所述存储器单元之中按对所述存储器单元中的每一个执行写入操作所需的时间量的递增顺序来选择。
18.根据权利要求17所述的存储器***,其中所述控制器仅利用所述多个存储器单元之中的所述目标存储器单元集合。
19.根据权利要求16所述的存储器***,其中所述目标存储器单元集合包括所述存储器单元之中的、第一数量的存储器单元,按对所述存储器单元中的每一个执行写入操作所需的时间量的递增顺序来选择所述第一数量的存储器单元;以及第二数量的存储器单元,按对所述存储器单元中的每一个执行写入操作所需的时间量的递减顺序来选择所述第二数量的存储器单元。
20.根据权利要求16所述的存储器***,
其中所述目标存储器单元集合包括第一数量的存储器单元和第二数量的存储器单元,在所述存储器单元被划分成的存储器组的每一个内,按对所述存储器单元中的每一个执行写入操作所需的时间量的递增顺序来选择所述第一数量的存储器单元,以及按对所述存储器单元中的每一个执行写入操作所需的时间量的递减顺序来选择所述第二数量的存储器单元,并且
其中参照先前存储器单元和后续存储器单元之间的一个或多个点将按所述递增顺序排列的存储器单元之中的所述存储器单元划分为所述存储器组,所述一个或多个点具有大于阈值的执行各自的写入操作所需的时间量的差值。
21.一种存储器***,包括:
存储器装置,包括每个都具有各个索引的多个存储器单元的多个存储器区域,所述各个索引指示单个所述存储器区域内的各个偏移的存储器单元;以及
控制器,控制所述存储器装置以对一个或多个目标存储器单元执行存储器转储操作,所述一个或多个目标存储器单元是基于在所述存储器区域的被选择存储器区域内的目标存储器单元信息来选择的,
其中所述目标存储器单元信息包括索引列表,所述索引列表按分别对从所述存储器区域中选择的测试存储器区域内的存储器单元的写入操作所消耗的时间量的递增顺序排列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0132520 | 2019-10-23 | ||
KR1020190132520A KR20210048349A (ko) | 2019-10-23 | 2019-10-23 | 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112698784A true CN112698784A (zh) | 2021-04-23 |
CN112698784B CN112698784B (zh) | 2023-12-19 |
Family
ID=75505559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010622023.1A Active CN112698784B (zh) | 2019-10-23 | 2020-06-30 | 存储器*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11437113B2 (zh) |
KR (1) | KR20210048349A (zh) |
CN (1) | CN112698784B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201113A (zh) * | 2021-12-13 | 2022-03-18 | 建信金融科技有限责任公司 | 多对象存储桶的选择方法、装置及处理器 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004252746A (ja) * | 2003-02-20 | 2004-09-09 | Sony Corp | 記録媒体の記録制御方法、記録制御装置および電子機器 |
CN101203847A (zh) * | 2005-03-11 | 2008-06-18 | 雅虎公司 | 用于管理列表的***和方法 |
US20100306465A1 (en) * | 2009-05-22 | 2010-12-02 | Hitachi, Ltd. | Storage system comprising plurality of processor units |
CN104476923A (zh) * | 2015-01-06 | 2015-04-01 | 珠海天威技术开发有限公司 | 耗材芯片及耗材容器、耗材芯片存储单元的供电方法 |
CN105097028A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 包括非易失性存储器件的存储装置和该器件的读取方法 |
CN105930093A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
US20190065114A1 (en) * | 2017-08-25 | 2019-02-28 | Toshiba Memory Corporation | Memory system |
US20190163628A1 (en) * | 2019-01-30 | 2019-05-30 | Intel Corporation | Multi-level system memory with a battery backed up portion of a non volatile memory level |
CN110362423A (zh) * | 2018-04-09 | 2019-10-22 | 爱思开海力士有限公司 | 优化恢复性能的数据存储装置、操作方法以及存储*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180994B2 (en) | 2009-07-08 | 2012-05-15 | Sandisk Technologies Inc. | Optimized page programming order for non-volatile memory |
US11099986B2 (en) * | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
-
2019
- 2019-10-23 KR KR1020190132520A patent/KR20210048349A/ko not_active Application Discontinuation
-
2020
- 2020-05-18 US US16/876,407 patent/US11437113B2/en active Active
- 2020-06-30 CN CN202010622023.1A patent/CN112698784B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004252746A (ja) * | 2003-02-20 | 2004-09-09 | Sony Corp | 記録媒体の記録制御方法、記録制御装置および電子機器 |
CN101203847A (zh) * | 2005-03-11 | 2008-06-18 | 雅虎公司 | 用于管理列表的***和方法 |
US20100306465A1 (en) * | 2009-05-22 | 2010-12-02 | Hitachi, Ltd. | Storage system comprising plurality of processor units |
CN105097028A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 包括非易失性存储器件的存储装置和该器件的读取方法 |
CN104476923A (zh) * | 2015-01-06 | 2015-04-01 | 珠海天威技术开发有限公司 | 耗材芯片及耗材容器、耗材芯片存储单元的供电方法 |
CN105930093A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
US20190065114A1 (en) * | 2017-08-25 | 2019-02-28 | Toshiba Memory Corporation | Memory system |
CN110362423A (zh) * | 2018-04-09 | 2019-10-22 | 爱思开海力士有限公司 | 优化恢复性能的数据存储装置、操作方法以及存储*** |
US20190163628A1 (en) * | 2019-01-30 | 2019-05-30 | Intel Corporation | Multi-level system memory with a battery backed up portion of a non volatile memory level |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201113A (zh) * | 2021-12-13 | 2022-03-18 | 建信金融科技有限责任公司 | 多对象存储桶的选择方法、装置及处理器 |
CN114201113B (zh) * | 2021-12-13 | 2023-06-02 | 建信金融科技有限责任公司 | 多对象存储桶的选择方法、装置及处理器 |
Also Published As
Publication number | Publication date |
---|---|
US20210125679A1 (en) | 2021-04-29 |
US11437113B2 (en) | 2022-09-06 |
KR20210048349A (ko) | 2021-05-03 |
CN112698784B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487669B2 (en) | Memory system for storing data of log-structured merge tree structure and data processing system including the same | |
US20200117559A1 (en) | Data storage device and operating method thereof | |
CN110908594B (zh) | 存储器***的操作方法和存储器*** | |
US11543990B2 (en) | Data storage apparatus with extended lifespan and operation method thereof | |
US12026398B2 (en) | Memory system performing flush operation for buffer region | |
US20210216458A1 (en) | Memory system performing host map management | |
CN112286443A (zh) | 控制器、存储器***及其操作方法 | |
US11036493B2 (en) | Memory system and operating method thereof | |
US11635896B2 (en) | Method and data storage apparatus for replacement of invalid data blocks due to data migration | |
CN111258494B (zh) | 数据存储装置及操作方法、具有数据存储装置的存储*** | |
CN112698784B (zh) | 存储器*** | |
KR20190035280A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110032466B (zh) | 数据存储装置及其操作方法 | |
US20230289059A1 (en) | Memory system and operating method thereof | |
CN110442302B (zh) | 存储器***及用于操作存储器***的方法 | |
US11513722B2 (en) | Memory system allowing operation during suspensions | |
CN109840214B (zh) | 数据存储装置及其操作方法 | |
US20210223956A1 (en) | Memory system and data processing system including the same | |
US20230214151A1 (en) | Memory system and operating method thereof | |
CN110825654B (zh) | 存储器***及其操作方法 | |
US20210089208A1 (en) | Memory system and data processing system including the same | |
US20220197792A1 (en) | Random seed generating circuit of memory system | |
CN110196817B (zh) | 数据存储装置及该数据存储装置的操作方法 | |
US20220171706A1 (en) | Memory system and operating method thereof | |
US20230031193A1 (en) | Memory system and operating method thereof |
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 |