CN111352854B - 存储装置、控制器及操作存储装置的方法 - Google Patents
存储装置、控制器及操作存储装置的方法 Download PDFInfo
- Publication number
- CN111352854B CN111352854B CN201910916961.XA CN201910916961A CN111352854B CN 111352854 B CN111352854 B CN 111352854B CN 201910916961 A CN201910916961 A CN 201910916961A CN 111352854 B CN111352854 B CN 111352854B
- Authority
- CN
- China
- Prior art keywords
- user data
- segment
- metadata
- segments
- memory blocks
- 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
Links
- 238000000034 method Methods 0.000 title claims description 22
- 230000015654 memory Effects 0.000 claims abstract description 266
- 239000004065 semiconductor Substances 0.000 claims abstract description 104
- 238000013507 mapping Methods 0.000 claims description 51
- 238000010586 diagram Methods 0.000 description 17
- 239000010410 layer Substances 0.000 description 12
- 239000000872 buffer Substances 0.000 description 11
- 230000004044 response Effects 0.000 description 7
- 101100072644 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) INO2 gene Proteins 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/0662—Virtualisation aspects
-
- 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]
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本公开涉及一种存储装置。该存储装置包括半导体存储器装置和控制器,其中半导体存储器装置包括多个存储块、包括存储块的多个平面和包括平面的多个存储器管芯,并且控制器被配置成将基于从主机接收的命令所确定的用户数据和元数据存储在超级存储块中,每个超级存储块包括多个存储块中的一些存储块。控制器包括段排队电路和段存储电路,其中段排队电路被配置成根据条带化方案使用户数据或元数据的段在N个(N为自然数)虚拟管芯队列中排队,并且段存储电路被配置成将所排队的用户数据或元数据的段存储在多个超级存储块之中的超级存储块中,其中根据条带化方案将所排队的用户数据或元数据的段存储在超级存储块中包括的存储块中。
Description
相关申请的交叉引用
本申请要求于2018年12月20日向韩国知识产权局提交的申请号为10-2018-0165910的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本申请的各个实施例总体涉及一种存储装置、控制器及操作该存储装置的方法。
背景技术
存储装置基于诸如计算机和智能电话的主机的请求来存储数据。因为存储装置不包括机械驱动部件,所以其具有优异的稳定性、高访问速度和低功耗。这种存储装置的示例包括通用串行总线(USB)存储器装置、固态驱动器(SSD)、通用闪存(UFS)装置和嵌入式MMC(eMMC)装置。
存储装置中包括存储数据的半导体存储器装置。半导体存储器装置包括多个存储块、包括存储块的多个平面和包括平面的多个存储器管芯。
发明内容
各个实施例涉及一种能够在确保由映射指示的用户数据存储在半导体存储器装置中的同时提高写入性能的存储装置、控制器和操作存储装置的方法。
在实施例中,存储装置可包括:半导体存储器装置,包括多个存储块、包括存储块的多个平面和包括平面的多个存储器管芯;以及控制器,被配置成从主机接收命令,并将基于所接收的命令而确定的用户数据和元数据存储在多个超级存储块中,每个超级存储块包括多个存储块中的一些存储块,该控制器包括:段排队电路,被配置成根据条带化方案使用户数据或元数据的段在控制器中包括的N个(N为自然数)虚拟管芯队列中排队;以及段存储电路,被配置成将所排队的用户数据或元数据的段存储在多个超级存储块之中的超级存储块中,其中根据条带化方案将所排队的用户数据或元数据的段存储在超级存储块中包括的存储块中。
在实施例中,控制器适于从主机接收命令并将基于该命令而确定的用户数据和元数据存储在多个超级存储块之中的一个超级存储块中,每个超级存储块包括多个存储块;控制器可包括:段排队电路,被配置成根据条带化方案使用户数据或元数据的段在控制器中包括的N个(N为自然数)虚拟管芯队列中排队;以及段存储电路,被配置成根据条带化方案,将所排队的用户数据或元数据的段存储在多个超级存储块之中的超级存储块中,其中所排队的段被存储在超级存储块中的存储块中。
在实施例中,一种操作存储装置的方法,该存储装置包括半导体存储器装置,半导体存储器装置包括多个存储块、包括存储块的多个平面以及包括平面的多个存储器管芯,该方法可包括:从主机接收命令;根据条带化方案,使基于该命令而确定的用户数据或元数据的段在N个(N为自然数)虚拟管芯队列中排队;并且根据条带化方案,将所排队的用户数据或元数据的段存储在多个超级存储块之中的超级存储块的存储块中,其中所排队的用户数据或元数据的段被存储在超级存储块中的存储块中。
根据实施例,提供了一种能够在确保由映射指示的用户数据存储在半导体存储器装置中的同时提高写入性能的存储装置、控制器和操作存储装置的方法。
附图说明
图1是示出根据本公开的实施例的存储装置的配置的示图。
图2示出诸如图1的半导体存储器装置的结构。
图3是示出诸如图1的半导体存储器装置的存储块、平面和存储器管芯的配置的示图。
图4是示出用于配置诸如图3中的超级存储块的方案的示图。
图5是示出基于用户数据和映射数据来配置用户数据和元数据的段的方案的示图。
图6是示出根据条带化方案将用户数据的段在虚拟(virtual)管芯队列中排队的示例的示图。
图7是示出根据条带化方案将元数据的段在虚拟管芯队列中排队的示例的示图。
图8是示出在虚拟管芯队列中排队的用户数据或元数据的段被存储在存储器管芯中的示例的示图。
图9是示出在虚拟管芯队列中排队的用户数据或元数据的段被存储在存储器管芯中的另一示例的示图。
图10是示出根据本公开的实施例的存储装置的操作的流程图。
具体实施方式
在本公开中,在结合附图阅读以下实施例之后,优点、特征及实现它们的方法将变得更加显而易见。然而,本发明可以不同形式实现,并且因此不应被解释为限于本文中阐述的实施例。相反,提供这些实施例以详细地描述本公开至本公开所属领域的技术人员可以实践本发明的程度。
将理解的是,本发明的实施例不限于附图中所示的细节,并且附图不一定按比例绘制,在一些情况下,可能夸大了比例以更清楚地描绘本公开的某些特征。在整个附图和描述中,相同的附图标记表示相同的元件。
虽然本文使用了特定术语,但是应当理解,本文所使用的术语仅用于描述特定实施例的目的,而不旨在限制本公开的范围。
提供具体的结构和功能描述以描述本公开的实施例。然而,如上注意的,本公开的实施例可以各种形式来实施,并且因此,本发明不限于本文描述的具体的细节或实施例。相反,本发明包含所公开实施例的所有变化、修改和等同方案,只要它们落入权利要求的范围内。
如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。诸如“第一”和“第二”的术语可用于标识各个组件,但这些组件不应受到术语的限制。术语仅用于将一个组件与具有相同或相似名称的其它组件区分开。例如,在不脱离基于本公开的概念的范围的情况下,一个实例中的第一组件可在另一实例中被标记为第二组件。
将理解的是,当元件被称为“连接”或“联接”到另一元件时,其可直接连接或联接到其它元件,或者可存在一个或多个中间元件。相反地,当元件被称为“直接连接”或“直接联接”到另一元件时,不存在中间元件。应当以类似的方式解释描述组件之间关系的其它表述,即“在……之间”和“直接在……之间”或“邻近于”和“直接邻近于”。
除非上下文另有说明,否则单数表述包括复数表述,并且反之亦然。除非另有说明或上下文清楚地指向单数形式,否则本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”。在本说明书中,应当理解的是,诸如“包括”或“具有”的术语仅旨在指示存在特征、数字、步骤、操作、组件、部件或其组合,并且不旨在排除存在或将添加一个或多个其它特征、数字、步骤、操作、组件、部件或其组合的可能性。
除非有不同的定义,否则本文使用的包括技术或科学术语的所有术语具有与本公开所属领域的技术人员通常理解的术语相同的含义。普通字典定义的术语应在相关技术的背景下解释,并且不应以理想化或过于形式化的方式解释,除非它们在本说明书中明确地如此定义。
可省略对并入本文的公知功能和结构的详细描述,以避免模糊本公开的主题。这旨在使本公开的主题更加清楚。
而且,在描述本公开的组件时,可使用如第一、第二、A、B、(a)和(b)的术语。这些只是为了将一个组件与其它组件区分开,而不是隐含或暗示这些组件的实质、顺序或序列。如果组件被描述为“连接”、“联接”或“链接”到另一组件,这不仅可表示组件直接“连接”、“联接”或“链接”而且还可表示组件经由第三组件而间接“连接”、“联接”或“链接”。
下面参照附图描述各个实施例,以详细说明本公开至本领域技术人员能够容易地实施本公开的技术思想的程度。在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本公开的实施例的存储装置的配置的示图。
参照图1,存储装置100可包括半导体存储器装置110和控制器120。
半导体存储器装置110可存储数据。半导体存储器装置110响应于控制器120的控制来操作。半导体存储器装置110可包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。下文参照图2来描述半导体存储器装置110的详细结构。
在实施例中,半导体存储器装置110可以是DDR SDRAM(双倍数据速率同步动态随机存取存储器)、LPDDR4(低功率双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功率DDR)、RDRAM(Rambus动态随机存取存储器)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
在实施例中,半导体存储器装置110可被实现为三维阵列结构。本公开不仅可应用于其中电荷存储层由导电浮栅(FG)配置的闪速存储器装置,而且还可应用于其中电荷存储层由电介质层配置的电荷撷取闪存(CTF)。
半导体存储器装置110被配置成从控制器120接收命令和地址,并且访问存储器单元阵列中由地该址选择的区域。换言之,半导体存储器装置110可对由地址选择的区域执行对应于命令的操作。
例如,半导体存储器装置110可执行编程操作、读取操作和擦除操作。在编程操作中,半导体存储器装置110可将数据编程到由地址选择的区域。在读取操作中,半导体存储器装置110可从由地址选择的区域读取数据。在擦除操作中,半导体存储器装置110可擦除由地址选择的区域中存储的数据。
半导体存储器装置110中可包括多个存储块,例如N个存储块(N为自然数),其可分别被标记为BLK1、BLK2、……、BLK(N)的。
半导体存储器装置110可包括设置有多个存储块的多个平面和包括平面的多个存储器管芯。下文参照图3描述半导体存储器装置110中的存储块、平面和存储器管芯的配置的示例。
控制器120可根据主机50的请求或者在没有主机50的请求的情况下控制半导体存储器装置110的操作。例如,控制器120可控制对半导体存储器装置110的写入操作、读取操作、擦除操作和后台操作。例如,后台操作可以是垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。
在本公开的实施例中,控制器120将基于从主机50接收的命令而确定的用户数据和元数据存储在半导体存储器装置110的多个超级存储块之中的超级存储块中。每个超级存储块包括多个存储块之中的一组存储块。在另一自身可能不采用超级存储块的实施例中,可识别块集合,在这种情况下,控制器120将基于从主机50接收的命令而确定的用户数据和元数据存储在存储块集合中。
下文参照图4描述配置超级存储块的示例,并且下文参照图5至图9描述将用户数据和元数据存储在超级存储块之中的超级存储块中的示例。
控制器120可包括主机接口121、处理器122、闪存接口123、错误校正电路124、段排队电路125、段存储电路126和总线127。
主机接口121提供用于与主机50通信的接口。
处理器122可控制控制器120的一般操作,并且可执行逻辑计算。处理器122可通过主机接口121与主机50通信,并且可通过闪存接口123与半导体存储器装置110通信。处理器122可检测半导体存储器装置110中存储的数据的错误,并且如果需要,可通过错误校正电路124来校正该错误。
处理器122可执行闪存转换层(FTL)的功能。处理器122可通过闪存转换层FTL将由主机50提供的逻辑块地址(LBA)转换成物理块地址(PBA)。闪存转换层(FTL)可接收逻辑块地址(LBA),并且通过使用映射表将该逻辑块地址转换成物理块地址(PBA)。根据映射单元,存在闪存转换层的各种地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器122被配置成使从主机50接收的数据随机化。例如,处理器122可通过使用随机化种子来使从主机50接收的数据随机化。随机化的数据作为待存储的数据被提供到半导体存储器装置110,并且被编程在存储器单元阵列中。
在读取操作中,处理器122被配置成使从半导体存储器装置110接收的数据去随机化。例如,处理器122可通过使用去随机化种子使从半导体存储器装置110接收的数据去随机化。去随机化的数据可被输出到主机50。
闪存接口123提供用于与半导体存储器装置110通信的接口。
错误校正电路124可对待存储在半导体存储器装置110中的数据执行错误校正。错误校正电路124可验证半导体存储器装置110中存储的数据的错误。
段排队电路125根据条带化方案使用户数据和元数据的段在N个虚拟管芯队列中排队,N为自然数。
虚拟管芯队列用于控制用户数据和由控制器120生成的元数据的段存储在半导体存储器装置110中的顺序。当将先进先出(FIFO)方案应用于虚拟管芯队列时,所排队的段以它们被输入的顺序被输出。
虚拟管芯队列的数量N不一定与半导体存储器装置110中包括的存储器管芯的数量相同;也就是说,存储器管芯的数量和虚拟管芯队列的数量可彼此不同。而且,在相同的虚拟管芯队列中排队的段不一定存储在相同的存储器管芯中。
条带化方案表示一种方案,其中数据被划分成多个段,并且通过将所划分的段顺序地分布到多个元件(例如,虚拟管芯队列和存储器管芯)来对所划分的段进行处理。下文参照图6和图7详细描述根据条带化方案使用户数据和元数据的段在N个虚拟管芯队列中排队的示例。
段存储电路126将所排队的用户数据和元数据的段存储在多个超级存储块之中的超级存储块中,该超级块包括半导体存储器装置110的多个存储块中的一些存储块。
存储在超级存储块中的用户数据或元数据的段可根据条带化方案而被存储在超级存储块中包括的多个存储块中。
总线127可被配置成提供控制器120的组件之间的通道。
图2是示出图1的半导体存储器装置的结构的示图。
参照图2,半导体存储器装置110可包括电压生成器111、地址解码器112、存储器单元阵列113、控制逻辑114、数据读取/写入电路115和数据输入/输出电路116。
首先,存储器单元阵列113包括多个存储块。多个存储块通过行线RL联接到地址解码器112。多个存储块通过位线BL[1:m]联接到数据读取/写入电路115。
如上文参照图1所述,半导体存储器装置110可包括多个平面,每个平面包括存储器单元阵列113中的多个存储块中的一些存储块。半导体存储器装置110可包括多个存储器管芯,每个存储器管芯包括多个平面中的一些平面。
多个存储块中的每一个包括多个存储器单元。多个存储器单元可以是易失性存储器单元或非易失性存储器单元。在多个存储器单元之中,联接到相同字线的存储器单元被定义为一个页面。也就是说,存储器单元阵列113可由多个页面来配置。
在实施例中,多个存储块中的每一个可包括多个虚设单元。至少一个虚设单元可串联联接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。
存储器单元阵列113中包括的每个存储器单元可由存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)来配置。
地址解码器112通过行线RL联接到存储器单元阵列113。行线RL可包括漏极选择线、字线、源极选择线和共源线。在实施例中,字线可包括常规字线和虚拟字线。在实施例中,行线RL可进一步包括管道选择线。
地址解码器112被配置成响应于控制逻辑114的控制进行操作。地址解码器112从控制逻辑114接收地址ADDR。
地址解码器112被配置成对所接收的地址ADDR中的块地址解码。地址解码器112根据经解码的块地址在存储块之中选择至少一个存储块。地址解码器112被配置成对所接收的地址ADDR中的行地址解码。根据经解码的行地址,地址解码器112可将从电压生成器111提供的电压施加到至少一个字线WL,从而可在所选择存储块中选择至少一个字线。
在编程操作中,地址解码器112可将编程电压施加到所选择字线,并且可将电平低于编程电压的通过电压施加到未选择字线。在编程验证操作中,地址解码器112可将验证电压施加到所选择字线,并且可将高于验证电压的验证通过电压施加到未选择字线。
在读取操作中,地址解码器112可将读取电压施加到所选择字线,并且可将高于读取电压的通过电压施加到未选择字线。
在实施例中,基于存储块来对半导体存储器装置110执行擦除操作。在擦除操作中输入到半导体存储器装置110的地址ADDR包括块地址。地址解码器112可对块地址解码,并且可根据经解码的块地址来选择一个存储块。在擦除操作中,地址解码器112可将接地电压施加到与所选择存储块联接的字线。
在实施例中,地址解码器112可被配置成对所接收的地址ADDR中的列地址解码。经解码的列地址(DCA)可被传输到数据读取/写入电路115。例如,地址解码器112可包括诸如行解码器、列解码器和地址缓冲器的组件。
电压生成器111被配置成通过使用供应到半导体存储器装置110的外部电源电压来生成多个电压。电压生成器111响应于控制逻辑114的控制而进行操作。
在实施例中,电压生成器111可通过调节外部电源电压来生成内部电源电压。在电压生成器111中生成的内部电源电压用作半导体存储器装置110的操作电压。
在实施例中,电压生成器111可通过使用外部电源电压或内部电源电压来生成多个电压。电压生成器111可被配置成生成半导体存储器装置110中所需的各种电压。例如,电压生成器111可生成多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
例如,电压生成器111可包括接收内部电源电压的多个泵浦(pumping)电容器,并且可响应于控制逻辑114的控制通过选择性地激活多个泵浦电容器来生成多个电压。
所生成的多个电压可通过地址解码器112被供应到存储器单元阵列113。
数据读取/写入电路115可包括分别通过第一至第m位线BL[1:m]联接到存储器单元阵列113的第一至第m页面缓冲器。第一至第m页面缓冲器响应于控制逻辑114的控制而进行操作。
第一至第m页面缓冲器执行与数据输入/输出电路116的数据通信。在编程操作中,第一至第m页面缓冲器通过数据输入/输出电路116接收待存储的数据DATA。
在编程操作中,当编程脉冲被施加到所选择字线时,第一至第m页面缓冲器可通过位线BL将待存储的数据DATA,即通过数据输入/输出电路116接收的数据DATA传输到所选择存储器单元。根据所传输的数据DATA对所选择页面的存储器单元进行编程。与被施加编程允许电压(例如,接地电压)的位线联接的存储器单元可具有增加的阈值电压。与被施加编程禁止电压(例如,电源电压)的位线联接的存储器单元的阈值电压可被保持。在编程验证操作中,第一至第m页面缓冲器通过位线BL从所选择存储器单元读取页面数据。
在读取操作中,数据读取/写入电路115通过位线BL从所选择页面的存储器单元读取数据DATA,并且将所读取的数据DATA输出到数据输入/输出电路116。
在擦除操作中,数据读取/写入电路115可使位线BL浮置。作为实施例,数据读取/写入电路115可包括列选择电路。
数据输入/输出电路116通过数据线联接到第一至第m页面缓冲器。数据输入/输出电路116响应于控制逻辑114的控制而进行操作。
数据输入/输出电路116可包括接收待输入的数据的多个输入/输出缓冲器(未示出)。在编程操作中,数据输入/输出电路116从外部控制器(未示出)接收待存储的数据DATA。在读取操作中,数据输入/输出电路116将从数据读取/写入电路115中包括的第一至第m页面缓冲器传输的数据输出到外部控制器。
控制逻辑114可联接到地址解码器112、电压生成器111、数据读取/写入电路115以及数据输入/输出电路116。控制逻辑114可被配置成控制半导体存储器装置110的一般操作。控制逻辑114可响应于从外部装置传输的命令CMD而进行操作。
图3是示出图1的半导体存储器装置110的存储块、平面和存储器管芯的配置的示图。
图1的半导体存储器装置110包括N个存储器管芯,其可被标记为DIE0、DIE1、……、DIE(N-1),其中N为自然数。
每个存储器管芯可包括两个平面Plane0和Plane1。每个平面中可包括多个存储块。虽然参照图3作为示例描述了每个存储器管芯中包括两个平面,但应注意的是,每个存储器管芯中可包括多于两个的平面。
可将存储块中的每一个分类为用户存储块或保留存储块。用户存储块通常用于存储上文所述的用户数据和元数据,并且保留存储块用于替换成为或变成坏块的用户存储块。
图4是示出配置图3中的超级存储块的方案的示例的示图。
参照图4,超级存储块可通过将每个存储器管芯中的一些存储块分组来配置,而不是仅由特定存储器管芯的存储块来配置。
例如,超级存储块#0可被配置成包括每个存储器管芯的存储块BLK0(位于平面Plane0中)和存储块BLK1(位于平面Plane1中)。
在如上所述配置超级存储块的情况下,可能会导致不同超级存储块中能够用于存储数据的存储块的数量可能变化的问题。
例如,虽然超级存储块#0中包括的所有2*N个存储块都是正常存储块,但在另一超级存储块的情况下,2*N个存储块之中的至少一个存储块可能是坏块。因为坏块不能用于存储数据,所以与不具有任何坏块的超级存储块相比,具有坏块的超级存储块具有更少的能够存储数据的存储块。
为了防止这样的问题,具有坏块的每个超级存储块可通过利用保留存储块之中的一个存储块来替换坏块来进行配置或重新配置,使得对于所有超级存储块,每个超级存储块中能够用于存储数据的存储块的数量保持相同。
例如,在超级存储块#1的情况下,在其中包括的存储块之中,存储器管芯DIE1中的存储块BLK(i-2)和BLK(i-1)以及存储器管芯DIE(N-1)中的存储块BLK(i-1)可能是坏块。在这种情况下,坏块中的每一个可利用保留存储块来进行替换,其中保留存储块与所替换的坏块位于相同管芯中。具体地,存储器管芯DIE1中的存储块BLK(i-2)可利用存储器管芯DIE1的保留存储块BLK(i)来替换,存储器管芯DIE1中的存储块BLK(i-1)可利用存储器管芯DIE1的保留存储块BLK(i+1)来替换,并且存储器管芯DIE(N-1)中的存储块BLK(i-1)可利用存储器管芯DIE(N-1)的保留存储块BLK(i+1)来替换。因此,超级存储块#1中能够用于存储数据的存储块的数量变为2*N,这与超级存储块#0中的数量相同。
虽然上面的描述提供了坏块及其替换保留存储块设置在相同管芯中的示例,但本公开的实施例不限于该特定配置。相反,坏块可由位于与该坏块不同的管芯中的保留存储块来替换。在这种情况下,在任何给定的超级存储块中,各个存储器管芯中的存储块的数量可能彼此不同。
图5是示出基于用户数据和映射数据来配置用户数据和元数据的段的方案的示例的示图。
首先,可将用户数据划分成多个段(用户数据段)。参照图5,可将用户数据划分成用户数据段#0、用户数据段#1、用户数据段#2、用户数据段#3、用户数据段#4、用户数据段#5、……。
基于用户数据和包括与用户数据存储在半导体存储器装置110中的位置有关的L2P(逻辑到物理)信息的映射来生成元数据的段(元数据段)。该映射接收逻辑页面的地址的值,并指示与相应的逻辑页面的地址相对应的物理页面的地址。因为映射以表的形式来配置,所以可被称为映射表。
如果从主机50输入命令(例如,写入命令),随着该命令的用户数据被存储在半导体存储器装置110的存储块中,与用户数据存储在半导体存储器装置110中的位置有关的信息被记录在映射中。为了访问半导体存储器装置110中存储的用户数据,需要指示存储用户数据的位置的映射。
为了即使在断电和通电之后访问半导体存储器装置110中存储的用户数据,将该映射存储在半导体存储器装置110中。当如此存储时,可将映射存储在用于存储映射的单独超级存储块中,其不同于存储用户数据的超级存储块。
将映射存储在半导体存储器装置110中的进程的示例可以如下进行。
当启动存储装置100时,控制器120将半导体存储器装置110中存储的全部或部分映射加载到可被称为映射高速缓存的RAM(例如,SRAM或DRAM)中。
如果在处理来自主机50的命令的同时添加/校正/擦除用户数据,则所加载的映射被改变,并且为了确保即使在断电和通电之后映射也被正确地保持,将所加载的映射的数据以预定周期(例如,每1ms一次)存储在半导体存储器装置110中。
为了将构成映射的数据(映射数据)存储在半导体存储器装置110中,可使用以下方案:生成包括用户数据的映射数据的元数据,并将所生成的元数据存储在半导体存储器装置110中。
在本公开的实施例中,以与用户数据相同的方式,元数据也可通过被划分成多个段而被存储在半导体存储器装置110中。元数据的每个段可存储至少一个映射数据段,并且可包括特定用户数据段的映射数据。
详细地,将用户数据划分成用户数据段#0、用户数据段#1、用户数据段#2、用户数据段#3、用户数据段#4、用户数据段#5、……,并且各个用户数据段的映射数据为映射数据段#0、映射数据段#1、映射数据段#2、映射数据段#3、映射数据段#4、映射数据段#5、……。
在图5中,元数据段#0可包括映射数据段#0和映射数据段#4。也就是说,元数据段#0包括用户数据段#0和用户数据段#4的映射数据。类似地,元数据段#1可包括用户数据段#1和用户数据段#5的映射数据,元数据段#2可包括用户数据段#2的映射数据,并且元数据段#3可包括用户数据段#3的映射数据。
每个元数据段不仅可包括用户数据的映射数据,还可包括关于用户数据和映射数据中的至少一个的日志信息。
作为指示数据的改变历史(例如,被改变的数据的改变时间、位置等)的信息的关于数据的日志信息用于跟踪数据被改变的改变历史或校正数据中的错误。在元数据段中的映射数据中发生错误的情况下,如果关于映射数据的日志信息与映射数据一起存储在半导体存储器装置110中,则可基于该日志信息来校正映射数据的错误。
每个元数据段中的映射数据段的数量可小于或等于段的设定阈值数量。如果这种映射数据段的数量增加,则因为元数据段在与相应的映射数据段相对应的所有用户数据被存储在半导体存储器装置110中之后被存储,所以写入性能可能劣化。因此,有必要减少元数据段的大小,使得在设定量的用户数据被存储在半导体存储器装置110中时,所存储的用户数据的映射数据可被立即存储在半导体存储器装置110中。
图6是示出根据条带化方案使用户数据的段在虚拟管芯队列中排队的示例的示图。
在图6的实施例中,存在四个虚拟管芯队列,其被称为虚拟管芯队列#0、虚拟管芯队列#1、虚拟管芯队列#2和虚拟管芯队列#3。然而,这仅仅是示例。根据系统配置和用途,虚拟管芯队列可能多于或少于四个。虚拟管芯队列以闪存转换层FTL和VFL(虚拟闪存层)来实现。
用户数据段#(I)被输入到虚拟管芯队列#(I mod 4)中或在其中排队。在本公开的实施例中,段排队电路125可将用户数据段#(I)输入到虚拟管芯队列#(I mod 4)中。例如,Imod 4可以是0、1、2和3。
图7是示出根据条带化方案使元数据的段在虚拟管芯队列中排队的示例的示图。
在本公开的实施例中,类似于用户数据段#(I),元数据段#(I)被输入到虚拟管芯队列#(I mod 4)中或在其中排队。在本公开的实施例中,段排队电路125可将元数据段#(I)输入到虚拟管芯队列#(I mod 4)。
如以上参照图5所述,元数据段#0包括用户数据段#0和用户数据段#4的映射数据。参照图7的虚拟管芯队列#0,先将用户数据段#0和用户数据段#4存储在虚拟管芯队列#0中,并且然后,使用户数据段#0和用户数据段#4的映射数据在虚拟管芯队列#0中排队。换言之,在每个虚拟管芯队列中,用户数据在相应用户数据的映射数据之前被输出,以存储在半导体存储器装置110的存储块中。
根据条带化方案将用户数据和映射数据存储在半导体存储器装置110中并且用户数据在相应用户数据的映射数据之前被输出的原因如下。
通常,当基于从主机50接收的命令将用户数据存储在半导体存储器装置110中时,在将用户数据存储在半导体存储器装置110中之前,预先更新映射。这样做的优点在于可按照执行写入操作的顺序来更新映射。
在通过状态命令检查关于将用户数据存储在半导体存储器装置110中的结果的信息之后更新映射的缺点在于这使处理变得复杂。也就是说,需要考虑请求写入操作的顺序与在半导体存储器装置110中完全执行写入操作的顺序之间的差异来更新映射。
然而,在发生SPO(突然断电)的情况下,在用户数据之前更新映射的方案可能存在问题。
当发生SPO之后接通电源时,在SPOR(突然断电恢复)之后应当无误地读取由半导体存储器装置110中存储的映射所指示的用户数据。另一方面,因为映射未指示的用户数据无法通过映射来访问,所以相应的用户数据必然没有被无误地存储在半导体存储器装置110中。
然而,如果在用户数据在映射首先存储在半导体存储器装置110中之后被存储在半导体存储器装置110中之前发生SPO,则当此后接通电源时,无法无误地读取由映射所指示的用户数据。
当存储映射的存储器管芯和存储用户数据的存储器管芯不同时,很可能发生这种情况。因为存储器管芯之间的写入性能不同,所以存储映射的存储器管芯可首先完成对映射的写入操作,然后,存储用户数据的存储器管芯可完成对用户数据的写入操作。
为了解决这个问题,可考虑以下方法。
1)存在以下方案:在更新加载到RAM的映射并且然后完成将所有的用户数据存储在半导体存储器装置110中的操作之后,在半导体存储器装置110中更新映射。在这种情况下,即使发生SPO,也不会发生无法无误地读取由映射所指示的用户数据的情况。然而,为了在半导体存储器装置110中更新映射,有必要进行等待直到所有的用户数据被完全地存储在半导体存储器装置110中。因此,可能会导致性能方面的问题。
2)存在以下方案:将用户数据存储在半导体存储器装置110中,并且然后在存储完成之后更新映射。在这种情况下,可能导致的问题是,相对于多个用户数据写入请求,主机50运行各个用户数据写入请求的顺序和用户数据写入请求在半导体存储器装置110中实际完成的顺序可能彼此不同。因此,可能导致的问题是,因为应当根据主机50运行写入请求的顺序来更新映射,所以处理的实施是复杂的。
因此,在本公开的实施例中,为了解决方案1)和方案2)的问题,使用了以下方案:根据条带化方案将用户数据和映射数据存储在半导体存储器装置110中,并且仅监控用户数据段和相应用户数据段的映射数据被存储在半导体存储器装置110中的顺序。
即,相对于特定的用户数据段,不需要在相应用户数据段之后将整个映射存储在半导体存储器装置110中,而是需要监控映射中与相应用户数据段相对应的映射数据被存储的顺序。因此,通过在相同的虚拟管芯队列中使特定用户数据段和包括与相应用户数据段相对应的映射数据的元数据段一起排队,可监控存储顺序。
通过这样,可实现一种存储装置,该存储装置在允许在发生SPO时正确执行恢复的同时能够最小化写入性能的劣化。
图8是示出在虚拟管芯队列中排队的用户数据或元数据的段被存储在存储器管芯中的示例的示图。
图8示出在虚拟管芯队列#(I)中排队的用户数据段或元数据段存储在存储器管芯#(I)(I=0、1、2、3)中的情况。
对于半导体存储器装置110中的每个存储器管芯都存在物理管芯队列,并且待存储在存储器管芯中的用户数据段和元数据段以它们在相应存储器管芯的物理管芯队列中排队的顺序存储在存储器管芯中。物理管芯队列可通过设置在半导体存储器装置110中的单独的缓冲器来实现。
如图3和图4所示,多个超级存储块(超级存储块#0、超级存储块#1、……)之中的超级存储块中包括每个存储器管芯中的存储块。因此,超级存储块中包括每个存储器管芯中存储的用户数据段和元数据段。因此,通过以用户数据段和元数据段在虚拟管芯队列#(I)中排队的顺序将用户数据段和元数据段输入到物理管芯队列#(I)中,将无误地保持用户数据段和元数据段存储在每个存储器管芯中的顺序。
图9是示出在虚拟管芯队列中排队的用户数据或元数据的段被存储在存储器管芯中的另一示例的示图。
如以上参照图1所述,在本公开的实施例中,虚拟管芯队列的数量和半导体存储器装置110中的存储器管芯的数量不一定彼此相同。而且,在虚拟管芯队列#(I)中排队的所有的用户数据段和元数据段不一定存储在相同的存储器管芯中。
例如,在存储用户数据的超级存储块中,实际存储用户数据段#5的存储器管芯可能不是存储器管芯#1而是存储器管芯#0。当存储器管芯#1中的存储块变成坏块并因此被重新映射到存储器管芯#0中的保留存储块时,可能发生这种情况。
因此,记录用户数据段#5的存储器管芯(存储器管芯#0)和记录包括用户数据段#5的映射数据的元数据段#1的存储器管芯(存储器管芯#1)可彼此不同。在这种情况下,由于存储器管芯之间的写入速度的差异,元数据段#1可能在用户数据段#5之前被存储。因此,如果在元数据段#1被存储之后但在用户数据段#5被存储之前发生SPO,则可能导致的问题是,用户数据段#5的映射数据被存储在半导体存储器装置110中,但用户数据段#5没有被存储在半导体存储器装置110中。
因此,为了防止这样的问题,段存储电路126可控制监控在每个虚拟管芯队列中排队的段之中的存储顺序。也就是说,在虚拟管芯队列#(I)中排队的每个段可在将在相应段之前输入的所有段存储在半导体存储器装置110的超级存储块中的一个中之后存储在半导体存储器装置110的超级存储块中的一个中。
例如,在图8中,元数据段#1在虚拟管芯队列#1中排队,并且在该虚拟管芯队列#1中,用户数据段#1和用户数据段#5在元数据段#1之前进行排队。因此,至少在将用户数据段#1和用户数据段#5完全存储在半导体存储器装置110中之后,段存储电路126将元数据段#1存储在半导体存储器装置110中。
通过这样,可确保,当映射数据存储在半导体存储器装置110中时,由相应映射数据指示的用户数据也存储在半导体存储器装置110中。
然而,仅需监控在每个虚拟管芯队列中排队的段之中的存储顺序,并且不需要监控在不同的虚拟管芯队列中排队的段之中的存储顺序。例如,因为元数据段#0和元数据段#1在不同的虚拟管芯队列中排队,所以可将它们中的任意一个首先存储在半导体存储器装置110中。
图10是示出根据本公开的实施例的存储装置的操作的流程图。作为示例,在上下文中描述由先前描述的存储装置100执行的操作。
参照图10,存储装置100的控制器120从主机50接收命令(S1010)。
存储装置100的控制器120中的段排队电路125根据条带化方案使基于所接收的命令而确定的用户数据或元数据的段在N个虚拟管芯队列中排队(S1020),其中N定义任何适当数量的虚拟管芯队列。
如以上参照图5所述,元数据可包括用户数据的映射数据,并且可包括关于用户数据和映射数据中的至少一个的日志信息。
最后,存储装置100的控制器120中的段存储电路126将在虚拟管芯队列中排队的用户数据或元数据的段存储在多个超级存储块之中的超级存储块中,该超级存储块包括多个存储块(S1030)。
如以上参照图4所述,每个超级存储块中的存储块的数量可保持相同。
用户数据或元数据的段以上述条带化方案而存储在超级存储块中的多个存储块中。
本领域技术人员将理解的是,在不脱离本公开的实质和基本特性的情况下,上述技术配置可进行修改或在其它布置中实现。因此,应当理解的是,上述实施例是说明性的,而非限制性的。本发明的范围由所附权利要求及其等同方案限定,而非由前面的描述来限定,并且落入权利要求及其等同方案的范围内的所有变化或修改都由本发明所涵盖。
在本公开的上述实施例中,可选择性地执行或省略一些步骤。此外,步骤不一定需要按照所描绘的连续顺序来执行,并且它们可按照改变后的顺序来执行。
本领域技术人员从本公开将理解到的是,在不脱离本公开的较宽实质和范围的情况下,可对其进行各种修改和改变。因此,本发明不仅涵盖所公开的实施例,还涵盖落入权利要求及其等同方案的范围内的所有改变和修改。
Claims (16)
1.一种存储装置,包括:
半导体存储器装置,包括多个存储块、包括所述存储块的多个平面和包括所述平面的多个存储器管芯;以及
控制器,将基于从主机接收的命令所确定的用户数据和元数据存储在多个超级存储块中,每个所述超级存储块包括所述多个存储块中的一些存储块,
所述控制器包括:
段排队电路,根据条带化方案使所述用户数据或所述元数据的段在所述控制器中包括的N个虚拟管芯队列中排队,其中N为自然数;以及
段存储电路,将所排队的所述用户数据或所述元数据的段存储在所述多个超级存储块之中的超级存储块中,
其中根据条带化方案将所排队的所述用户数据或所述元数据的段存储在所述超级存储块中的所述存储块中,
其中,所述用户数据的段和与所述用户数据的段相对应的元数据的段在相同的虚拟管芯队列中排队,并且所述用户数据的段在与所述用户数据的段相对应的元数据的段之前被排队在相同的虚拟管芯队列中,
当在所述用户数据存储在所述半导体存储器装置中之前发生SPO时,所述用户数据的段在与所述用户数据的段相对应的元数据的段之前被存储在所述超级存储块中。
2.根据权利要求1所述的存储装置,其中所述控制器控制所述半导体存储器装置以使每个所述超级存储块中的所述存储块的数量保持相同。
3.根据权利要求1所述的存储装置,其中所述元数据的各个段包括所述用户数据的各个段的各条映射数据。
4.根据权利要求3所述的存储装置,其中所述元数据的各个段包括关于所述用户数据的各个段和所述各条映射数据中的至少一个的日志信息。
5.根据权利要求1所述的存储装置,其中所述段存储电路以所述用户数据或所述元数据在每个所述虚拟管芯队列中排队的顺序来将所排队的所述用户数据或所述元数据的段存储在所述超级存储块中。
6.根据权利要求1所述的存储装置,其中所述段存储电路将所述用户数据的段和所述元数据的段存储在不同的超级存储块中。
7. 一种控制器,所述控制器将基于从主机接收的命令所确定的用户数据和元数据存储在多个超级存储块之中的一个超级存储块中,每个所述超级存储块包括多个存储块,所述控制器包括:
段排队电路,根据条带化方案使所述用户数据或所述元数据的段在所述控制器中包括的N个虚拟管芯队列中排队,其中N为自然数;以及
段存储电路,将所排队的所述用户数据或所述元数据的段存储在所述多个超级存储块之中的超级存储块中,
其中根据条带化方案将所排队的段存储在所述超级存储块中的所述存储块中,
其中,所述用户数据的段和与所述用户数据的段相对应的元数据的段在相同的虚拟管芯队列中排队,并且所述用户数据的段在与所述用户数据的段相对应的元数据的段之前被排队在相同的虚拟管芯队列中,
当在所述用户数据存储在半导体存储器装置中之前发生SPO时,所述用户数据的段在与所述用户数据的段相对应的元数据的段之前被存储在所述超级存储块中。
8.根据权利要求7所述的控制器,其中所述元数据的各个段包括所述用户数据的各个段的各条映射数据。
9.根据权利要求8所述的控制器,其中所述元数据的各个段包括关于所述用户数据的各个段和所述各条映射数据中的至少一个的日志信息。
10.根据权利要求7所述的控制器,其中所述段存储电路以所述用户数据或所述元数据在每个所述虚拟管芯队列中排队的顺序来将所排队的所述用户数据或所述元数据的段存储在所述超级存储块中。
11.一种操作存储装置的方法,所述存储装置包括半导体存储器装置,所述半导体存储器装置包括多个存储块、包括所述存储块的多个平面和包括所述平面的多个存储器管芯,所述方法包括:
从主机接收命令;
根据条带化方案,使基于所述命令所确定的用户数据或元数据的段在N个虚拟管芯队列中排队,其中N为自然数;并且
将所排队的段存储在多个超级存储块之中的超级存储块中的存储块中,
其中根据条带化方案将所排队的所述用户数据或所述元数据的段存储在所述超级存储块中的所述存储块中,
其中,所述用户数据的段和与所述用户数据的段相对应的元数据的段在相同的虚拟管芯队列中排队,并且所述用户数据的段在与所述用户数据的段相对应的元数据的段之前被排队在相同的虚拟管芯队列中,
当在所述用户数据存储在所述半导体存储器装置中之前发生SPO时,所述用户数据的段在与所述用户数据的段相对应的元数据的段之前被存储在所述超级存储块中。
12.根据权利要求11所述的方法,进一步包括使每个所述超级存储块中的所述存储块的数量保持相同。
13.根据权利要求11所述的方法,其中所述元数据的各个段包括所述用户数据的各个段的各条映射数据。
14.根据权利要求13所述的方法,其中所述元数据的各个段包括关于所述用户数据的各个段和所述各条映射数据中的至少一个的日志信息。
15.根据权利要求11所述的方法,其中所排队的所述用户数据或所述元数据的段以所述用户数据或所述元数据在每个所述虚拟管芯队列中排队的顺序存储在所述超级存储块中。
16.根据权利要求11所述的方法,其中所述用户数据的段和所述元数据的段存储在不同的超级存储块中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180165910A KR102680874B1 (ko) | 2018-12-20 | 2018-12-20 | 저장 장치, 컨트롤러 및 저장 장치의 동작 방법 |
KR10-2018-0165910 | 2018-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352854A CN111352854A (zh) | 2020-06-30 |
CN111352854B true CN111352854B (zh) | 2023-09-01 |
Family
ID=71096843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910916961.XA Active CN111352854B (zh) | 2018-12-20 | 2019-09-26 | 存储装置、控制器及操作存储装置的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11507289B2 (zh) |
KR (1) | KR102680874B1 (zh) |
CN (1) | CN111352854B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102385572B1 (ko) | 2021-11-02 | 2022-04-13 | 삼성전자주식회사 | 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법 |
CN114415949B (zh) * | 2021-12-31 | 2024-03-01 | 山东云海国创云计算装备产业创新中心有限公司 | 扫描回收block方法、系统、存储介质及设备 |
EP4283474A1 (en) * | 2022-05-23 | 2023-11-29 | Samsung Electronics Co., Ltd. | Storage device, memory device, and computing system including the same |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101646994A (zh) * | 2006-12-06 | 2010-02-10 | 弗森多系统公司(dba弗森-艾奥) | 利用内存库交错管理固态存储器的命令的装置、系统及方法 |
CN102084332A (zh) * | 2008-04-06 | 2011-06-01 | 弗森-艾奥公司 | 将存储请求转换为附加数据存储命令的装置、系统和方法 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103942114A (zh) * | 2013-01-22 | 2014-07-23 | Lsi公司 | Nvm地址、跨度及长度映射/转换的存储地址空间 |
CN106802769A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107562649A (zh) * | 2016-06-30 | 2018-01-09 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107622019A (zh) * | 2016-07-14 | 2018-01-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107785044A (zh) * | 2016-08-26 | 2018-03-09 | 闪迪技术有限公司 | 电缓冲nv‑dimm和其使用方法 |
US10089011B1 (en) * | 2014-11-25 | 2018-10-02 | Scale Computing | Zero memory buffer copying in a reliable distributed computing system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120032253A (ko) * | 2010-09-28 | 2012-04-05 | 삼성전자주식회사 | 데이터 저장 장치들을 시험하는 방법 및 이를 위한 젠더 |
US9058208B2 (en) * | 2012-11-12 | 2015-06-16 | Skymedi Corporation | Method of scheduling tasks for memories and memory system thereof |
US20180189144A1 (en) * | 2015-06-16 | 2018-07-05 | Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) | Apparatus and method for memory storage to protect data-loss after power loss |
KR102509540B1 (ko) * | 2015-06-30 | 2023-03-14 | 삼성전자주식회사 | 저장 장치 및 그것의 가비지 컬렉션 방법 |
KR20170075855A (ko) * | 2015-12-23 | 2017-07-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10387243B2 (en) | 2017-12-08 | 2019-08-20 | Macronix International Co., Ltd. | Managing data arrangement in a super block |
KR102685015B1 (ko) | 2018-04-24 | 2024-07-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10838859B2 (en) * | 2018-09-25 | 2020-11-17 | Western Digital Technologies, Inc. | Recency based victim block selection for garbage collection in a solid state device (SSD) |
-
2018
- 2018-12-20 KR KR1020180165910A patent/KR102680874B1/ko active IP Right Grant
-
2019
- 2019-08-15 US US16/541,242 patent/US11507289B2/en active Active
- 2019-09-26 CN CN201910916961.XA patent/CN111352854B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101646994A (zh) * | 2006-12-06 | 2010-02-10 | 弗森多系统公司(dba弗森-艾奥) | 利用内存库交错管理固态存储器的命令的装置、系统及方法 |
CN102084332A (zh) * | 2008-04-06 | 2011-06-01 | 弗森-艾奥公司 | 将存储请求转换为附加数据存储命令的装置、系统和方法 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103942114A (zh) * | 2013-01-22 | 2014-07-23 | Lsi公司 | Nvm地址、跨度及长度映射/转换的存储地址空间 |
US10089011B1 (en) * | 2014-11-25 | 2018-10-02 | Scale Computing | Zero memory buffer copying in a reliable distributed computing system |
CN106802769A (zh) * | 2015-11-25 | 2017-06-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107562649A (zh) * | 2016-06-30 | 2018-01-09 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107622019A (zh) * | 2016-07-14 | 2018-01-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107785044A (zh) * | 2016-08-26 | 2018-03-09 | 闪迪技术有限公司 | 电缓冲nv‑dimm和其使用方法 |
Non-Patent Citations (1)
Title |
---|
Unison cache: A scalable and effective die-stacked DRAM cache;Jevdjic D;《2014 47th Annual IEEE/ACM International Symposium on Microarchitecture》;25-37 * |
Also Published As
Publication number | Publication date |
---|---|
US11507289B2 (en) | 2022-11-22 |
KR102680874B1 (ko) | 2024-07-02 |
US20200201548A1 (en) | 2020-06-25 |
CN111352854A (zh) | 2020-06-30 |
KR20200076923A (ko) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11386005B2 (en) | Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache | |
US11262939B2 (en) | Memory system, memory controller, and operation method | |
CN111863077A (zh) | 存储装置、控制器以及操作控制器的方法 | |
CN112306902A (zh) | 存储器控制器及操作其的方法 | |
CN111352854B (zh) | 存储装置、控制器及操作存储装置的方法 | |
US11532360B2 (en) | Memory system, memory device, and method for operating memory device | |
US11086540B2 (en) | Memory system, memory controller and memory device for configuring super blocks | |
CN112860178A (zh) | 存储器装置、存储器控制器、存储器系统及存储器系统的操作方法 | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
CN113946283B (zh) | 存储器装置的分区命名空间中的部分区存储器单元处置 | |
US20240289043A1 (en) | Memory controller controlling synchronization operation based on fused linked list and operating method thereof | |
CN111445939B (zh) | 存储装置及其操作方法 | |
US12072809B2 (en) | Memory system, memory controller, and operation method of memory system for loading and updating mapping information to host memory area | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
US20220164134A1 (en) | Memory system and operating method thereof | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US12093554B2 (en) | Memory system and operating method of memory system | |
US12118217B2 (en) | Memory system, memory controller and method for operating memory system, capable of determining target meta memory block on the basis of detected target state | |
US11822819B2 (en) | Memory system and operating method thereof | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
KR102716788B1 (ko) | 메모리 시스템, 메모리 장치 및 메모리 컨트롤러 | |
US20230116063A1 (en) | Storage device based on daisy chain topology | |
CN114385413A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
CN113380304A (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 |