CN110244907A - 存储器系统及该存储器系统的操作方法 - Google Patents
存储器系统及该存储器系统的操作方法 Download PDFInfo
- Publication number
- CN110244907A CN110244907A CN201811459570.1A CN201811459570A CN110244907A CN 110244907 A CN110244907 A CN 110244907A CN 201811459570 A CN201811459570 A CN 201811459570A CN 110244907 A CN110244907 A CN 110244907A
- Authority
- CN
- China
- Prior art keywords
- memory
- host
- data
- controller
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 190
- 238000011017 operating method Methods 0.000 title claims description 7
- 230000015654 memory Effects 0.000 claims abstract description 550
- 238000013507 mapping Methods 0.000 claims description 72
- 230000004044 response Effects 0.000 claims description 43
- 238000009826 distribution Methods 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 20
- 238000007689 inspection Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 56
- 239000000872 buffer Substances 0.000 description 54
- 238000012545 processing Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 18
- 238000005299 abrasion Methods 0.000 description 16
- 239000010410 layer Substances 0.000 description 16
- 239000010813 municipal solid waste Substances 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 238000000151 deposition Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005621 ferroelectricity Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000005303 weighing Methods 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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/0626—Reducing size or complexity of storage systems
-
- 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
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/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
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/7202—Allocation control and policies
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种存储器系统,该存储器系统包括:存储器装置,包括多个页面和多个存储块,其中多个页面中存储数据,多个存储块中包括页面;以及控制器,包括第一存储器,控制器可以检查将在存储块中执行的操作,可以对与操作对应的队列进行排程,可以将第一存储器和主机中包括的第二存储器分配给与排程的队列对应的存储器区域,可以通过第一存储器和第二存储器中分配的存储器区域执行操作,并且可以将关于操作、队列和存储器区域的信息记录在表中。
Description
相关申请的交叉引用
本申请要求2018年3月8日提交的申请号为10-2018-0027404的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本发明的各个实施例总体涉及一种存储器系统。特别地,实施例涉及一种使用主机侧存储器装置对在存储器装置上执行的操作进行排程(schedule)的存储器系统,及该存储器系统的操作方法。
背景技术
计算机环境范例已经转变至允许随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可以用作便携式电子装置的主存储装置或辅助存储装置。
因为存储器系统与硬盘装置相比不具有移动部件(例如,具有读取/写入头的机械臂),所以存储器系统提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种存储器系统及该存储器系统的操作方法,能够减小或最小化存储器系统的复杂性和性能劣化,并且提高或最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。
在实施例中,一种存储器系统可以包括:存储器装置,包括多个页面和多个存储块,其中多个页面中存储数据,多个存储块中包括页面;以及控制器,包括第一存储器,控制器可以检查将在存储块中执行的操作,可以对与操作对应的队列进行排程,可以将第一存储器和主机中包括的第二存储器分配给与排程的队列对应的存储器区域,可以通过第一存储器和第二存储器中分配的存储器区域执行操作,并且可以将关于操作、队列和存储器区域的信息记录在表中。
控制器可以在为操作指定标识符后,将各标识符记录在表中。
控制器可以在给队列指定虚拟地址后,将队列的各索引记录在表中。
控制器可以将分配至第一存储器和第二存储器的存储器区域的地址记录在表中,并且将虚拟地址和存储器区域的地址进行映射。
控制器可以在通过虚拟地址访问队列时,将虚拟地址转换成存储器区域的地址。
控制器可以检查对应于操作的执行的主机数据,并可以将包括主机数据的指示信息的响应消息传送至主机,并且指示信息可以包括关于主机数据的类型的信息和关于主机数据的大小的信息。
主机可以检查响应消息中包括的指示信息,可以对应于指示信息将主机数据的存储器区域分配至第二存储器,并且可以将主机数据的读取命令传送至控制器。
控制器可以将主机数据传送至主机作为对读取命令的响应,并且主机数据可以包括对应于操作的执行的用户数据和映射数据中的至少一种,并且可以被存储在分配至第二存储器的主机数据的存储器区域中。
控制器可以为主机数据的传送和存储指定标识符,可以将标识符存储在表中,可以对与主机数据对应的主机数据队列进行排程,可以将主机数据队列的索引记录在表中,可以检查分配至第二存储器的主机数据的存储器区域的地址,并且可以将主机数据的存储器区域的地址记录在表中。
控制器可以更新主机数据,可以将主机数据的更新消息传送至主机,并且可以在对应于更新消息从主机接收读取命令后将更新的主机数据传送至主机。
在实施例中,一种存储器系统的操作方法可以包括:针对包括多个页面和多个存储块的存储器装置,检查将在存储块中执行的操作,其中多个页面中存储数据,多个存储块中包括页面;对与操作对应的队列进行排程;将控制器中包括的第一存储器和主机中包括的第二存储器分配给与排程的队列对应的存储器区域;通过第一存储器和第二存储器中分配的存储器区域执行操作;以及将关于操作、队列和存储器区域的信息记录在表中。
记录可以包括:在为操作指定标识符后,将各标识符记录在表中。
记录可以包括:在给队列指定虚拟地址后,将队列的各索引记录在表中。
记录可以包括:将分配至第一存储器和第二存储器的存储器区域的地址记录在表中。
该方法可以进一步包括:将虚拟地址和存储器区域的地址进行映射;以及在通过虚拟地址访问队列时,将虚拟地址转换成存储器区域的地址。
该方法可以进一步包括:检查对应于操作的执行的主机数据;以及将包括主机数据的指示信息的响应消息传送至主机。
该方法可以进一步包括:在对应于响应消息中包括的指示信息将主机数据的存储器区域分配至第二存储器后,从主机接收主机数据的读取命令;以及将主机数据传送至主机作为对读取命令的响应。
主机数据的存储器区域可以通过主机被分配至第二存储器,指示信息可以包括关于主机数据的类型的信息和关于主机数据的大小的信息,并且主机数据可以包括对应于操作的执行的用户数据和映射数据中的至少一种,并可以被存储在分配至第二存储器的主机数据的存储器区域中。
记录可以包括:为主机数据的传送和存储指定标识符,并且将标识符存储在表中;对与主机数据对应的主机数据队列进行排程,并且将主机数据队列的索引记录在表中;以及检查分配至第二存储器的主机数据的存储器区域的地址,并且将主机数据的存储器区域的地址记录在表中。
该方法可以进一步包括:更新主机数据,并且将主机数据的更新消息传送至主机;以及在对应于更新消息从主机接收读取命令后将更新的主机数据传送至主机。
在实施例中,存储器系统可以包括:存储器装置,包括多个存储块,每个存储块包括多个页面;以及控制器,包括第一存储器以对多个存储块执行多个操作,控制器可以生成队列,每个队列对应于多个操作,可以将队列分配至第一存储器和主机中包括的第二存储器,可以使用队列执行多个操作,并且可以生成包括关于多个操作、队列及第一存储器和第二存储器的使用的信息的表。
附图说明
从以下参照附图的详细描述中,本发明的这些和其它特征及优点对本发明所属领域的技术人员将是显而易见的,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统中采用的存储器装置的配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5至图8是描述根据实施例的对存储器系统中的存储器装置执行前台操作和后台操作时的数据处理操作的示意图;
图9是描述根据实施例的存储器系统中处理数据的操作进程的流程图;以及
图10至图18是示意性示出根据本发明的各个实施例的图1所示的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应注意的是,本发明可以以不同的其它实施例、形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供描述的实施例使得本公开将是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。要注意的是,对“实施例”的参考不必然指仅一个实施例,并且对“实施例”的不同参考不必然指相同的实施例。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,该元件可以直接在另一元件上、连接至或联接至另一元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,反之亦然,除非上下文另有清楚地说明。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任何一个和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中的普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与其在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供对本发明的全面理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明被不必要地模糊,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,如对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
存储器系统110可以响应于主机102的请求来操作以存储用于主机102的数据。存储器系统110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、个人计算机存储卡国际协会(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)和闪存存储器的非易失性存储器装置。闪存存储器可以具有3维(3D)堆叠结构。
存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据。控制器130可以控制将数据存储到存储器装置150中。
控制器130和存储器装置150可以被集成到单个半导体装置中,单个半导体装置可以被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传送/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理网络的各种电子装置中的一个、射频识别(RFID)装置或构成计算系统的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可以保留其中存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据。存储器装置150可以通过读取操作将存储在其中的数据提供至主机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或PCIe)、小型计算机系统接口(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,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)的编码调制来执行错误校正。然而,ECC组件138不限于此。ECC组件138可以包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可以管理控制器130中使用和提供的电源。
存储器接口142可以用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪存存储器或具体是NAND闪存存储器时,存储器接口142可以生成用于存储器装置150的控制信号以通过处理器134处理输入至存储器装置150的数据。存储器接口142可以用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口142可以支持控制器130和存储器装置150之间的数据传送。
存储器144可以用作存储器系统110和控制器130的工作存储器。存储器144可以存储支持存储器系统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通过由微处理器或中央处理单元(CPU)实施的处理器134,在存储器装置150中执行主机102请求的操作,即,利用存储器装置150执行与从主机102输入的命令对应的命令操作。控制器130可以执行前台操作,前台操作包括与从主机102接收的命令对应的命令操作,例如,与写入命令对应的编程操作、与读取命令对应的读取操作、与擦除命令对应的擦除操作、以及与作为设置命令的设置参数命令或设置特征命令对应的参数设置操作。
控制器130还可以通过由微处理器或中央处理单元(CPU)实施的处理器134,执行对存储器装置150的后台操作。对存储器装置150的后台操作可以包括:将存储在存储器装置150的存储块152、154、156……(下文中,被称为“存储块152至156”)中的可选存储块中的数据复制到另一可选存储块的操作,例如,垃圾收集(GC)操作;交换存储器装置150的存储块152至156或存储在存储块152至156中的数据的操作,例如,磨损均衡(WL)操作;将存储在控制器130中的映射数据存储在存储器装置150的存储块152至156中的操作,例如,映射清除操作;或者对存储器装置150的坏块管理操作,例如,检查并处理存储器装置150中包括的多个存储块152至156中的坏块的坏块管理操作。
在根据本公开的实施例的存储器系统中,例如,控制器130在存储器装置150中执行与从主机102接收的多个命令对应的多个命令操作。例如,控制器130在存储器装置150上执行与多个写入命令对应的多个编程操作、与多个读取命令对应的多个读取操作和与多个擦除命令对应的多个擦除操作。与执行多个命令操作对应的,控制器130更新元数据,特别地,更新映射数据。
在根据本公开的实施例的存储器系统中,当在存储器装置150中包括的多个存储块中执行与从主机102输入的多个命令对应的命令操作,例如,编程操作、读取操作和擦除操作时,控制器130可以使用队列来对与多个命令对应的多个操作进行排程。控制器130可以将存储器144分成多个存储器区域,以将用于排程的队列的存储器区域分配或指定至控制器130中包括的存储器144和主机102中包括的存储器。此外,在根据本公开的实施例的存储器系统中,如上所述,在不仅执行包括命令操作的前台操作而且执行后台操作,例如,作为复制操作的垃圾收集操作或读取回收操作、作为交换操作的磨损均衡操作和映射清除操作时,控制器130可以对与后台操作对应的队列进行排程。控制器130可以将控制器130中包括的存储器144和主机102中包括的存储器的多个存储器区域分配给与排程的队列对应的存储器区域。
在根据本公开的实施例的存储器系统中,在执行对存储器装置150的前台操作和后台操作时,与前台操作和后台操作对应的多个队列被排程并且被分配在控制器130的存储器144和主机102中包括的存储器中。特别地,标识符(ID)根据各操作被指定。可以对多个队列进行排程,每个队列包括指定有各标识符的操作。在根据本公开的另一实施例的存储器系统中,标识符不仅被指定给对存储器装置150的各操作而且被指定给在存储器装置150上执行的功能。可以对多个队列进行排程,每个队列包括指定有各标识符的功能。
在根据本公开的实施例的存储器系统中,可以通过由控制器130管理或控制的、将在存储器装置150中执行的各功能和操作的标识符来对队列进行排程。特别地,可以对通过将在存储器装置150中执行的前台操作和后台操作的标识符进行排程的队列进行管理。在根据本公开的实施例的存储器系统中,在对应于通过标识符进行排程的队列分配控制器130中包括的存储器144和主机102中包括的存储器的存储器区域后,可以通过控制器130分别存储并管理分配的存储器区域的地址。通过使用排程的队列,在存储器装置150中不仅执行前台操作和后台操作而且还执行各功能和操作。在根据本公开的实施例的存储器系统中,由于下面将参照图5至图9详细地描述对存储器装置150执行作为功能和操作的前台操作和后台操作,以及对各对应队列进行排程并且为各队列分配控制器130的存储器144和主机102的存储器的存储器区域以执行前台操作和后台操作,因此此处将省略对其的进一步描述。
控制器130的处理器134可以包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可以执行检查存储器装置150中包括的多个存储块152至156中的坏块的坏块管理操作。坏块可以包括在编程操作期间由于NAND闪存存储器的特性而发生编程失败的块。管理单元可以将坏块的编程失败的数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可降低存储器装置150的使用效率和存储器系统110的可靠性。因此,坏块管理操作需要被更可靠性地执行。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可以包括多个存储块BLK0至BLKN-1,并且块BLK0到BLKN-1中的每一个可以包括多个页面,例如2M个页面,页面的数量可以根据电路设计而变化。各存储块BLK0至BLKN-1中包括的存储器单元可以是存储1位数据的单层单元(SLC)、或存储2位或更多位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可以包括多个三层单元(TLC),多个三层单元(TLC)中的每一个均存储3位数据。在另一实施例中,存储器装置可以包括多个四层单元(QLC),多个四层单元(QLC)中的每一个均存储4位数据。
图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中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示共源线。多个字线WL0至WLn-1可以串联连接在源极选择线SSL和漏极选择线DSL之间。
虽然图3示出NAND闪存存储器单元,但是本发明不限于此。即,应注意的是,存储器单元可以是NOR闪存存储器单元,或者包括组合两种或更多种存储器单元的混合闪存存储器单元。并且,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪存存储器装置或包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可以进一步包括电压供应装置310,电压供应装置310提供根据操作模式供应到字线的包括编程电压、读取电压和通过电压的字线电压。电压供应装置310的电压生成操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供应装置310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且根据需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可以用作从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以用作根据将被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收将存储到存储器单元阵列中的数据,并且可以根据接收的数据将电流或电压供应至位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4是示出存储器装置150的示例性3D结构的示意图。
存储器装置150可以由2维(2D)或3维(3D)存储器装置来实施。具体地,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可以包括多个存储块BLK0至BLKN-1,多个存储块BLK0至BLKN-1中的每一个具有3D结构(或垂直结构)。
下文中,将参照图5至图9详细描述根据本公开的实施例的关于存储器系统中的存储器装置150的数据处理操作,特别是,执行例如作为存储器装置150的前台操作的、与从主机102接收的多个命令对应的命令操作时的数据处理操作,或者执行例如作为存储器装置150的后台操作的复制操作、交换操作和映射清除操作时的数据处理操作。
图5至图8是描述根据实施例的对存储器系统中的存储器装置执行前台操作和后台操作时的数据处理操作的示意图。在本公开的实施例中,将通过以以下情况为示例进行详细描述:执行对存储器装置150的前台操作,例如,与从主机102接收的多个命令对应的多个命令操作,并且执行对存储器装置150的后台操作,例如,作为复制操作的垃圾收集操作或读取回收操作、作为交换操作的磨损均衡操作和映射清除操作。特别地,在本公开的实施例中,为了便于说明,将通过以以下情况为示例进行详细描述:在图1所示的存储器系统110中,从主机102接收多个命令并且执行与命令对应的命令操作。例如,在本公开的实施例中,将对以下情况下的数据处理操作进行详细描述:从主机102接收多个写入命令并且执行与写入命令对应的编程操作;从主机102接收多个读取命令并且执行与读取命令对应的读取操作;从主机102接收多个擦除命令并且执行与擦除命令对应的擦除操作;或者从主机102同时接收多个写入命令和多个读取命令并且执行与写入命令对应的编程操作和与读取命令对应的读取操作。
此外,在本公开的实施例中,将通过以以下情况为示例进行描述:将与从主机102输入的多个写入命令对应的写入数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,将存储在缓冲器/高速缓存中的写入数据编程并存储在存储器装置150中包括的多个存储块中,对应于多个存储块中存储的写入数据来更新映射数据,并且将更新的映射数据存储在存储器装置150中包括的多个存储块中。即,在本公开的实施例中,将通过以以下情况为示例进行描述:执行与从主机102输入的多个写入命令对应的编程操作。此外,在本公开的实施例中,将通过以以下情况为示例进行描述:从主机102输入针对存储在存储器装置150中的数据的多个读取命令,通过检查与读取命令对应的数据的映射数据从存储器装置150读取与读取命令对应的数据,将读取的数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,并且将存储在缓冲器/高速缓存中的数据提供至主机102。换言之,在本公开的实施例中,将通过以以下情况为示例进行描述:执行与从主机102输入的多个读取命令对应的读取操作。此外,在本公开的实施例中,将通过以以下情况为示例进行描述:从主机102接收针对存储器装置150中包括的存储块的多个擦除命令,对应于擦除命令检查存储块,擦除存储在检查的存储块中的数据,对应于擦除的数据更新映射数据,并且将更新的映射数据存储在存储器装置150中包括的多个存储块中。即,在本公开的实施例中,将通过以以下情况为示例进行描述:执行与从主机102接收的多个擦除命令对应的擦除操作。
此外,尽管为了便于说明,作为示例描述了控制器130在存储器系统110中执行命令操作,但是要注意的是,如上所述,控制器130中包括的处理器134可以通过例如FTL(闪存转换层)在存储器系统110中执行命令操作。并且,在本公开的实施例中,控制器130将与从主机102输入的写入命令对应的用户数据和元数据编程并存储在存储器装置150中包括的多个存储块中的任意存储块中,从存储器装置150中包括的多个存储块中的任意存储块读取与从主机102接收的读取命令对应的用户数据和元数据并且将读取的数据提供至主机102,或者从存储器装置150中包括的多个存储块中的任意存储块擦除与从主机102输入的擦除命令对应的用户数据和元数据。
元数据可以包括对应于编程操作存储在存储块中的数据的第一映射数据和第二映射数据,第一映射数据包括逻辑到物理(L2P)信息(下文中,被称为“逻辑信息”),第二映射数据包括物理到逻辑(P2L)信息(下文中,被称为“物理信息”)。并且,元数据可以包括关于与从主机102接收的命令对应的命令数据的信息、关于与命令对应的命令操作的信息、关于将执行命令操作的存储器装置150的存储块的信息、以及关于与命令操作对应的映射数据的信息。换言之,元数据可以包括全部剩余的信息以及除与从主机102接收的命令对应的用户数据之外的数据。
即,在本公开的实施例中,在控制器130从主机102接收多个写入命令的情况下,执行与写入命令对应的编程操作,并且将与写入命令对应的用户数据写入并存储在存储器装置150的存储块中已经执行了擦除操作的空白存储块、开放存储块或空闲存储块中。并且,将第一映射数据和第二映射数据写入并存储在存储器装置150的存储块中的空白存储块、开放存储块或空闲存储块中,第一映射数据包括L2P映射表或L2P映射列表,在L2P映射表或L2P映射列表中记录存储在存储块中的用户数据的作为逻辑地址和物理地址之间的映射信息的逻辑信息,第二映射数据包括P2L映射表或P2L映射列表,在P2L映射表或P2L映射列表中记录存储有用户数据的存储块的作为物理地址和逻辑地址之间的映射信息的物理信息。
此处,在写入命令从主机102输入的情况下,控制器130将与写入命令对应的用户数据写入并存储在存储块中。控制器130将包括存储在存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在其它存储块中。特别地,与用户数据的数据段被存储在存储器装置150的存储块中对应的,控制器130生成并更新第一映射数据的L2P段和第二映射数据的P2L段作为元数据的元数据段中的映射数据的映射段。控制器130将映射数据的映射段存储在存储器装置150的存储块中。存储在存储器装置150的存储块中的映射段被加载在控制器130中包括的存储器144中,然后被更新。
此外,在从主机102接收多个读取命令的情况下,控制器130从存储器装置150读取与读取命令对应的读取数据,并且将读取数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中。控制器130将存储在缓冲器/高速缓存中的数据提供至主机102,由此执行与多个读取命令对应的读取操作。
另外,在从主机102接收多个擦除命令的情况下,控制器130检查与擦除命令对应的存储器装置150的存储块,然后对存储块执行擦除操作。
在执行与从主机102接收的多个命令对应的命令操作同时执行后台操作时,控制器130将与后台操作对应的数据,即元数据和用户数据,加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后将数据,即元数据和用户数据,存储在存储器装置150中。此处,通过示例而非限制的方式,后台操作可以包括作为复制操作的垃圾收集操作或读取回收操作、作为交换操作的磨损均衡操作或映射清除操作。例如,对于后台操作,控制器130可以检查存储器装置150的存储块中的与后台操作对应的元数据和用户数据,将存储在存储器装置150的特定存储块中的元数据和用户数据加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然而将元数据和用户数据存储在存储器装置150的某些其它存储块中。
在根据本公开的实施例的存储器系统中,在执行作为前台操作的命令操作以及作为后台操作的复制操作、交换操作和映射清除操作时,控制器130对与前台操作和后台操作对应的队列进行排程,并且将排程的队列分配至控制器130中包括的存储器144和主机102中包括的存储器。在这一点上,控制器130根据各操作为将在存储器装置150中执行的前台操作和后台操作指定标识符(ID),并且对分别与指定有标识符的操作对应的队列进行排程。在根据本公开的实施例的存储器系统中,标识符不仅根据对存储器装置150的各操作而且根据对存储器装置150的功能来指定,并且对与指定有各标识符的功能对应的队列进行排程。
在根据本公开的实施例的存储器系统中,控制器130管理通过将在存储器装置150中执行的各功能和操作的标识符进行排程的队列。控制器130管理通过将在存储器装置150中执行的前台操作和后台操作的标识符进行排程的队列。在根据本公开的实施例的存储器系统中,在将与通过标识符进行排程的队列对应的存储器区域分配至控制器130中包括的存储器144和主机102中包括的存储器后,控制器130管理分配的存储器区域的地址。控制器130通过使用排程的队列,在存储器装置150中不仅执行前台操作和后台操作而且执行各功能和操作。下文中,将参照图5至图8详细描述根据本公开的实施例的存储器系统中的数据处理操作。
参照图5,控制器130执行与从主机102输入的多个命令对应的命令操作,例如,与从主机102输入的多个写入命令对应的编程操作。此时,控制器130将与写入命令对应的用户数据编程并存储在存储器装置150的存储块中。并且,与对存储块的编程操作对应的,控制器130生成并更新用户数据的元数据并且将元数据存储在存储器装置150的存储块中。
控制器130生成并更新第一映射数据和第二映射数据,第一映射数据和第二映射数据包括指示用户数据被存储在存储器装置150的存储块中包括的页面中的信息。即,控制器130生成并更新作为第一映射数据的逻辑段的L2P段和作为第二映射数据的物理段的P2L段,然后将L2P段和P2L段存储在存储器装置150的存储块中包括的页面中。
例如,控制器130将与从主机102输入的写入命令对应的用户数据高速缓存并缓冲在控制器130的存储器144中包括的第一缓冲器510中。特别地,在将用户数据的数据段512存储在用作数据缓冲器/高速缓存的第一缓冲器510中后,控制器130将存储在第一缓冲器510中的数据段512存储在存储器装置150的存储块中包括的页面中。由于与从主机102接收的写入命令对应的用户数据的数据段512被编程至并存储在存储器装置150的存储块中包括的页面中,控制器130生成并且更新第一映射数据和第二映射数据。控制器130将第一映射数据和第二映射数据存储在控制器130的存储器144中包括的第二缓冲器520中。特别地,控制器130将用户数据的第一映射数据的L2P段522和第二映射数据的P2L段524存储在作为映射缓冲器/高速缓存的第二缓冲器520中。如上所述,第一映射数据的L2P段522和第二映射数据的P2L段524可以存储在控制器130的存储器144的第二缓冲器520中。第一映射数据的L2P段522的映射列表和第二映射数据的P2L段524的另一映射列表可以存储在第二缓冲器520中。控制器130将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在存储器装置150的存储块中包括的页面中。
并且,控制器130执行与从主机102接收的多个命令对应的命令操作,例如,与从主机102接收的多个读取命令对应的读取操作。特别地,控制器130将作为与读取命令对应的用户数据的映射段的第一映射数据的L2P段522和第二映射数据的P2L段524加载在第二缓冲器520中,并且检查L2P段522和P2L段524。然后,控制器130读取存储在存储器装置150的存储块中的对应存储块的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中,然后将数据段512提供至主机102。
此外,控制器130执行与从主机102输入的多个命令对应的命令操作,例如,与从主机102输入的多个擦除命令对应的擦除操作。特别地,控制器130检查存储器装置150的存储块中与擦除命令对应的存储块以对检查的存储块执行擦除操作。
当在存储器装置150中包括的存储块中执行复制数据或交换数据的操作,例如,作为后台操作的垃圾收集操作、读取回收操作或磨损均衡操作时,控制器130将对应的用户数据的数据段512存储在第一缓冲器510中,将与用户数据对应的映射数据的映射段522和524加载在第二缓冲器520中,然后执行垃圾收集操作、读取回收操作或磨损均衡操作。在对存储器装置150的存储块执行元数据,例如映射数据的作为后台操作的映射更新操作和映射清除操作时,控制器130将对应的映射段522和524加载在第二缓冲器520中,然后执行映射更新操作和映射清除操作。
如上所述,在对存储器装置150执行包括前台操作和后台操作的操作和功能时,控制器130根据将对存储器装置150执行的功能和操作来指定标识符。控制器130分别对分别与指定有标识符的功能和操作对应的队列进行排程。控制器130将与各队列对应的存储器区域分配至控制器130中包括的存储器144和主机102中包括的存储器。控制器130分别管理被指定给各功能和操作的标识符、针对各标识符排程的队列、以及分配至控制器130的存储器144和主机102的存储器的与队列对应的存储器区域。控制器130通过分配至控制器130的存储器144和主机102的存储器的存储器区域执行对存储器装置150的功能和操作。
参照图6,存储器装置150包括多个存储器管芯,例如,存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3,并且存储器管芯中的每一个包括多个平面,例如,平面0、平面1、平面2和平面3。存储器装置150中包括的存储器管芯中的各平面可以包括多个存储块,例如,N个块BLK0、BLK1、BLK2至BLKN-1,每个块包括多个页面,例如2M个页面,如上面参照图2描述的。此外,存储器装置150包括与各存储器管芯对应的多个缓冲器,例如,与存储器管芯0对应的缓冲器0、与存储器管芯1对应的缓冲器1、与存储器管芯2对应的缓冲器2和与存储器管芯3对应的缓冲器3。
在执行与从主机102接收的多个命令对应的命令操作时,与命令操作对应的数据被存储在存储器装置150中包括的缓冲器中。例如,在执行编程操作时,与编程操作对应的数据被存储在缓冲器中,并且然后被存储在存储器管芯的存储块中包括的页面中。在执行读取操作时,从存储器管芯的存储块中包括的页面读取与读取操作对应的数据,将该数据存储在缓冲器中,然后通过控制器130将该数据提供至主机102。
在本公开的实施例中,尽管为了便于说明,下面作为示例描述了存储器装置150中包括的缓冲器存在于各对应存储器管芯外部,但本发明不限于此。即,要注意的是,缓冲器可以存在于各对应存储器管芯内部。还要注意的是,缓冲器可以与各存储器管芯中的各平面或各存储块对应。此外,在本公开的实施例中,尽管为了便于说明,下面作为示例描述了存储器装置150中包括的缓冲器是上面参照图3描述的存储器装置150中包括的多个页面缓冲器322、324和326,但要注意的是,缓冲器可以是存储器装置150中包括的多个高速缓存或多个寄存器。
此外,存储器装置150中包括的多个存储块可以分组成多个超级存储块,并且命令操作可以在多个超级存储块中执行。超级存储块中的每一个可以包括多个存储块,例如,第一存储块组和第二存储块组中包括的存储块。在这一点上,在第一存储块组包括在第一存储器管芯的第一平面中的情况下,第二存储块组可以包括在第一存储器管芯的第一平面中,可以包括在第一存储器管芯的第二平面中,或者可以包括在第二存储器管芯的平面中。下文中,将参照图7和图8详细描述在根据本公开的实施例的存储器系统110中,在对存储器装置150执行包括前台操作和后台操作的操作和功能时,如上所述的,对与各功能和操作对应的队列进行排程,将与各队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器,并且通过与各队列对应的存储器区域执行功能和操作。
参照图7,在对存储器装置150中包括的多个存储块执行包括前台操作和后台操作的操作和功能时,在检查将在存储器装置150的存储块中执行的各功能和操作后,控制器130将标识符指定给各功能和操作。特别地,在检查将使用控制器130中包括的存储器144的功能和操作后,控制器130将各标识符(ID)指定给将使用控制器130的存储器144的功能和操作。
控制器130对与指定有各标识符的功能和操作对应的队列进行排程,并且将与各队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器。在这一点上,在对与功能和操作对应的队列进行排程后,控制器130将虚拟地址指定给各队列,并且在访问各队列时通过使用虚拟地址来访问各队列。控制器130将与各队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器。控制器130通过使用分配至控制器130的存储器144和主机102的存储器的存储器区域执行对存储器装置150中包括的多个存储块的功能和操作。与排程的队列对应的存储器区域被分配至控制器130的存储器144和主机102的存储器。控制器130通过使用控制器130的存储器144和主机102的存储器中包括的队列执行存储器装置150的功能和操作。
详细地,在对存储器装置150中包括的存储块执行包括前台操作和后台操作的操作和功能时,在检查将在存储器装置150的存储块中执行的操作和功能后,控制器130为各操作和功能指定标识符702,并且将指定给各操作和功能的标识符702记录在排程表700中。排程表700可以是存储器装置150的元数据。因此,排程表700存储在控制器130的存储器144中,特别地,存储在控制器130的存储器144中包括的第二缓冲器520中,并且也可以存储在存储器装置150中。
在对与指定有各标识符702的操作和功能对应的队列进行排程后,控制器130将虚拟地址指定给各队列,并且将各队列的索引704记录在排程表700中。控制器130将与各队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器,并且将与各队列对应的存储器区域的地址715记录在排程表700中。
控制器130将指定给各队列的虚拟地址和各队列被分配至的存储器区域的地址715进行映射。为了执行对存储器装置150的存储块的操作和功能,在根据各操作和功能检查标识符702后,在通过虚拟地址访问各对应队列时,控制器130将与各队列对应的虚拟地址转换成存储器区域的地址715,并且通过使用被分配至控制器130的存储器144和主机102的存储器的存储器区域,执行对存储器装置150中包括的多个存储块的功能和操作。控制器130可以包括存储器转换模块、存储器管理模块、或排程模块,例如图8中所示的排程模块820。存储器转换模块、存储器管理模块或排程模块可以将与各队列对应的虚拟地址转换成被分配至控制器130的存储器144和主机102的存储器的存储器区域的地址715。
例如,在对存储器装置150的存储块执行与从主机102接收的命令对应的命令操作时,在分别检查与命令对应的命令操作后,控制器130将标识符702指定给各命令操作,并且将指定给各命令操作的标识符702记录在排程表700中。此处,作为示例并且为了便于说明,假设排程表700的标识符702中的ID 0为指示命令操作中的编程操作的标识符,排程表700的标识符702中的ID 1为指示命令操作中的读取操作的标识符,并且排程表700的标识符702中的ID 2为指示命令操作中的擦除操作的标识符。
在对与指定有各标识符702的命令操作对应的命令操作队列进行排程后,控制器130将虚拟地址指定给各命令操作队列,并且将各命令操作队列的索引704记录在排程表700中。排程表700的索引704中的队列0指示与命令操作中的编程操作对应的编程任务队列,即,与ID 0对应的队列。排程表700的索引704中的队列1指示与命令操作中的读取命令对应的读取任务队列,即,与ID 1对应的队列。排程表700的索引704中的队列2指示与命令操作中的擦除操作对应的擦除任务队列,即,与ID 2对应的队列。
控制器130将与各命令队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器。控制器130将与各命令队列对应的存储器区域的地址715记录在排程表700中。排程表700的地址715中的地址0指示与命令操作中的编程操作的编程任务队列对应的存储器区域的地址,即,与队列0对应的存储器区域的地址。排程表700的地址715中的地址1指示与命令操作中的读取操作的读取任务队列对应的存储器区域的地址,即,与队列1对应的存储器区域的地址。排程表700的地址715中的地址2指示与命令操作中的擦除操作的擦除任务队列对应的存储器区域的地址,即,与队列2对应的存储器区域的地址。
当在存储器装置150的存储块中执行后台操作时,在检查将在存储块中执行的后台操作后,控制器130将标识符702指定给后台操作。控制器130将指定给各后台操作的标识符702记录在排程表700中。此处,作为示例且为了便于说明,假设排程表700的标识符702中的ID 3为指示后台操作中的映射更新操作和映射清除操作的标识符,排程表700的标识符702中的ID 4为指示后台操作中的作为交换操作的磨损均衡操作的标识符,排程表700的标识符702中的ID 5为指示后台操作中的作为复制操作的垃圾收集操作的标识符,并且排程表700的标识符702中的ID 6为指示后台操作中的作为复制操作的读取回收操作的标识符。
在对与指定有各标识符702的后台操作对应的后台操作队列进行排程后,控制器130将虚拟地址指定给各后台操作队列,并且将各后台操作队列的索引704记录在排程表700中。排程表700的索引704中的队列3指示与后台操作中的映射更新操作和映射清除操作对应的映射任务队列,即,与ID 3对应的队列。排程表700的索引704中的队列4指示与后台操作中的作为交换操作的磨损均衡操作对应的磨损均衡任务队列,即,与ID 4对应的队列。排程表700的索引704中的队列5指示与后台操作中的作为复制操作的垃圾收集操作对应的垃圾收集任务队列,即,与ID 5对应的队列。排程表700的索引704中的队列6指示与后台操作中的作为复制操作的读取回收操作对应的读取回收任务队列,即,与ID 6对应的队列。
控制器130将与各后台操作队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器。控制器130将与各后台操作队列对应的存储器区域的地址715记录在排程表700中。排程表700的地址715中的地址3指示与后台操作中的映射更新操作和映射清除操作的映射任务队列对应的存储器区域的地址,即,与队列3对应的存储器区域的地址。排程表700的地址715中的地址4指示与后台操作中的磨损均衡操作的磨损均衡任务队列对应的存储器区域的地址,即,与队列4对应的存储器区域的地址。排程表700的地址715中的地址5指示与后台操作中的垃圾收集操作的垃圾收集任务队列对应的存储器区域的地址,即,与队列5对应的存储器区域的地址。排程表700的地址715中的地址6指示与后台操作中的读取回收操作的读取回收任务队列对应的存储器区域的地址,即,与队列6对应的存储器区域的地址。
在本公开的实施例中,尽管为了便于说明,作为示例描述了对于相同类型的操作和功能,指定单个标识符,对单个队列进行排程,并且分配单个存储器区域,但本发明不限于此。即,要注意的是,即使在对于相同类型的操作和功能,指定多个标识符,对多个队列进行排程,并且分配多个存储器区域的情况下,也可以以相同的方式应用本公开。例如,控制器130可以为编程操作中的第一编程操作指定ID0,对队列0进行排程,并且分配地址0的存储器区域。控制器130可以为编程操作中的第二编程操作指定ID 1,对队列1进行排程,并且分配地址1的存储器区域。换言之,在根据本公开的实施例的存储器系统中,控制器130可以根据将在存储器装置150中执行的操作和功能指定各标识符,动态地对与指定有各标识符的操作和功能对应的队列进行排程。控制器130可以动态地将与各队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器。
在本公开的实施例中,尽管为了便于说明,作为示例描述了在控制器130对与将在存储器装置150的存储块中执行的操作和功能对应的队列进行排程后,与各队列对应的存储器区域被分配至控制器130的存储器144和主机102的存储器,但本发明不限于此。即,要注意的是,即使在主机102通过控制器130的请求将与各队列对应的存储器区域分配至主机102的存储器的情况下,也可以以相同的方式应用本公开。例如,在检查将在存储器装置150的存储块中执行的前台操作和后台操作后,如上所述,控制器130通过使用分配至控制器130的存储器144和主机102的存储器的存储器区域,在存储器装置150的存储块中执行前台操作和后台操作。与执行前台操作和后台操作对应的,控制器130将响应消息或响应信号传送至主机102。
与执行前台操作和后台操作对应的,在将从控制器130提供至主机102的数据(下文中,被称为“主机数据”)存在于控制器130的存储器144或存储器装置150中的情况下,控制器130通过响应消息或响应信号来通知主机102存在主机数据。在用于通知存在主机数据的响应消息或响应信号中,可以包括关于主机数据的类型的信息和关于主机数据的大小的信息。在对应于从控制器130接收的消息或信号将主机数据的存储器区域分配至主机102的存储器后,主机102将读取命令传送至控制器130并且从控制器130接收主机数据作为对读取命令的响应。
主机102向控制器130传送读取缓冲命令,作为用于读取存在于控制器130的存储器144或存储器装置150中的主机数据的读取命令,并且主机102从控制器130接收响应包作为对读取缓冲命令的响应。在响应包中,包括控制器130的存储器144或存储器装置150中的主机数据,特别地,包括存储在控制器130的存储器144中的用户数据或元数据。响应消息或响应包可以包括标头区和数据区。关于主机数据的类型的信息可以包括在标头区的类型字段中,关于主机数据的大小的信息可以包括在标头区的长度字段中,并且与标头区对应的主机数据可以包括在响应包的数据区中。主机102将通过响应包从控制器130接收的主机数据存储在分配至主机102的存储器的存储器区域中。在从控制器130接收主机数据的更新消息或更新信号时,主机102将读取缓冲命令传送至控制器130,从控制器130接收更新的主机数据,然后将接收的更新的主机数据存储在分配至主机102的存储器的存储器区域中。
特别地,当在存储器装置150的存储块中执行作为命令操作的编程操作、读取操作或擦除操作或者执行作为后台操作的磨损均衡操作、垃圾收集操作或读取回收操作时,对应于命令操作和后台操作的执行,控制器130执行映射更新操作和映射清除操作。控制器130将存储在控制器130的存储器144中的映射数据提供至主机102,作为主机性能提升器(HPB)以不仅提高存储器系统110的操作性能而且还提高主机102的操作性能。具体地,如上所述,对应于命令操作或后台操作的执行,控制器130将更新的映射数据提供至主机102。因此,主机数据为映射数据。在将包括映射数据的类型信息和大小信息的响应消息或响应信号传送至主机102后,控制器130根据从主机102接收的读取缓冲命令将包括映射数据的响应包传送至主机102。对应于命令操作或后台操作的执行,控制器130将第一映射数据提供至主机102。特别地,在执行第一映射数据的更新操作时,控制器130将更新的第一映射数据提供至主机102。因此,更新的第一映射数据被缓冲并高速缓存在主机102的存储器中。
如上所述,在将主机数据传送至主机102后,对应于将主机数据存储在分配至主机102的存储器的存储器区域中,控制器130为主机数据的传送和存储(下文中,被称为“主机数据操作”)指定标识符,对与主机数据操作对应的主机数据队列进行排程,将虚拟地址指定给主机数据队列,并且检查分配至主机102的存储器的主机数据队列的存储器区域的地址。控制器130将主机数据操作的标识符、主机数据队列的索引和与主机数据队列对应的存储器区域的地址记录在排程表700中。下文中,将参照图8详细描述以下情况:在根据本公开的实施例的存储器系统中,控制器130根据记录在排程表700中的标识符702、索引704和地址715,在存储器装置150的存储块中执行前台操作和后台操作。
参照图8,当在存储器装置150的存储块中执行前台操作和后台操作时,在根据记录在排程表700中的标识符702、索引704和地址715,通过排程模块820对与各前台操作和后台操作对应的队列进行排程后,,控制器130将与各队列对应的存储器区域分配至控制器130的存储器144和主机102的存储器806。因此,与各前台操作和后台操作对应的队列的队列模块(例如,图8中示出的队列模块0至6)可以包括在控制器130的存储器144和主机102的存储器806中。
排程模块820可以通过控制器130的处理器134实施。因此,排程模块820可以包括在控制器130的处理器134中,并且将由排程模块820执行的操作可以在处理器134中执行,特别地,通过闪存转换层(FTL)执行。排程模块820可以检查将在存储器装置150的存储块中执行的操作和功能,指定标识符702,对对应的队列进行排程并且分配存储器区域。
在控制器130对存储器装置150的存储块执行前台操作和后台操作时,队列模块成为控制器130的存储器144和主机102的存储器806中的存储与各前台操作和后台操作对应的数据的存储器区域。控制器130的存储器144中包括的队列模块0、队列模块1、队列模块2和队列模块3成为控制器130的存储器144中包括的缓冲器或高速缓存。主机102的存储器806中包括的队列模块4、队列模块5和队列模块6成为主机102的存储器806中包括的统一存储器(UM)808。
主机102可以包括处理器802、存储器806和装置接口804。主机102的处理器802控制主机102的一般操作。特别地,主机102的处理器802控制与用户请求对应的命令被传送至存储器系统110的控制器130,从而在存储器系统110中执行与用户请求对应的命令操作。主机102的处理器802可以通过微处理器或中央处理单元(CPU)实施。当通过从控制器130接收的响应消息或响应信号检查存在主机数据时,在将主机数据的存储器区域分配至主机102的存储器806中包括的UM808后,主机102的处理器802将读取命令传送至控制器130,并且将通过响应包从控制器130接收的主机数据存储在分配至UM 808的存储器区域中。
主机102的存储器806可以是主机102的主存储器或系统存储器,存储用于驱动主机102的数据,包括存储主机102中的数据的主机-使用存储器区域(未示出)和存储存储器系统110中的数据的装置-使用存储器区域。在主机102的存储器806中可以是系统存储器区域的主机-使用存储器区域中,存储关于主机102的系统,例如文件系统或操作系统的数据或程序信息。在主机102的存储器806中可以是装置-使用存储器区域的UM 808中,存储在存储器系统110执行与从主机102接收的命令对应的命令操作,即,前台操作或后台操作的情况下,存储器系统110中的数据或信息。主机102的存储器806可以通过例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器实施。此外,在主机102的存储器806中,UM 808可以在存储器系统110断电后,在启动操作期间确定存储器系统110处于通电状态,并且UM 808可以作为装置-使用存储器区域被分配且报告给存储器系统110。
可以是主机控制器接口(HCI)的主机102的装置接口804处理主机102的命令和数据,并且可以配置成通过诸如以下的各种接口协议中的至少一种与存储器系统110通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)和移动工业处理器接口(MIPI)。
尽管为了便于说明,图8示出了与各前台操作和后台操作对应的七个队列模块的存储器区域被分配至控制器130的存储器144和主机102的UM 808,但要注意的是,本发明不限于此。即,对应于将在存储器装置150的存储块中执行的各前台操作和后台操作,可以将变化数量的队列模块的存储器区域分配至控制器130的存储器144和主机102的UM 808。
例如,当在存储器装置150的存储块中执行编程操作时,控制器130为编程操作指定ID 0,对队列0进行排程,并且分配地址0的存储器区域。与队列0对应的地址0的存储器区域被分配至控制器130的存储器144,因此,与队列0对应的队列模块0包括在控制器130的存储器144中。当在存储器装置150的存储块中执行编程操作时,在队列模块0中存储与编程操作对应的数据。
当在存储器装置150的存储块中执行读取操作时,控制器130可以为读取操作指定ID 1,对队列1进行排程,并且分配地址1的存储器区域。与队列1对应的地址1的存储器区域被分配至控制器130的存储器144。因此,与队列1对应的队列模块1包括在控制器130的存储器144中。当在存储器装置150的存储块中执行读取操作时,在队列模块1中存储与读取操作对应的数据。
当在存储器装置150的存储块中执行擦除操作时,控制器130可以为擦除操作指定ID 2,对队列2进行排程,并且分配地址2的存储器区域。与队列2对应的地址2的存储器区域被分配至控制器130的存储器144。因此,与队列2对应的队列模块2包括在控制器130的存储器144中。当在存储器装置150的存储块中执行擦除操作时,在队列模块2中存储与擦除操作对应的数据。
当在存储器装置150的存储块中执行映射更新操作和映射清除操作时,控制器130可以为映射更新操作和映射清除操作指定ID 3,对队列3进行排程并且分配地址3的存储器区域。与队列3对应的地址3的存储器区域被分配至控制器130的存储器144。因此,与队列3对应的队列模块3包括在控制器130的存储器144中。当在存储器装置150的存储块中执行映射更新操作和映射清除操作时,在队列模块3中存储与映射更新操作和映射清除操作对应的数据。
当在存储器装置150的存储块中执行磨损均衡操作时,控制器130可以为磨损均衡操作指定ID 4,对队列4进行排程并且分配地址4的存储器区域。与队列4对应的地址4的存储器区域被分配至主机102的UM 808,因此,与队列4对应的队列模块4包括在主机102的UM808中。当在存储器装置150的存储块中执行磨损均衡操作时,在队列模块4中存储与磨损均衡操作对应的数据。
当在存储器装置150的存储块中执行垃圾收集操作时,控制器130可以为垃圾收集操作指定ID 5,对队列5进行排程,并且分配地址5的存储器区域。与队列5对应的地址5的存储器区域被分配至主机102的UM 808。因此,与队列5对应的队列模块5包括在主机102的UM808中。当在存储器装置150的存储块中执行垃圾收集操作时,在队列模块5中存储与垃圾收集操作对应的数据。
当在存储器装置150的存储块中执行读取回收操作时,控制器130可以为读取回收操作指定ID6,对队列6进行排程,并且分配地址6的存储器区域。与队列6对应的地址6的存储器区域被分配至主机102的UM 808。因此,与队列6对应的队列模块6包括在主机102的UM808中。当在存储器装置150的存储块中执行读取回收操作时,在队列模块6中存储与读取回收操作对应的数据。
在控制器130与主机102执行主机数据操作时,在将包括关于主机数据的类型的信息和关于主机数据的大小的信息的响应消息或响应信号传送至主机102后,控制器130根据从主机102接收的读取缓冲命令将包括主机数据的响应包传送至主机102中。此外,在为主机数据操作指定标识符后,控制器130对主机数据队列进行排程,并检查分配至主机102的UM 808的主机数据队列的存储器区域的地址。对应于从控制器130接收的响应消息或响应信号,与主机数据队列对应的存储器区域通过主机102被分配至主机102的UM 808。因此,与主机数据队列对应的队列模块包括在主机102的UM 808中。在与主机数据队列对应的队列模块中,存储主机数据。特别地,对应于在存储器装置150的存储块中执行的前台操作和后台操作,存储更新的映射数据。
如从上面的描述中显而易见的是,在根据本公开的实施例的存储器系统中,当执行将在存储器装置150的存储块中执行的前台操作和后台操作时,在将各标识符指定给将在存储器装置150的存储块中执行的操作和功能后,控制器130对与操作和功能对应的队列进行排程,将与各队列对应的存储器区域分配至控制器130的存储器144和主机102的UM808,并且通过分配至控制器130的存储器144和主机102的UM 808的存储器区域,在存储器装置150的存储块中执行前台操作和后台操作。在根据本公开的实施例的存储器系统中,通过将控制器130的存储器144扩展至主机102,不仅可以提高存储器系统的操作性能而且可以提高主机102的操作性能,并且可以提高存储器的使用效率。下文中,将参照图9详细描述根据实施例的存储器系统中处理数据的操作。
图9是描述根据实施例的存储器系统中处理数据的操作进程的流程图。
参照图9,在步骤910处,存储器系统110检查将在存储器装置150的存储块中执行的包括前台操作和后台操作的操作和功能。存储器系统110将标识符指定给各操作和功能。
在步骤920处,存储器系统110对与指定有各标识符的操作和功能对应的队列进行排程,为各队列指定虚拟地址,并且为与各队列对应的存储器区域分配控制器130的存储器144和主机102的UM 808中的一些存储器区域。存储器系统110将为各操作和功能指定的标识符、各队列的索引和与各队列对应的存储器区域的地址记录在排程表700中,并且排程表700被包括并存储在元数据中。
在步骤930处,存储器系统110通过分配至控制器130的存储器144和主机102的UM808的存储器区域,执行包括前台操作和后台操作的各操作和功能。
由于上面参照图5至图8详细描述了当在存储器装置150的存储块中执行包括前台操作和后台操作的操作和功能时,将标识符指定给各操作和功能,对对应的队列进行排程,分配与各队列对应的存储器区域,然后执行包括前台操作和后台操作的操作和功能,因此此处将省略对其的进一步描述。下文中,将参照图10至图18详细描述应用根据本公开的实施例的上面参照图1至图9描述的包括存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备。
图10至图18是示意性示出图1的数据处理系统的应用示例的示图。
图10是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图10示意性地示出应用根据实施例的存储器系统的存储卡系统。
参照图10,存储卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可以连接到通过非易失性存储器实施的存储器装置6130。存储器控制器6120可以被配置为访问存储器装置6130。通过示例而非限制的方式,存储器控制器6120可以被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以被配置为提供存储器装置6130和主机之间的接口并且使用固件以控制存储器装置6130。即,存储器控制器6120可以对应于参照图1和图5描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参照图1和图5描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可以包括RAM、处理单元、主机接口、存储器接口和错误校正组件。存储器控制器6120可以进一步包括图5所示的元件。
存储器控制器6120可以通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1描述的,存储器控制器6120可以被配置为在诸如以下的各种通信协议中的一种或多种下与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI和蓝牙。因此,根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特别是移动电子装置。
存储器装置6130可以由非易失性存储器来实施。例如,存储器装置6130可以通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪存存储器、NOR闪存存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-RAM)。存储器装置6130可以包括如在图5的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可以通过集成到单个半导体装置中来构造固态驱动器(SSD)。并且,存储器控制器6120和存储器装置6130可以构造诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪存(UFS)。
图11是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图11,数据处理系统6200可以包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可以用作如参照图1描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可以对应于图1和图5所示的存储器系统110中的存储器装置150。存储器控制器6220可以对应于图1和图5所示的存储器系统110中的控制器130。
存储器控制器6220可以响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可以包括一个或多个CPU 6221、诸如RAM6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可以控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可以根据CPU 6221的控制来操作。RAM 6222可以用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可以用于缓冲从主机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码、涡轮码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可以通过主机接口6224将数据传送到主机6210/从主机6210接收数据。存储器控制器6220可以通过NVM接口6225将数据传送到存储器装置6230/从存储器装置6230接收数据。主机接口6224可以通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可以具有利用诸如WiFi或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可以连接到例如主机6210或另一外部装置的外部装置,并且然后将数据传送到外部装置/从外部装置接收数据。特别地,当存储器控制器6220被配置为通过各种通信协议中的一种或多种与外部装置通信时,根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图12示意性地示出应用根据实施例的存储器系统的SSD。
参照图12,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。存储器控制器6320可以对应于图1和图5的存储器系统110中的控制器130。存储器装置6340可以对应于图1和图5的存储器系统110中的存储器装置150。
更具体地,控制器6320可以通过多个信道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中包括的多个闪存存储器NVM提供的数据,或临时存储多个闪存存储器NVM的元数据,例如包括映射表的映射数据。缓冲存储器6325可以由诸如DRAM、SDRAM、DDR SDRAM、LPDDRSDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为了便于描述,图11示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可以存在于控制器6320的外部。
ECC电路6322可以在编程操作期间计算将编程到存储器装置6340的数据的ECC值。ECC电路6322可以在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作。ECC电路6322可以在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以提供与例如主机6310的外部装置的接口功能。非易失性存储器接口6326可以提供与通过多个信道连接的存储器装置6340的接口功能。
此外,应用图1和图5的存储器系统110的多个SSD 6300可以被被提供以实施例如RAID(独立磁盘冗余阵列)系统的数据处理系统。此时,RAID系统可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可以根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300。RAID控制器可以将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可以根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300。RAID控制器可以将从选择的SSD 6300读取的数据提供至主机6310。
图13是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图13示意性地示出应用根据实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可以包括控制器6430和由一个或多个NAND闪存存储器实施的存储器装置6440。控制器6430可以对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6440可以对应于图1和图5的存储器系统110中的存储器装置150。
更具体地,控制器6430可以通过多个信道连接到存储器装置6440。控制器6430可以包括一个或多个内核6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可以控制eMMC 6400的全部操作。主机接口6431可以在控制器6430和主机6410之间提供接口功能。NAND接口6433可以在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口6431可以用作并行接口,例如,参照图1描述的MMC接口。此外,主机接口6431可以用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图14至图17是示意性地示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图14至图17示意性地示出应用根据实施例的存储器系统的通用闪存(UFS)系统。
参照图14至图17,UFS系统6500、6600、6700、6800可以分别包括主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820,以及UFS卡6530、6630、6730、6830。主机6510、6610、6710、6810可以用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720、6820可以用作嵌入式UFS装置,并且UFS卡6530、6630、6730、6830可以用作外部嵌入式UFS设备或可移除UFS卡。
在各UFS系统6500、6600、6700、6800中的主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可以通过UFS协议与例如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可以通过图1和图5所示的存储器系统110实施。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以以参照图11至图13描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730、6830可以以参照图10描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700、6800中,主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820,以及UFS卡6530、6630、6730、6830可以通过例如移动工业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)的UFS接口彼此通信。此外,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可以通过除UFS协议之外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议来彼此通信。
在图14所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可以包括UniPro。主机6510可以执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可以通过例如在UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可以通过在主机6510的UniPro处的链路层交换来与彼此通信。在本实施例中,为了便于描述,已经例示一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,多个UFS装置和UFS卡可以并联地或以星型形式连接到主机6410。星型形式是单个中央组件联接至多个装置以用于并行处理的一种布置。多个UFS卡可以并联地或以星型形式连接到UFS装置6520,或者串联地或以链型形式连接到UFS装置6520。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可以包括UniPro,并且主机6610可以通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640来与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可以通过在UniPro处的交换模块6640的链路层交换来与彼此通信。在本实施例中,为了便于描述,已经例示一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和UFS卡可以并联地或以星型形式连接到交换模块6640,并且多个UFS卡可以串联地或以链型形式连接到UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可以包括UniPro,并且主机6710可以通过执行交换操作的交换模块6740,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6740来与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可以通过在UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可以在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为了便于描述,已经例示一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,每个包括交换模块6740和UFS装置6720的多个模块可以并联地或以星型形式连接到主机6710,或者串联地或以链型形式连接到彼此。此外,多个UFS卡可以并联地或以星型形式连接到UFS装置6720。
在图17所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可以包括M-PHY和UniPro。UFS装置6820可以执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可以通过用于与主机6810通信的M-PHY和UniPro模块之间的交换操作和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可以通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为了便于描述,已经例示一个UFS装置6820连接到主机6810和一个UFS卡6830连接到UFS装置6820的配置。然而,多个UFS装置可以并联地或以星型形式连接到主机6810,或串联地或以链型形式连接到主机6810,并且多个UFS卡可以并联地或以星型形式连接到UFS装置6820,或者串联地或以链型形式连接到UFS装置6820。
图18是示意性地示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的示图。图18是示意性地示出应用根据实施例的存储器系统的用户系统的示图。
参照图18,用户系统6900可以包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动例如OS的用户系统6900中包括的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可以被设置为片上系统(SoC)。
存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可以基于POP(堆叠封装)被封装并安装。
网络模块6940可以与外部装置通信。例如,网络模块6940不仅可以支持有线通信,还可以支持诸如以下的各种无线通信协议:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置。网络模块6940可以包括在应用处理器6930中。
存储模块6950可以存储数据,例如从应用处理器6930接收的数据,并且然后可以将存储的数据传送到应用处理器6930。存储模块6950可以由诸如以下的非易失性半导体存储器装置实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3维NAND闪存,并且可以被设置为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可以对应于以上参照图1和图5描述的存储器系统110。此外,存储模块6950可以被实施为以上参照图12至图17描述的SSD、eMMC和UFS。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1和图5的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的全部操作。网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据。进而,用户接口6910可以支持从触摸面板接收数据的功能。
根据实施例的存储器系统及该存储器系统的操作方法可以最小化存储器系统的复杂性和性能劣化,并且最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。
虽然为了说明的目的已经描述了各个实施例,但是对于本领域技术人员将显而易见的是,在不脱离如权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和变型。
Claims (20)
1.一种存储器系统,包括:
存储器装置,包括多个页面和多个存储块,其中所述多个页面中存储数据,所述多个存储块中包括所述页面;以及
控制器,包括第一存储器,
其中所述控制器检查将在所述存储块中执行的操作,对与所述操作对应的队列进行排程,将所述第一存储器和主机中包括的第二存储器分配给与排程的队列对应的存储器区域,通过所述第一存储器和所述第二存储器中分配的所述存储器区域执行所述操作,并且将关于所述操作、所述队列和所述存储器区域的信息记录在表中。
2.根据权利要求1所述的存储器系统,其中所述控制器在为所述操作指定标识符后,将各所述标识符记录在所述表中。
3.根据权利要求1所述的存储器系统,其中所述控制器在给所述队列指定虚拟地址后,将所述队列的各索引记录在所述表中。
4.根据权利要求3所述的存储器系统,其中所述控制器将分配至所述第一存储器和所述第二存储器的所述存储器区域的地址记录在所述表中,并且将所述虚拟地址和所述存储器区域的地址进行映射。
5.根据权利要求4所述的存储器系统,其中所述控制器在通过所述虚拟地址访问所述队列时,将所述虚拟地址转换成所述存储器区域的地址。
6.根据权利要求1所述的存储器系统,
其中所述控制器检查对应于所述操作的执行的主机数据,并将包括所述主机数据的指示信息的响应消息传送至所述主机,并且
其中所述指示信息包括关于所述主机数据的类型的信息和关于所述主机数据的大小的信息。
7.根据权利要求6所述的存储器系统,其中所述主机检查所述响应消息中包括的所述指示信息,对应于所述指示信息将所述主机数据的存储器区域分配至所述第二存储器,并且将所述主机数据的读取命令传送至所述控制器。
8.根据权利要求7所述的存储器系统,
其中所述控制器将所述主机数据传送至所述主机作为对所述读取命令的响应,并且
其中所述主机数据包括对应于所述操作的执行的用户数据和映射数据中的至少一种,并被存储在分配至所述第二存储器的所述主机数据的存储器区域中。
9.根据权利要求8所述的存储器系统,其中所述控制器为所述主机数据的传送和存储指定标识符,将所述标识符存储在所述表中,对与所述主机数据对应的主机数据队列进行排程,将所述主机数据队列的索引记录在所述表中,检查分配至所述第二存储器的所述主机数据的存储器区域的地址,并且将所述主机数据的存储器区域的地址记录在所述表中。
10.根据权利要求8所述的存储器系统,其中所述控制器更新所述主机数据,将所述主机数据的更新消息传送至所述主机,并且在对应于所述更新消息从所述主机接收所述读取命令后将更新的主机数据传送至所述主机。
11.一种存储器系统的操作方法,包括:
针对包括多个页面和多个存储块的存储器装置,检查将在所述存储块中执行的操作,其中所述多个页面中存储数据,所述多个存储块中包括所述页面;
对与所述操作对应的队列进行排程;
将控制器中包括的第一存储器和主机中包括的第二存储器分配给与排程的队列对应的存储器区域;
通过所述第一存储器和所述第二存储器中分配的所述存储器区域执行所述操作;以及
将关于所述操作、所述队列和所述存储器区域的信息记录在表中。
12.根据权利要求11所述的方法,其中所述记录包括:
在为所述操作指定标识符后,将各所述标识符记录在所述表中。
13.根据权利要求11所述的方法,其中所述记录包括:
在给所述队列指定虚拟地址后,将所述队列的各索引记录在所述表中。
14.根据权利要求13所述的方法,其中所述记录包括:
将分配至所述第一存储器和所述第二存储器的所述存储器区域的地址记录在所述表中。
15.根据权利要求14所述的方法,进一步包括:
将所述虚拟地址和所述存储器区域的地址进行映射;以及
在通过所述虚拟地址访问所述队列时,将所述虚拟地址转换成所述存储器区域的地址。
16.根据权利要求11所述的方法,进一步包括:
检查对应于所述操作的执行的主机数据;以及
将包括所述主机数据的指示信息的响应消息传送至所述主机。
17.根据权利要求16所述的方法,进一步包括:
在对应于所述响应消息中包括的所述指示信息将所述主机数据的存储器区域分配至所述第二存储器后,从所述主机接收所述主机数据的读取命令;以及
将所述主机数据传送至所述主机作为对所述读取命令的响应。
18.根据权利要求17所述的方法,
其中所述主机数据的存储器区域通过所述主机被分配至所述第二存储器,
其中所述指示信息包括关于所述主机数据的类型的信息和关于所述主机数据的大小的信息;并且
其中所述主机数据包括对应于所述操作的执行的用户数据和映射数据中的至少一种,并被存储在分配至所述第二存储器的所述主机数据的存储器区域中。
19.根据权利要求18所述的方法,所述记录包括:
为所述主机数据的传送和存储指定标识符,并且将所述标识符存储在所述表中;
对与所述主机数据对应的主机数据队列进行排程,并且将所述主机数据队列的索引记录在所述表中;以及
检查分配至所述第二存储器的所述主机数据的存储器区域的地址,并且将所述主机数据的存储器区域的地址记录在所述表中。
20.根据权利要求18所述的方法,进一步包括:
更新所述主机数据,并且将所述主机数据的更新消息传送至所述主机;以及
在对应于所述更新消息从所述主机接收所述读取命令后将更新的主机数据传送至所述主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180027404A KR20190106228A (ko) | 2018-03-08 | 2018-03-08 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2018-0027404 | 2018-03-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110244907A true CN110244907A (zh) | 2019-09-17 |
Family
ID=67843946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811459570.1A Pending CN110244907A (zh) | 2018-03-08 | 2018-11-30 | 存储器系统及该存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190278518A1 (zh) |
KR (1) | KR20190106228A (zh) |
CN (1) | CN110244907A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113253912A (zh) * | 2020-02-13 | 2021-08-13 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN113467705A (zh) * | 2020-03-31 | 2021-10-01 | 西部数据技术公司 | 数据组块的增强读取 |
CN113835617A (zh) * | 2020-06-23 | 2021-12-24 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
CN113900582A (zh) * | 2020-06-22 | 2022-01-07 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
US11922026B2 (en) | 2022-02-16 | 2024-03-05 | T-Mobile Usa, Inc. | Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10789015B2 (en) * | 2019-03-01 | 2020-09-29 | Micron Technology, Inc. | Background operations in memory |
JP7074705B2 (ja) * | 2019-03-20 | 2022-05-24 | キオクシア株式会社 | メモリ装置及びメモリ装置の制御方法 |
US11416422B2 (en) | 2019-09-17 | 2022-08-16 | Micron Technology, Inc. | Memory chip having an integrated data mover |
US11397694B2 (en) | 2019-09-17 | 2022-07-26 | Micron Technology, Inc. | Memory chip connecting a system on a chip and an accelerator chip |
US20210081318A1 (en) * | 2019-09-17 | 2021-03-18 | Micron Technology, Inc. | Flexible provisioning of multi-tier memory |
US11163490B2 (en) | 2019-09-17 | 2021-11-02 | Micron Technology, Inc. | Programmable engine for data movement |
US11561912B2 (en) | 2020-06-01 | 2023-01-24 | Samsung Electronics Co., Ltd. | Host controller interface using multiple circular queue, and operating method thereof |
JP2022010951A (ja) * | 2020-06-29 | 2022-01-17 | キオクシア株式会社 | 半導体記憶装置 |
US11995327B2 (en) * | 2022-06-30 | 2024-05-28 | Western Digital Technologies, Inc. | Data storage device and method for adaptive host memory buffer allocation based on virtual function prioritization |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681952A (zh) * | 2012-05-12 | 2012-09-19 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法与存储设备 |
US20130046931A1 (en) * | 2011-08-15 | 2013-02-21 | International Business Machines Corporation | Optimizing locations of data accessed by client applications interacting with a storage system |
US20150153956A1 (en) * | 2009-06-03 | 2015-06-04 | Micron Technology, Inc. | Methods for controlling host memory access with memory devices and systems |
US20160026406A1 (en) * | 2014-06-05 | 2016-01-28 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for providing flexible host memory buffer |
CN105579977A (zh) * | 2014-09-01 | 2016-05-11 | 华为技术有限公司 | 访问文件的方法、装置及存储系统 |
US20160179392A1 (en) * | 2014-03-28 | 2016-06-23 | Panasonic Intellectual Property Management Co., Ltd. | Non-volatile memory device |
CN106055267A (zh) * | 2015-04-03 | 2016-10-26 | 爱思开海力士有限公司 | 包括主机命令队列的存储器控制器及操作其的方法 |
CN106710615A (zh) * | 2015-11-17 | 2017-05-24 | 爱思开海力士有限公司 | 存储器系统和存储器系统的操作方法 |
CN106776397A (zh) * | 2015-11-24 | 2017-05-31 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107562649A (zh) * | 2016-06-30 | 2018-01-09 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303384B1 (en) * | 2017-11-28 | 2019-05-28 | Western Digital Technologies, Inc. | Task readiness for queued storage tasks |
-
2018
- 2018-03-08 KR KR1020180027404A patent/KR20190106228A/ko unknown
- 2018-10-31 US US16/176,895 patent/US20190278518A1/en not_active Abandoned
- 2018-11-30 CN CN201811459570.1A patent/CN110244907A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150153956A1 (en) * | 2009-06-03 | 2015-06-04 | Micron Technology, Inc. | Methods for controlling host memory access with memory devices and systems |
US20130046931A1 (en) * | 2011-08-15 | 2013-02-21 | International Business Machines Corporation | Optimizing locations of data accessed by client applications interacting with a storage system |
CN102681952A (zh) * | 2012-05-12 | 2012-09-19 | 北京忆恒创源科技有限公司 | 将数据写入存储设备的方法与存储设备 |
US20160179392A1 (en) * | 2014-03-28 | 2016-06-23 | Panasonic Intellectual Property Management Co., Ltd. | Non-volatile memory device |
US20160026406A1 (en) * | 2014-06-05 | 2016-01-28 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for providing flexible host memory buffer |
CN105579977A (zh) * | 2014-09-01 | 2016-05-11 | 华为技术有限公司 | 访问文件的方法、装置及存储系统 |
CN106055267A (zh) * | 2015-04-03 | 2016-10-26 | 爱思开海力士有限公司 | 包括主机命令队列的存储器控制器及操作其的方法 |
CN106710615A (zh) * | 2015-11-17 | 2017-05-24 | 爱思开海力士有限公司 | 存储器系统和存储器系统的操作方法 |
CN106776397A (zh) * | 2015-11-24 | 2017-05-31 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107562649A (zh) * | 2016-06-30 | 2018-01-09 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113253912A (zh) * | 2020-02-13 | 2021-08-13 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN113253912B (zh) * | 2020-02-13 | 2023-07-25 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN113467705A (zh) * | 2020-03-31 | 2021-10-01 | 西部数据技术公司 | 数据组块的增强读取 |
CN113900582A (zh) * | 2020-06-22 | 2022-01-07 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
CN113835617A (zh) * | 2020-06-23 | 2021-12-24 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
US11922026B2 (en) | 2022-02-16 | 2024-03-05 | T-Mobile Usa, Inc. | Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network |
Also Published As
Publication number | Publication date |
---|---|
KR20190106228A (ko) | 2019-09-18 |
US20190278518A1 (en) | 2019-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110244907A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN108255739A (zh) | 存储器系统及其操作方法 | |
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN108733595A (zh) | 存储器系统、包括其的数据处理系统及其操作方法 | |
CN109947358A (zh) | 存储器系统及其操作方法 | |
CN109426449A (zh) | 存储器系统及其操作方法 | |
CN109144408A (zh) | 存储器系统及其操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN109656472A (zh) | 存储器系统及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN107346213A (zh) | 存储器系统及其操作方法 | |
CN107589906A (zh) | 存储器系统及其操作方法 | |
CN108241587A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN107818057A (zh) | 存储器系统及其操作方法 | |
CN107591182A (zh) | 存储器系统及其操作方法 | |
CN109656837A (zh) | 存储器系统及其操作方法 | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN110058797A (zh) | 存储器系统及其操作方法 | |
CN109032501A (zh) | 存储器系统及其操作方法 | |
CN109390003A (zh) | 存储器系统及其操作方法 | |
CN110473582A (zh) | 存储器系统及其操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN110347330A (zh) | 存储器系统及其操作方法 | |
CN110362270A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190917 |