CN110347330A - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN110347330A CN110347330A CN201811532876.5A CN201811532876A CN110347330A CN 110347330 A CN110347330 A CN 110347330A CN 201811532876 A CN201811532876 A CN 201811532876A CN 110347330 A CN110347330 A CN 110347330A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- stored
- mapped segments
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- 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
-
- 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/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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器***,该存储器***可包括:存储器装置,包括多个存储器管芯;以及控制器,包括存储器,并且被配置为:在将顺序用户数据的数据段存储在存储器中之后,通过交错将顺序用户数据的数据段顺序地存储在存储器管芯中;在对应于数据段在存储器管芯中的存储而更新较低层级映射数据的映射段之后,将较低层级映射数据的映射段存储在存储器的第一缓冲区域中;并且对应于较低层级映射数据的映射段的存储,将较高层级映射数据的映射段存储在存储器的第二缓冲区域中。
Description
相关申请的交叉引用
本申请要求于2018年4月2日提交的申请号为10-2018-0038190的韩国专利申请的优先权,其公开全文通过引用并入本文。
技术领域
本发明的各个示例性实施例总体涉及一种存储器***。特别地,实施例涉及一种处理与存储器装置相关的数据的存储器***及其操作方法。
背景技术
计算机环境范例已经朝向普适计算转变,允许在任何时间和任何地点使用计算***。因此,诸如移动电话、数码相机和笔记本电脑/膝上型计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器***来存储数据。存储器***可以用作便携式电子装置的主存储装置或辅助存储装置。
因为存储器***没有移动部件,所以它们可提供优良的稳定性、耐用性、高信息存取速度以及低功耗。具有这种优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态硬盘(SSD)。
发明内容
各个实施例涉及一种存储器***及其操作方法,其能够最小化存储器***的复杂性和性能劣化并最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。
在实施例中,存储器***可包括:存储器装置,包括多个存储器管芯;以及控制器,包括存储器,并且控制器被配置为:在将顺序用户数据的数据段存储在存储器中之后,通过交错将顺序用户数据的数据段顺序地存储在存储器管芯中;在对应于数据段在存储器管芯中的存储而更新较低层级映射数据的映射段之后,将较低层级映射数据的映射段存储在存储器的第一缓冲区域中;并且对应于较低层级映射数据的映射段的存储,将较高层级映射数据的映射段存储在存储器的第二缓冲区域中。
控制器可在第一周期中,在将顺序用户数据的第一数据段组存储在存储器中之后,通过交错将顺序用户数据的第一数据段组存储在存储器管芯中,并且控制器可在第一周期之后的第二周期中,在将顺序用户数据的第二数据段组存储在存储器中之后,通过交错将顺序用户数据的第二数据段组存储在存储器管芯中。
控制器可在对应于第一数据段组在存储器管芯中的存储而更新较低层级映射数据的第一较低层映射段组之后,将较低层级映射数据的第一较低层映射段组存储在第一缓冲区域中,并且控制器可将存储在第一缓冲区域中的第一较低层映射段组存储在存储器管芯中。
控制器可在对应于第一较低层映射段组在存储器管芯中的存储而更新较高层级映射数据的第一较高层映射段组之后,将较高层级映射数据的第一较高层映射段组存储在第二缓冲区域中,并且控制器可将存储在第二缓冲区域中的第一较高层映射段组存储在存储器管芯中。
控制器可对应于第二数据段组在存储器管芯中的存储而将存储在存储器管芯中的第一较高层映射段组加载到第二缓冲区域中,并且控制器可将加载到第二缓冲区域中的第一较高层映射段组复制到存储器的第三缓冲区域中。
控制器可在对应于第二数据段组在存储器管芯中的存储而更新较低层级映射数据的第二较低层映射段组之后,基于复制到第三缓冲区域的第一较高层映射段组将较低层级映射数据的第二较低层映射段组存储在第一缓冲区域中,并且控制器可将存储在第一缓冲区域中的第二较低层映射段组存储在存储器管芯中。
控制器可在对应于第二较低层映射段组在存储器管芯中的存储而更新较高层级映射数据的第二较高层映射段组之后,基于复制到第三缓冲区域中的第一较高层映射段组将较高层级映射数据的第二较高层映射段组存储在第三缓冲区域中,并且控制器可交换第二缓冲区域和第三缓冲区域。
当在第二周期中更新第二较低层映射段组时,在从主机接收到针对第一数据段组的读取命令的情况下,控制器可通过加载到第二缓冲区域中的第一较高层映射段组来检查第一较低层映射段组。
控制器可更新包括与映射段相关的开始位置信息和大小信息的较低层级映射数据和较高层级映射数据,并且可将更新的较低层级映射数据和较高层级映射数据存储在存储器管芯中。
控制器可通过通道交错、路(way)交错和存储器管芯交错中的至少一种交错来将数据段和映射段存储在存储器管芯中。
在实施例中,一种操作存储器***的方法,其中该存储器***包括多个存储器管芯和存储器,该方法可包括:在将顺序用户数据的数据段存储在存储器中之后,通过交错将顺序用户数据的数据段顺序地存储在存储器管芯中;在对应于数据段在存储器管芯中的存储而更新较低层级映射数据的映射段之后,将较低层级映射数据的映射段存储在存储器的第一缓冲区域中;并且对应于较低层级映射数据的映射段的存储,将较高层级映射数据的映射段存储在存储器的第二缓冲区域中。
数据段在存储器管芯中的存储可包括:在第一周期中,在将顺序用户数据的第一数据段组存储在存储器中之后,通过交错将顺序用户数据的第一数据段组存储在存储器管芯中;以及在第一周期之后的第二周期中,在将顺序用户数据的第二数据段组存储在存储器中之后,通过交错将顺序用户数据的第二数据段组存储在存储器管芯中。
存储在第一缓冲区域中可包括:在对应于第一数据段组在存储器管芯中的存储而更新较低层级映射数据的第一较低层映射段组之后,将较低层级映射数据的第一较低层映射段组存储在第一缓冲区域中;并且将存储在第一缓冲区域中的第一较低层映射段组存储在存储器管芯中。
存储在第二缓冲区域中可包括:在对应于第一较低层映射段组在存储器管芯中的存储而更新较高层级映射数据的第一较高层映射段组之后,将较高层级映射数据的第一较高层映射段组存储在第二缓冲区域中;并且将存储在第二缓冲区域中的第一较高层映射段组存储在存储器管芯中。
该方法可进一步包括:对应于第二数据段组在存储器管芯中的存储而将存储在存储器管芯中的第一较高层映射段组加载到第二缓冲区域中;并且将加载到第二缓冲区域中的第一较高层映射段组复制到存储器的第三缓冲区域中。
存储在第一缓冲区域可进一步包括:在对应于第二数据段组在存储器管芯中的存储而更新较低层级映射数据的第二较低层映射段组之后,基于复制到第三缓冲区域的第一较高层映射段组将较低层级映射数据的第二较低层映射段组存储在第一缓冲区域中;并且将存储在第一缓冲区域中的第二较低层映射段组存储在存储器管芯中。
该方法可进一步包括:在对应于第二较低层映射段组在存储器管芯中的存储而更新较高层级映射数据的第二较高层映射段组之后,基于复制到第三缓冲区域中的第一较高层映射段组将较高层级映射数据的第二较高层映射段组存储在第三缓冲区域中;并且交换第二缓冲区域和第三缓冲区域。
该方法可进一步包括:当在第二周期中更新第二较低层映射段组时,从主机接收针对第一数据段组的读取命令;并且通过加载到第二缓冲区域中的第一较高层映射段组来检查第一较低层映射段组。
该方法可进一步包括:更新包括与映射段相关的开始位置信息和大小信息的较低层级映射数据和较高层级映射数据,并且将更新的较低层级映射数据和较高层级映射数据存储在存储器管芯中。
该方法可进一步包括:通过通道交错、路交错和存储器管芯交错中的至少一种交错来将数据段和映射段存储在存储器管芯中。
在实施例中,存储器***可包括:存储器装置,包括多个存储器管芯;第一缓冲器和第二缓冲器;以及控制器,其被配置为:控制存储器装置执行编程操作:分别在第一周期和第二周期期间以交错方式将第一顺序用户数据和第二顺序用户数据存储到存储器管芯中;更新分别对应于第一顺序用户数据和第二顺序用户数据的第一映射数据和第二映射数据;并且更新指示存储在存储器管芯中的第一映射数据和第二映射数据的位置的第一映射位置数据和第二映射位置数据。控制器可通过以下步骤更新第一映射位置数据和第二映射位置数据:将第一映射位置数据加载到第一缓冲器中并更新所加载的第一映射位置数据;将第一映射位置数据加载到第二缓冲器中,并根据对存储在存储器管芯中的第二映射数据的更新将该第一映射位置数据更新为第二映射位置数据;并且将更新的第二映射位置数据重写(overwrite)到第一缓冲器中。
附图说明
从以下参照附图的详细描述中,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器***的数据处理***的框图;
图2是示出图1所示的存储器***中采用的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5至图9是示出根据实施例的存储器***中的数据处理操作的示意图的示例;
图10是描述根据实施例的在存储器***中处理数据的操作进程的流程图;
图11至图19是示意性示出根据本发明的各个实施例的图1所示的数据处理***的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应注意到,本发明可以不同的其它实施例、形式及其变型来实施,并不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将是彻底的且完整的,并将本发明充分地传达给本发明所属领域的技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记表示相同的部件。应注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语限制。这些术语用于区分一个元件与另一个元件。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之中的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式并且反之亦然。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量的具体细节。可在没有一些或全部这些具体细节的情况下实施本发明。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。
还应注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用,除非另有特别说明。
图1是示出根据本发明的实施例的包括存储器***110的数据处理***100的框图。
参照图1,数据处理***100可包括主机102和存储器***110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
存储器***110可以响应于主机102的请求来存储用于主机102的数据。存储器***110的非限制示例可包括固态硬盘(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型-MMC。SD卡可包括迷你-SD卡和微型-SD卡。
存储器***110可由各种类型的存储装置实施。包括在存储器***110中的非限制性存储装置的示例可包括诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可具有三维(3D)堆叠结构。
存储器***110可包括存储器装置150和控制器130。存储器装置150可为主机120存储数据,并且控制器130可控制到储器装置150中的数据存储。
控制器130和存储器装置150可集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器***中。
存储器***110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、建立数据中心的存储装置、能够在无线环境下传输/接收信息的装置、建立家庭网络的各种电子装置中的一个、建立计算机网络的各种电子装置中的一个、建立远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或建立计算***的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不提供电力,也可保留其中存储的数据。存储器装置150可通过写入操作存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出),每一存储器管芯包括多个平面(未示出),每一平面包括多个存储块152、154、156(在下文中,称为“存储块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可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供给存储器装置150的数据。存储器接口142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口142可支持控制器130和存储器装置150之间的数据传输。
存储器144可用作存储器***110和控制器130的工作存储器,并且存储用于驱动存储器***110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可通过易失性存储器来实施。例如,存储器144可通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器144。在实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器实施。
处理器134可控制存储器***110的全部操作。处理器134可驱动固件来控制存储器***110的全部操作。固件可被称为闪存转换层(FTL)。
在根据本公开的实施例的存储器***110中,例如,控制器130可在存储器装置150中执行与从主机102接收的多个命令相对应的多个命令操作。例如,控制器130可在存储器装置150中执行对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作和对应于多个擦除命令的多个擦除操作。对应于执行命令操作,控制器130可对元数据,特别是对映射数据执行映射更新操作和映射清除(flush)操作。
在根据本公开的实施例的存储器***110中,当在包括在存储器装置150中的多个存储器管芯中执行与从主机102接收的多个命令相对应的命令操作,例如编程操作、读取操作和擦除操作时,对应于分别在多个存储器管芯中执行的命令操作,控制器130可执行映射更新操作和映射清除操作。特别地,在对应于命令的数据是顺序数据的情况下,在执行顺序编程操作和顺序读取操作之后,控制器130可执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。在从主机102接收的命令模式是顺序模式的情况下,控制器130可执行顺序命令操作。特别地,在从主机102接收的写入命令模式是顺序写入模式的情况下,控制器130可对顺序数据执行顺序编程操作。在从主机102接收的读取命令模式是顺序读取模式的情况下,控制器130可对顺序数据执行顺序读取操作。
在根据本公开的实施例的存储器***110中,存储器装置150包括联接到多个通道和多个路的多个存储器管芯。在控制器130在存储器装置150的存储器管芯中执行命令操作的情况下,根据通道交错、路交错和存储器管芯交错来执行命令操作,并且对应于分别在多个存储器管芯中执行的命令操作来执行映射更新操作和映射清除操作。特别地,在对应于命令的数据是顺序数据的情况下,在根据交错在存储器装置150的存储器管芯中执行顺序编程操作和顺序读取操作之后,控制器130可执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。因为下面将参照图5至图10对根据交错对存储器装置150的存储器管芯执行的命令操作以及对应于执行命令操作的映射更新操作和映射清除操作进行详细描述,所以此处将省略对其的进一步描述。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行对在存储器装置150中包括的多个存储块152至156中,由于NAND闪速存储器的特性而在编程操作期间发生编程失败的坏块进行检查的坏块管理操作。管理单元可将坏块的编程失败数据写入新的存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器***110的可靠性。因此,坏块管理操作需要被更可靠地执行。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块BLK0至BLKN-1,并且存储块BLK0至BLKN-1中的每一个可包括例如2M个页面的多个页面,其数量可根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位或更多位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可包括多个三层单元(TLC),每个三层单元存储3位数据。在另一实施例中,存储器装置可包括多个四层单元(QLC),每个四层单元存储4位数据。
图3是示出存储器装置150中的存储块330的存储器单元阵列的示例性配置的电路图。
参照图3,存储块330可对应于包括在图1所示的存储器装置150中的多个存储块152至156中的任意存储块。存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可串联地被联接在源极选择晶体管SST和漏极选择晶体管DST之间。在实施例中,存储器单元晶体管MC0至MCn-1的每一个可通过能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可被电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。应注意的是,存储器单元可以是NOR闪速存储器单元或者包括在其中组合的两种或更多种存储器单元的混合闪速存储器单元。另外,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或是包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可进一步包括提供字线电压的电源310,字线电压包括根据操作模式供应至字线的编程电压、读取电压和通过电压。控制电路(未示出)可控制电源310的电压生成操作。在控制电路的控制下,电源310可选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且按需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作用于从存储块330的某个存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器(PB)322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)
图4是示出存储器装置150的示例性三维(3D)结构的示意图。
存储器150可由二维(2D)或3D存储器装置来实施。具体地,如
图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,多个存储块BLK0至BLKN-1中的每一个具有3D结构(或竖直结构)。
在下文中,将参照图5至图10详细描述与根据实施例的存储器***中的存储器装置150相关的数据处理操作。特别地,将更详细地描述当在存储器装置150中执行与从主机102接收的多个命令相对应的命令操作时的数据处理操作。
图5至图9是示出在对根据实施例的存储器***中的存储器装置执行前台操作和后台操作时的数据处理操作的示意图的示例。在本公开的实施例中,将以下列情况作为示例进行详细描述:对存储器装置150执行前台操作,例如与从主机102接收的多个命令相对应的多个命令操作,以及对存储器装置150执行后台操作,例如作为复制操作的垃圾收集操作或读取回收操作、作为交换(swap)操作的损耗均衡操作或者映射更新操作和映射清除操作。特别地,在本公开的实施例中,为便于说明,将以下列情况作为示例进行详细描述:在图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的存储块之中的空存储块、开放存储块或已执行擦除操作的空闲存储块中。而且,将包括L2P映射表或L2P映射列表的第一映射数据和包括P2L映射表或P2L映射列表的第二映射数据写入并存储在存储器装置150的存储块之中的空存储块、开放存储块或空闲存储块中,其中L2P映射表或L2P映射列表记录了作为存储在存储块中的用户数据的逻辑地址和物理地址之间的映射信息的逻辑信息,P2L映射表或P2L映射列表记录了作为存储有用户数据的存储块的物理地址和逻辑地址之间的映射信息的物理信息。
此处,在从主机102接收到写入命令的情况下,控制器130可将对应于写入命令的用户数据写入并存储在存储块中,并且可将包括存储在存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在存储块中。特别地,与存储在存储器装置150的存储块中的用户数据的数据段相对应,控制器130可生成并更新元数据的元段之中的第一映射数据的L2P段和第二映射数据的P2L段,以作为映射数据的映射段,然后可将第一映射数据的L2P段和第二映射数据的P2L段存储在存储器装置150的存储块中。存储在存储器装置150的存储块中的映射段被加载到包括在控制器130中的存储器144中,然后被更新。进一步地,对应于第一映射数据的L2P段和第二映射数据的P2L段的更新,控制器130可更新第三映射数据的映射段。第三映射数据的映射段成为包括与第一映射数据的L2P段和第二映射数据的P2L段相关的映射信息的映射段。也就是说,较高层级映射数据的映射段包括其中包括与较低层级映射数据的映射段相关的位置信息的映射信息。
进一步地,在从主机102接收多个读取命令的情况下,控制器130可从存储器装置150读取与读取命令相对应的读取数据,将读取数据存储在包括在控制器130的存储器144中的缓冲器/高速缓冲器中,并然后将存储在缓冲器/高速缓冲器中的数据提供给主机102,由此执行与多个读取命令相对应的读取操作。
另外,在从主机102接收多个擦除命令的情况下,控制器130可检查存储器装置150的、与擦除命令相对应的存储块,并然后对该存储块执行擦除操作。
当执行与从主机102接收的多个命令相对应的命令操作时,在执行后台操作,例如作为复制操作的垃圾收集操作或读取回收操作、作为交换操作的损耗均衡操作或者映射更新操作和映射清除操作的情况下,控制器130可将与后台操作相对应的数据,即将元数据和用户数据加载并存储在包括在控制器130的存储器144中的缓冲器/高速缓冲器中,然后将数据,元数据和用户数据存储在存储器装置150中。例如,当执行后台操作时,控制器130可检查存储器装置150的存储块中的、与后台操作相对应的元数据和用户数据,将存储在存储器装置150的特定存储块中的元数据和用户数据加载并存储到包括在控制器130的存储器144中的缓冲器/高速缓冲器中,然后可将元数据和用户数据存储在存储器装置150的其它特定存储块中。
特别地,在存储器***中,例如在图1所示的存储器***110中,根据本公开的实施例,存储器装置150可包括联接到多个通道和多个路的多个存储器管芯。在控制器130在存储器装置150的存储器管芯中执行命令操作的情况下,根据通道交错、路交错和存储器管芯交错来执行命令操作,并且对应于分别在多个存储器管芯中执行的命令操作来执行映射更新操作和映射清除操作。特别地,在对应于命令的数据是顺序数据的情况下,在根据交错在存储器装置150的存储器管芯中执行顺序编程操作和顺序读取操作之后,控制器130可执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。在下文中,将参照图5至图9详细描述根据实施例的存储器***中的数据处理操作。
参照图5,控制器130可执行与从主机102接收的多个命令相对应的命令操作,例如,与从主机102接收的多个写入命令相对应的编程操作。此时,控制器130可将对应于写入命令的用户数据编程并存储在存储器装置150的存储块(例如,图5的存储块Block0至Block7,其可对应于图1的多个存储块152至156)中。而且,对应于关于存储块的编程操作,控制器130可生成并更新用户数据的元数据,并将元数据存储在存储器装置150的存储块中。
控制器130可生成并更新第一映射数据和第二映射数据,该第一映射数据和第二映射数据包括指示用户数据被存储在包括在存储器装置150的存储块中的页面(例如,包括在图5的存储块Block0至Block7中的每一个中的页面Page0至Page11)中的信息。也就是说,控制器130可生成并更新L2P段作为第一映射数据的逻辑段,生成并更新P2L段作为第二映射数据的物理段,然后将L2P段和P2L段存储在包括在存储器装置150的存储块中的页面中。
例如,控制器130可将与从主机102接收的写入命令相对应的用户数据高速缓冲和缓冲在包括在控制器130的存储器144中的第一缓冲器510中。例如,在将用户数据的数据段512存储在作为数据缓冲器/数据高速缓冲器的第一缓冲器510中之后,控制器130可将存储在第一缓冲器510中的数据段512存储在包括在存储器装置150的存储块中的页面中。当与从主机102接收的写入命令相对应的用户数据的数据段512被编程并存储在包括在存储器装置150的存储块中的页面中时,控制器130可生成并更新第一映射数据和第二映射数据,并将第一映射数据和第二映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。例如,控制器130可将用户数据的第一映射数据的L2P段522和第二映射数据的P2L段524存储在作为映射缓冲器/映射高速缓冲器的第二缓冲器520中。在控制器130的存储器144中的第二缓冲器520中,可存储第一映射数据的L2P段522和第二映射数据的P2L段524,或者可存储第一映射数据的L2P段522的映射列表和第二映射数据的P2L段524的映射列表。控制器130可将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在包括在存储器装置150的存储块中的页面中。而且,控制器130可生成并更新第三映射数据,然后将第三映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中,其中在该第三映射数据中包括与第一映射数据的L2P段522相关的映射信息和与第二映射数据的P2L段524相关的映射信息。在第三映射数据的映射信息中,包括列表或表的形式的第一映射数据的L2P段522和第二映射数据的P2L段524的位置信息。也就是说,在第三映射数据中,可包括指示第一映射数据和第二映射数据的位置的映射信息。对应于第一映射数据和第二映射数据的更新,控制器130可更新存储在第二缓冲器520中的第三映射数据,并将存储在第二缓冲器520中的第三映射数据存储在包括在存储器装置150的存储块中的页面中。
并且,控制器130可执行与从主机102接收的多个命令相对应的命令操作,例如,与从主机102接收的多个读取命令相对应的读取操作。特别地,控制器130可将第一映射数据的L2P段522和第二映射数据的P2L段524作为与读取命令相对应的用户数据的映射段加载到第二缓冲器520中,并且检查L2P段522和P2L段524。然后,控制器130可读取存储在存储器装置150的存储块之中的相应存储块的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中,并且将数据段512提供给主机102。在这方面,控制器130可通过第三映射数据来检查第一映射数据的L2P段522和第二映射数据的P2L段524的映射信息,然后将第一映射数据的L2P段522和第二映射数据的P2L段524加载到第二缓冲器520中。
此外,控制器130可执行与从主机102接收的多个命令相对应的命令操作,例如,与从主机102接收的多个擦除命令相对应的擦除操作。特别地,控制器130可检查存储器装置150的存储块之中与擦除命令相对应的存储块,并且对检查到的存储块执行擦除操作。
当在包括在存储器装置150中的存储块之中执行复制数据或交换数据的操作,例如诸如垃圾收集操作、读取回收操作或损耗均衡操作的后台操作时,控制器130可将相应用户数据的数据段512存储在第一缓冲器510中,将对应于用户数据的映射数据的映射段522和524加载到第二缓冲器520中,并且然后执行垃圾收集操作、读取回收操作或损耗均衡操作。在对存储器装置150的存储块执行作为后台操作的、对元数据的映射更新操作和映射清除操作,例如对映射数据的映射更新操作和映射清除操作时,控制器130将相应映射段522和524加载到第二缓冲器520中,然后执行映射更新操作和映射清除操作。进一步地,对应于映射段522和524的映射更新操作和映射清除操作,控制器130可更新并存储第三映射数据。
特别地,在存储器装置150中执行编程操作和读取操作时,其中如上所述存储器装置150包括联接到多个通道和多个路的多个存储器管芯,控制器130可根据通道交错、路交错和存储器管芯交错来执行编程操作和读取操作,并且,对应于分别在多个存储器管芯中执行的命令操作,执行映射更新操作和映射清除操作。在对应于命令的数据是顺序数据的情况下,在根据交错在存储器装置150的存储器管芯中执行顺序编程操作和顺序读取操作之后,控制器130可执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。控制器130可将与顺序编程操作和顺序读取操作相对应的顺序用户数据存储在包括在控制器130的存储器144中的第一缓冲器510中,并且将与顺序编程操作和顺序读取操作相对应的顺序映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。
参照图6,存储器装置150可包括多个存储器管芯,例如,存储器管芯0(表示为“Die0”)、存储器管芯1(表示为“Die 1”)、存储器管芯2(表示为“Die 2”)以及存储器管芯3(表示为“Die 3”)。存储器管芯中的每一个可包括多个平面,例如,平面0(表示为“Plane0”)、平面1(表示为“Plane 1”)、平面2(表示为“Plane 2”)以及平面3(表示为“Plane 3”)。如上参照图2所述,包括在存储器装置150中的存储器管芯中的各个平面可包括多个存储块,例如,N个块Block0、Block1、……、BlockN-1,每一个块包括多个页面,例如,2M个页面。此外,存储器装置150可包括对应于各个存储器管芯的多个缓冲器,例如,对应于存储器管芯0的缓冲器0(表示为“Buffer0”)、对应于存储器管芯1的缓冲器1(表示为“Buffer 1”)、对应于存储器管芯2的缓冲器2(表示为“Buffer 2”)以及对应于存储器管芯3的缓冲器3(表示为“Buffer 3”)。
当执行与从主机102接收到的多个命令相对应的命令操作时,对应于命令操作的数据可被存储在包括在存储器装置150中的缓冲器中。例如,当执行编程操作时,对应于编程操作的数据可被存储在缓冲器中,然后可被存储在包括在存储器管芯的存储块中的页面中。当执行读取操作时,对应于读取操作的数据可被从包括在存储器管芯的存储块中的页面中读取,可被存储在缓冲器中,然后可通过控制器130而被提供给主机102。
虽然图6作为示例并出于说明的目的示出了包括在存储器装置150中的缓冲器存在于各个相应存储器管芯的外部,但本发明不限于此。也就是说,缓冲器可存在于各个相应存储器管芯的内部,并且应当注意的是,缓冲器可对应于各个存储器管芯中的各个平面或各个存储块。进一步地,在本公开的实施例中,虽然为了便于说明,在整个本说明书中作为示例描述了包括在存储器装置150中的缓冲器可对应于如以上参照图3描述的包括在存储器装置150中的多个页面缓冲器322、324和326,但应当注意的是,缓冲器可以是包括在存储器装置150中的多个高速缓冲器或多个寄存器。
而且,包括在存储器装置150中的多个存储块可被分组为多个超级存储块(未示出),并且可在多个超级存储块中执行命令操作。超级存储块中的每一个可包括多个存储块,例如包括在第一存储块组和第二存储块组中的存储块。在这方面,在第一存储块组被包括在特定第一存储器管芯的第一平面中的情况下,第二存储块组可被包括在第一存储器管芯的第一平面中、被包括在第一存储器管芯的第二平面或被包括在第二存储器管芯的平面中。在下文中,将通过参照图7至9的示例来对以下进行详细描述:在根据本公开的实施例的存储器***中,如上所述,在包括在存储器装置150中的多个存储器管芯中执行与从主机102接收的多个写入命令相对应的编程操作和与从主机102接收的多个读取命令相对应的读取操作,以及对应于编程操作和读取操作的执行,执行映射更新操作和映射清除操作。
参照图7,当从主机102接收到多个命令,例如多个写入命令、多个读取命令和多个擦除命令时,控制器130可在包括在存储器装置150中的多个存储器管芯(例如,图7中的存储器管芯Die 0、Die 1、Die 2和Die 3)中执行与从主机102接收的多个命令相对应的命令操作,例如编程操作、读取操作和擦除操作。包括在存储器装置150中的多个存储器管芯联接到多个通道(例如,图7中的通道Channel 0和Channel 1)和多个路(例如,图7中的路Way0和Way 1),并且控制器130可根据通道交错、路交错和存储器管芯交错,在包括在存储器装置150中的多个存储器管芯中执行与从主机102接收的多个命令相对应的命令操作。特别地,控制器130可根据交错在存储器装置150的存储器管芯中执行与从主机102接收的多个写入命令相对应的编程操作,根据交错在存储器装置150的存储器管芯中执行与从主机102接收的多个读取命令相对应的读取操作,并且对应于编程操作和读取操作的执行,在存储器装置150的存储器管芯中执行对映射数据的映射更新操作和映射清除操作。
详细地,根据通道交错、路交错和存储器管芯交错,控制器130可在包括在存储器装置150中的多个存储器管芯中执行与从主机102接收的写入命令相对应的编程操作。控制器130可将对应于编程操作的用户数据存储在包括在控制器130的存储器144中的第一缓冲器510中,并且将对应于编程操作的映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。根据通道交错、路交错和存储器管芯交错,控制器130可在包括在存储器装置150中的多个存储器管芯中执行与从主机102接收的读取命令相对应的读取操作。控制器130可将对应于读取操作的用户数据存储在包括在控制器130的存储器144中的第一缓冲器510中,并且将对应于读取操作的映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。
存储器装置150可包括联接到多个通道和多个路的多个存储器管芯,并且关于联接到各个存储器管芯的通道和路的索引信息可被包括在元数据中,然后可被存储在控制器130的存储器144和存储器装置150中。例如,在包括在存储器装置150中的存储器管芯之中,存储器管芯0(表示为“Die 0”)联接到通道0(表示为“Channel 0”)和路0(表示为“Way 0”),存储器管芯1(表示为“Die 1”)联接到通道1(表示为“Channel 1”)和路0,存储器管芯2(表示为“Die 2”)联接到通道0和路1(表示为“Way 1”),并且存储器管芯3(表示为“Die 3”)联接到通道1和路1。在下文中,详细描述了对包括在存储器装置150中的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3的编程操作和读取操作,以及对应于编程操作和读取操作的映射更新操作和映射清除操作。
换言之,在从主机102接收到多个写入命令时,控制器130可将对应于写入命令的用户数据存储在包括在控制器130的存储器144中的第一缓冲器510中,并且将存储在第一缓冲器510中的用户数据编程并存储在存储器装置150的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中。对应于存储在存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中的用户数据,控制器130可将映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。如上所述,第一映射数据和第二映射数据被存储在第二缓冲器520中。具体地,第一映射数据和第二映射数据的映射段被存储在第二缓冲器520中。此外,用于第一映射数据和第二映射数据的第三映射数据被存储在第二缓冲器520中。具体地,第三映射数据的映射段被存储在第二缓冲器520中。
在与从主机102接收的写入命令相对应的用户数据是顺序用户数据的情况下,即当从主机102接收的写入命令的模式是顺序写入模式时,控制器130可将对应于顺序用户数据的第一数据段712、第二数据段714、第三数据段716和第四数据段718存储在第一缓冲器510中。也就是说,顺序用户数据的数据段712、714、716和718可被存储在第一缓冲器510中。控制器130可将存储在第一缓冲器510中的第一数据段712、第二数据段714、第三数据段716和第四数据段718存储在存储器装置150的存储器管芯中。控制器130可根据通道交错、路交错和存储器管芯交错将第一数据段712、第二数据段714、第三数据段716和第四数据段718存储在存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中。在本公开的实施例中,为了便于解释,将作为示例描述控制器130根据通道交错、路交错和存储器管芯交错在存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中顺序地执行顺序编程操作。
即,控制器130可将存储在第一缓冲器510中的第一数据段712编程并存储在存储器装置150的存储器管芯0中,将存储在第一缓冲器510中的第二数据段714编程并存储在存储器装置150的存储器管芯1中,将存储在第一缓冲器510中的第三数据段716编程并存储在存储器装置150的存储器管芯2中,然后将存储在第一缓冲器510中的第四数据段718编程并存储在存储器装置150的存储器管芯3中。对应于存储在存储器管芯0中的第一数据段712,控制器130可生成并更新第一映射段722,然后将该第一映射段722清除(flush)并存储在存储器装置150的存储器管芯中。对应于存储在存储器管芯1中的第二数据段714,控制器130可生成并更新第二映射段724,然后将该第二映射段724清除并存储在存储器装置150的存储器管芯中。对应于存储在存储器管芯2中的第三数据段716,控制器130可生成并更新第三映射段726,然后将该第三映射段726清除并存储在存储器装置150的存储器管芯中。对应于存储在存储器管芯3中的第四数据段718,控制器130可生成并更新第四映射段728,然后将该第四映射段728清除并存储在存储器装置150的存储器管芯中。对应于存储在存储器装置150的存储器管芯中的数据段712、714、716和718而生成并更新的映射段722、724、726和728可被存储在第二缓冲器520中。
特别地,如上所述,控制器130可将与从主机102接收的多个写入命令相对应的用户数据和映射数据存储在存储器装置150的存储器管芯中。特别地,在与从主机102接收的写入命令相对应的用户数据是顺序用户数据时,在每一个周期中,控制器130可将用户数据的数据段编程并存储在存储器装置150的存储器管芯中,并且生成并更新映射数据的映射段,并且将映射段清除并存储在存储器装置150的存储器管芯中。例如,在第一周期中,控制器130将存储在第一缓冲器510中的第一数据段712、第二数据段714、第三数据段716和第四数据段718顺序地编程并存储在存储器装置150的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中,并且顺序地生成并更新第一映射段722、第二映射段724、第三映射段726和第四映射段728,然后将第一映射段722、第二映射段724、第三映射段726和第四映射段728清除并存储在存储器装置150的存储器管芯中。控制器130可在第一周期中更新用于第一映射段722、第二映射段724、第三映射段726和第四映射段728的第三映射数据。特别地,对应于在第一周期中对第一映射段722、第二映射段724、第三映射段726和第四映射段728的映射更新操作和映射清除操作,控制器130可更新并然后存储第三映射数据(在下文中,称为“第一周期第三映射数据”)。因为包括与第一映射数据和第二映射数据相关的位置信息的映射信息被包括在第三映射数据中,所以第三映射数据的映射段包括指示第一映射段722、第二映射段724、第三映射段726和第四映射段728的位置的映射信息。第三映射数据的映射段可被存储在存储器144的第二缓冲器520中,然后可被清除并存储在存储器装置150的存储器管芯中。在第一周期之后的第二周期中,控制器130可将用户数据的数据段编程并存储在存储器装置150的存储器管芯中,并且生成并更新映射数据的映射段,然后将该映射段清除并存储在存储器装置150的存储器管芯中。
也就是说,参照图8,当与从主机102接收的写入命令相对应的用户数据是顺序用户数据时,在第二周期中,控制器130可将对应于顺序用户数据的第五数据段812、第六数据段814、第七数据段816和第八数据段818存储在第一缓冲器510中。在第一缓冲器510中,可以存储顺序用户数据的数据段812、814、816和818。控制器130可将存储在第一缓冲器510中的第五数据段812、第六数据段814、第七数据段816和第八数据段818存储在存储器装置150的存储器管芯中。根据通道交错、路交错和存储器管芯交错,控制器130可将第五数据段812、第六数据段814、第七数据段816和第八数据段818顺序地编程并存储在存储器管芯0(表示为Die 0)、存储器管芯1(表示为Die 1)、存储器管芯2(表示为Die 2)和存储器管芯3(表示为Die 3)中。
即,在第二周期中,控制器130可将存储在第一缓冲器510中的第五数据段812编程并存储在存储器装置150的存储器管芯0中,将存储在第一缓冲器510中的第六数据段814编程并存储在存储器装置150的存储器管芯1中,将存储在第一缓冲器510中的第七数据段816编程并存储在存储器装置150的存储器管芯2中,然后将存储在第一缓冲器510中的第八数据段818编程并存储在存储器装置150的存储器管芯3中。在第二周期中,对应于存储在存储器管芯0中的第五数据段812,控制器130可生成并更新第五映射段822,然后将该第五映射段822清除并存储在存储器装置150的存储器管芯中。在第二周期中,对应于存储在存储器管芯1中的第六数据段814,控制器130可生成并更新第六映射段824,然后将该第六映射段824清除并存储在存储器装置150的存储器管芯中。在第二周期中,对应于存储在存储器管芯2中的第七数据段816,控制器130可生成并更新第七映射段826,然后将该第七映射段826清除并存储在存储器装置150的存储器管芯中。在第二周期中,对应于存储在存储器管芯3中的第八数据段818,控制器130可生成并更新第八映射段828,然后将该第八映射段828清除并存储在存储器装置150的存储器管芯中。对应于存储在存储器装置150的存储器管芯中的数据段812、814、816和818而生成并更新的映射段822、824、826和828可被存储在第二缓冲器520中。
也就是说,在第二周期中,控制器130可将存储在第一缓冲器510中的第五数据段812、第六数据段814、第七数据段816和第八数据段818顺序地编程并存储在存储器装置150的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中,并且顺序地生成并更新第五映射段822、第六映射段824、第七映射段826和第八映射段828,然后将第五映射段822、第六映射段824、第七映射段826和第八映射段828清除并存储在存储器装置150的存储器管芯中。控制器130可在第二周期中更新用于第五映射段822、第六映射段824、第七映射段826和第八映射段828的第三映射数据。特别地,对应于在第二周期中对第五映射段822、第六映射段824、第七映射段826和第八映射段828的映射更新操作和映射清除操作,控制器130可更新并然后存储第三映射数据(在下文中,称为“第二周期第三映射数据”)。因为包括与第一映射数据和第二映射数据相关的位置信息的映射信息被包括在第三映射数据中,所以第三映射数据的映射段包括指示第五映射段822、第六映射段824、第七映射段826和第八映射段828的位置的映射信息。第三映射数据的映射段可被存储在存储器144的第二缓冲器520中,然后可被清除并存储在存储器装置150的存储器管芯中。
特别地,当更新第二周期第三映射数据时,控制器130将第一周期第三映射数据加载到存储器144的第二缓冲器520中,检查第一周期第三映射数据的映射段,并且对第二周期第三映射数据执行映射更新操作。在更新第一周期第三映射数据和第二周期第三映射数据之后,控制器130将更新的第一周期第三映射数据和第二周期第三映射数据清除并存储在存储器装置150的存储器管芯中。在下文中,将参照图9进行详细描述,其中图9示出了以下示例:在根据实施例的存储器***中,在存储器装置150的存储器管芯中执行与从主机102接收的命令相对应的命令操作,然后对应于命令操作的执行,执行映射更新操作和映射清除操作。
参照图9,如上所述,在第一周期中,控制器130可将存储在第一缓冲器510中的第一数据段712、第二数据段714、第三数据段716和第四数据段718顺序地编程并存储在存储器装置150的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中,并且顺序地生成并更新第一映射段722、第二映射段724、第三映射段726和第四映射段728。然后,控制器130可将映射段722、724、726和728清除并存储在存储器装置150的存储器管芯中。在对应于第一周期中的映射更新操作和映射清除操作,对第一映射段722、第二映射段724、第三映射段726和第四映射段728执行映射更新操作和映射清除操作之后,控制器130可更新第三映射数据。控制器130可在第一周期中更新第三映射数据的映射段,并且将第一周期第三映射数据的映射段清除并存储在存储器装置150的存储器管芯中,其中在第三映射数据中,映射信息作为与第一映射段722、第二映射段724、第三映射段726和第四映射段728相关的位置信息。当在第二周期中执行映射更新操作和映射清除操作时,控制器130可将第一周期第三映射数据的映射段加载到存储器144的第二缓冲器520中,然后检查第一周期第三映射数据的映射段。
例如,当从主机102接收到多个写入命令时,控制器130可执行对应于写入命令的编程操作。在这方面,控制器130可在存储器144中分配第一缓冲器510和第二缓冲器520,将用户数据的数据段存储在第一缓冲器510中,并且将映射数据的映射段存储在第二缓冲器520中。控制器130可在存储器144的第二缓冲器520中分配映射缓冲区域。特别地,控制器130可分配存储第一映射数据和第二映射数据的映射段的第一映射缓冲区域910,以及存储第三映射数据的映射段的第二映射缓冲区域920和第三映射缓冲区域930。
在第一周期中执行映射更新操作和映射清除操作之后,即在第一周期中更新第一映射段722、第二映射段724、第三映射段726和第四映射段728并将第一映射段722、第二映射段724、第三映射段726和第四映射段728清除并存储在存储器装置150的存储器管芯中之后,控制器130可更新第一周期第三映射数据的映射段,并且将更新的第一周期第三映射数据的映射段存储在存储器装置150的存储器管芯中。在第二周期中将数据段812、814、816和818顺序地编程并存储在存储器装置150的存储器管芯中之后,当在第二周期中执行映射更新操作和映射清除操作时,控制器130可将第一周期第三映射数据的映射段加载到第二缓冲器520中,然后在第二周期中执行映射更新操作和映射清除操作。
特别地,控制器130可将第一周期第三映射数据的映射段加载到第二缓冲器520的第二缓冲区域920中,并且将被加载到第二缓冲区域920中的第一周期第三映射数据的映射段922和924复制并加载到第三缓冲区域930中。被加载到第三缓冲区域930中的第一周期第三映射数据的映射段932和934成为被加载到第二缓冲区域920中的第一周期第三映射数据的映射段922和924的备份复制数据。为了在第二周期中执行映射更新操作,控制器130可检查被加载到第三缓冲区域930中的第一周期第三映射数据的映射段932和934,将第一映射数据和第二映射数据的映射段822、824、826和828加载到第二缓冲器520的第一缓冲区域910中,对被加载到第一缓冲区域910中的第一映射数据和第二映射数据的映射段822、824、826和828执行映射更新操作,并且将更新的第一映射数据和第二映射数据的映射段822、824、826和828清除并存储在存储器装置150的存储器管芯中。
在例如如上所述,在第一周期和第二周期中执行顺序编程操作或第一周期和第二周期中的数据是顺序数据或具有相同的逻辑信息(例如,逻辑地址或逻辑编号)的数据的情况下,控制器130可通过第一周期第三映射数据的映射段922、924、932和934来检查在第二周期中更新的第一映射数据和第二映射数据的映射段822、824、826和828。因此,在将第一周期第三映射数据的映射段922、924、932和934加载到第二缓冲区域920和第三缓冲区域930中之后,控制器130可通过被加载在第二缓冲区域920和第三缓冲区域930中的第一周期第三映射数据的映射段922、924、932和934来检查第一映射数据和第二映射数据的映射段822、824、826和828,然后将第一映射数据和第二映射数据的映射段822、824、826和828加载并更新到第一缓冲区域910中。
对应于第二周期中的映射更新操作和映射清除操作,即对应于对存储在第一缓冲区域910中的第一映射数据和第二映射数据的映射段822、824、826和828的映射更新操作和映射清除操作,控制器130可更新第二周期第三映射数据。控制器130可通过被加载到第三缓冲区域930中的第一周期第三映射数据的映射段932和934,对第二周期第三映射数据执行映射更新操作。特别地,控制器130可通过更新被加载到第三缓冲区域930中的第一周期第三映射数据的映射段932和934来对第二周期第三映射数据执行映射更新操作。
当在第二周期中执行映射更新操作的同时从主机102接收到读取命令时,特别是当接收到针对在第一周期或第二周期中执行了编程操作的用户数据的读取命令时,控制器130可检查被加载到第二缓冲区域920中的第一周期第三映射数据的映射段922和924,通过被加载到第二缓冲区域920中的第一周期第三映射数据的映射段922和924来检查对应于读取命令的用户数据的第一映射数据和第二映射数据的映射段,读取存储在存储器装置150的存储器管芯中的用户数据,并且将读取的用户数据提供给主机102。控制器130可通过被加载到第二缓冲区域920中的第一周期第三映射数据的映射段922和924执行读取操作。特别地,经由通过在正常地执行编程操作之后被完全更新的第一周期第三映射数据的映射段922和924来执行读取操作,可正常地执行读取操作。
在通过被加载到第三缓冲区域930中的第一周期第三映射数据的映射段932和934对第二周期第三映射数据的映射段执行映射更新操作之后,控制器130可交换第二缓冲区域920和第三缓冲区域930,并且将被加载到第二缓冲区域920和第三缓冲区域930中的第三映射数据的映射段清除并存储在存储器装置150的存储器管芯中。通过交换,控制器130可利用被加载到第三缓冲区域930中的第三映射数据的映射段932和934来更新被加载到第二缓冲区域920中的第三映射数据的映射段922和924。因此,第二周期第三映射数据的映射段可被加载到第二缓冲区域920和第三缓冲区域930中。
如上所述,在第一周期中存储在存储器装置150的存储器管芯中的数据段712、714、716和718以及在第二周期中存储在存储器装置150的存储器管芯中的数据段812、814、816和818成为与顺序写入模式的写入命令相对应的顺序用户数据的数据段。因此,通过顺序编程操作,控制器130可将在第一周期中将数据段712、714、716和718并且在第二周期中将数据段812、814、816和818存储在存储器装置150的存储器管芯中,并且对应于顺序编程操作对顺序映射数据执行映射更新操作和映射清除操作。也就是说,通过经由第二缓冲区域920和第三缓冲区域930更新的第一周期第三映射数据的映射段和第二周期第三映射数据的映射段,控制器130可检查到第一周期中的映射段722、724、726和728以及第二周期中的映射段822、824、826和828是顺序映射数据的映射段,并且更新第一周期和第二周期中的第一映射数据和第二映射数据的映射段。
根据本发明的实施例,控制器130不仅可对第一周期和第二周期中的第一映射数据和第二映射数据的映射段执行顺序映射更新操作,还可对第一周期和第二周期中的第三映射数据的映射段执行顺序映射更新操作。因此,第一周期和第二周期中的第一映射数据、第二映射数据和第三映射数据可包括开始位置信息和大小信息,并且还可包括计数信息和偏移信息。控制器130可针对第一周期和第二周期中的第一映射数据、第二映射数据和第三映射数据的所有映射段,更新包括开始位置信息和大小信息的顺序映射数据,然后,将更新的顺序映射数据存储在存储器装置150的存储器管芯中。特别地,控制器130可通过映射重新格式化操作或映射压缩操作,针对第一周期和第二周期中的第一映射数据、第二映射数据和第三映射数据的所有映射段、一些映射段或每一个映射段,更新包括开始位置信息和大小信息的顺序映射数据,然后,将更新的顺序映射数据存储在存储器装置150的存储器管芯中。
因此,在根据本公开的实施例的存储器***中,当在存储器装置150的存储器管芯中执行与从主机102接收的多个命令相对应的命令操作时,可对应于命令操作的执行来对映射数据的映射段执行映射更新操作和映射清除操作。特别地,通过在控制器130的存储器144中通过加载包括与映射数据的映射段相关的位置信息的映射数据来执行映射更新操作,可最小化在执行顺序命令操作和映射更新操作时在存储器管芯中导致的障碍,从而可提高存储器***中的操作性能。在下文中,将参照图10详细描述根据本公开的实施例的用于在存储器***中处理数据的操作。
图10是描述根据实施例的用于在存储器***中处理数据的操作进程的流程图。
参照图10,在步骤1010中,在从主机102接收到多个命令之后,存储器***110可检查从主机102接收的命令的模式,并且在存储器装置150的存储器管芯中执行与从主机102接收的命令相对应的命令操作。从主机102接收的命令的模式可被检查为顺序模式。特别地,从主机102接收的写入命令可被检查为顺序模式的写入命令。
在步骤1020中,存储器***110可向控制器130的存储器144分配用于对应于从主机102接收的命令和命令操作的映射数据的映射段的映射缓冲区域。
然后,在步骤1030中,存储器***110可对映射数据的映射段执行映射更新操作和映射清除操作。在步骤1040中,对应于映射更新操作和映射清除操作的执行,在更新包括映射段的位置信息的映射数据之后,通过交换映射缓冲区域来更新被加载到映射缓冲区域中的映射数据的映射段。
因为以上参照图5至图9,对对应于与从主机102接收的多个命令相对应的命令操作的执行的映射更新操作和映射清除操作进行了详细描述,因此此处将省略对其的进一步描述。在下文中,将参照图11至图19,对应用了根据实施例的包括以上参照图1至图10描述的存储器装置150和控制器130的存储器***110的数据处理***和电子设备进行详细描述。
图11至图19是示意性示出图1的数据处理***的应用示例的简图。
图11是示意性地示出包括根据本实施例的存储器***的数据处理***的另一示例的图。图11示意性示出应用了根据本实施例的存储器***的存储卡***。
参照图11,存储卡***6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接到通过非易失性存储器实施的存储器装置6130,并被配置为访问存储器装置6130。例如,存储器控制器6120可被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置为提供存储器装置6130和主机之间的接口并驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1和图5描述的存储器***110的控制器130,并且存储器装置6130可对应于参照图1和图5描述的存储器***110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正部件。存储器控制器130可进一步包括图5所示的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置为通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA,并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI以及蓝牙等。因此,根据本实施例的存储器***和数据处理***可应用于有线/无线电子装置,或者特别是应用于移动电子装置。
存储器装置6130可由易失性存储器来实施。例如,存储器装置6130可由诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁阻RAM(STT-MRAM)。存储器装置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)。
图12是示意性地示出包括根据本实施例的存储器***的数据处理***的另一示例的图。
参照图12,数据处理***6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如图12所示的数据处理***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可根据CPU6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在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码、turbo码、里德-所罗门(RS)码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据/从主机6210接收数据,并通过NVM接口6225向存储器装置6230传输数据/从存储器装置6230接收数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可具有使用诸如WiFi或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/从外部装置接收数据。特别地,由于存储器控制器6220被配置为通过各种通信协议中的一种或多种与外部装置进行通信,因此根据本实施例的存储器***和数据处理***可应用于有线/无线电子装置或特别是移动电子装置。
图13是示意性示出包括根据本实施例的存储器***的数据处理***的另一示例的简图。图13示意性示出应用了根据本实施例的存储器***的SSD。
参照图13,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器***110中的控制器130,并且存储器装置6340可对应于图1和图5的存储器***中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图12示出了缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1和图5的存储器***110的多个SSD 6300来实施数据处理***,例如,RAID(独立磁盘冗余阵列)***。此时,RAID***可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息,来选择一个或多个存储器***或SSD 6300,并将对应于写入命令的数据输出到选择的SSD6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息,来选择一个或多个存储器***或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图14是示意性示出包括根据本实施例的存储器***的数据处理***的另一示例的简图。图14示意性示出应用根据本实施例的存储器***的嵌入式多媒体卡(eMMC)。
参照图14,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图5的存储器***110中的控制器130,并且存储器装置6440可对应于图1和图5的存储器***110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可作为并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可作为串行接口,例如UHS((超高速)-I/UHS-II)接口。
图15至图18是示意性示出包括根据本实施例的存储器***的数据处理***的其它示例的简图。图15至图18示意性示出应用根据本实施例的存储器***的UFS(通用闪速存储)***。
参照图15至图18,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可参照图12至图14描述的数据处理***6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可参照图11描述的存储卡***6100的形式来实施。
而且,在UFS***6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)来彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你-SD和微型-SD彼此通信。
在图15所示的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。
在图16所示的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。
在图17所示的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。
在图18所示的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。
图19是示意性示出包括根据实施例的存储器***的数据处理***的另一示例的简图。图19是示意性示出应用根据本实施例的存储器***的用户***的简图。
参照图19,用户***6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户***6900中的诸如OS的部件,并且包括控制包括在用户***6900中的部件的控制器、接口和图形引擎。应用处理器6930可被设置为片上***(SoC)。
存储器模块6920可用作用户***6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,可基于POP(堆叠封装)来封装并安装应用处理器6930和存储器模块6920。
网络模块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闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户***6900的存储卡或外部驱动器的可移动存储介质。存储模块6950可对应于参照图1和图5描述的存储器***110。此外,存储模块6950可被实施为如上参照图13至图18所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和马达的用户输出接口。
此外,当图1和图5的存储器***110被应用于用户***6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据,或支持从触摸面板接收数据的功能。
根据实施例的存储器***及其操作方法可以最小化存储器***的复杂性和性能劣化并且最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和变型。
Claims (20)
1.一种存储器***,包括:
存储器装置,包括多个存储器管芯;以及
控制器,包括存储器,并且所述控制器:
在将顺序用户数据的数据段存储在所述存储器中之后,通过交错将所述顺序用户数据的数据段顺序地存储在所述存储器管芯中;
在对应于所述数据段在所述存储器管芯中的存储而更新较低层级映射数据的映射段之后,将所述较低层级映射数据的映射段存储在所述存储器的第一缓冲区域中;并且
对应于所述较低层级映射数据的映射段的存储,将较高层级映射数据的映射段存储在所述存储器的第二缓冲区域中。
2.根据权利要求1所述的存储器***,
其中所述控制器在第一周期中,在将所述顺序用户数据的第一数据段组存储在所述存储器中之后,通过交错将所述顺序用户数据的所述第一数据段组存储在所述存储器管芯中,并且
其中所述控制器在所述第一周期之后的第二周期中,在将所述顺序用户数据的第二数据段组存储在所述存储器中之后,通过交错将所述顺序用户数据的所述第二数据段组存储在所述存储器管芯中。
3.根据权利要求2所述的存储器***,
其中所述控制器在对应于所述第一数据段组在所述存储器管芯中的存储而更新所述较低层级映射数据的第一较低层映射段组之后,将所述较低层级映射数据的所述第一较低层映射段组存储在所述第一缓冲区域中,并且
其中所述控制器将存储在所述第一缓冲区域中的所述第一较低层映射段组存储在所述存储器管芯中。
4.根据权利要求3所述的存储器***,
其中所述控制器在对应于所述第一较低层映射段组在所述存储器管芯中的存储而更新所述较高层级映射数据的第一较高层映射段组之后,将所述较高层级映射数据的第一较高层映射段组存储在所述第二缓冲区域中,并且
其中所述控制器将存储在所述第二缓冲区域中的所述第一较高层映射段组存储在所述存储器管芯中。
5.根据权利要求4所述的存储器***,
其中所述控制器对应于所述第二数据段组在所述存储器管芯中的存储而将存储在所述存储器管芯中的所述第一较高层映射段组加载到所述第二缓冲区域中,并且
其中所述控制器将加载到所述第二缓冲区域中的所述第一较高层映射段组复制到所述存储器的第三缓冲区域中。
6.根据权利要求5所述的存储器***,
其中所述控制器在对应于所述第二数据段组在所述存储器管芯中的存储而更新所述较低层级映射数据的第二较低层映射段组之后,基于复制到所述第三缓冲区域的所述第一较高层映射段组将所述较低层级映射数据的所述第二较低层映射段组存储在所述第一缓冲区域中,并且
其中所述控制器将存储在所述第一缓冲区域中的所述第二较低层映射段组存储在所述存储器管芯中。
7.根据权利要求6所述的存储器***,
其中所述控制器在对应于所述第二较低层映射段组在所述存储器管芯中的存储而更新所述较高层级映射数据的第二较高层映射段组之后,基于复制到所述第三缓冲区域的所述第一较高层映射段组将所述较高层级映射数据的所述第二较高层映射段组存储在所述第三缓冲区域中,并且
其中所述控制器交换所述第二缓冲区域和所述第三缓冲区域。
8.根据权利要求7所述的存储器***,其中当在所述第二周期中更新所述第二较低层映射段组时,在从所述主机接收到针对所述第一数据段组的读取命令的情况下,所述控制器通过加载到所述第二缓冲区域中的所述第一较高层映射段组来检查所述第一较低层映射段组。
9.根据权利要求1所述的存储器***,其中所述控制器更新包括与所述映射段相关的开始位置信息和大小信息的所述较低层级映射数据和所述较高层级映射数据,并且将所更新的较低层级映射数据和较高层级映射数据存储在所述存储器管芯中。
10.根据权利要求1所述的存储器***,其中所述控制器通过通道交错、路交错和存储器管芯交错中的至少一种交错来将所述数据段和所述映射段存储在所述存储器管芯中。
11.一种操作存储器***的方法,所述存储器***包括多个存储器管芯和存储器,所述方法包括:
在将顺序用户数据的数据段存储在所述存储器中之后,通过交错将所述顺序用户数据的数据段顺序地存储在所述存储器管芯中;
在对应于所述数据段在所述存储器管芯中的存储而更新较低层级映射数据的映射段之后,将所述较低层级映射数据的所述映射段存储在所述存储器的第一缓冲区域中;并且
对应于所述较低层级映射数据的所述映射段的存储,将较高层级映射数据的映射段存储在所述存储器的第二缓冲区域中。
12.根据权利要求11所述的方法,其中将所述数据段存储在所述存储器管芯中包括:
在第一周期中,在将所述顺序用户数据的第一数据段组存储在所述存储器中之后,通过交错将所述顺序用户数据的所述第一数据段组存储在所述存储器管芯中;并且
在所述第一周期之后的第二周期中,在将所述顺序用户数据的第二数据段组存储在所述存储器中之后,通过交错将所述顺序用户数据的所述第二数据段组存储在所述存储器管芯中。
13.根据权利要求12所述的方法,其中存储在所述第一缓冲区域中包括:
在对应于所述第一数据段组在所述存储器管芯中的存储而更新所述较低层级映射数据的第一较低层映射段组之后,将所述较低层级映射数据的所述第一较低层映射段组存储在所述第一缓冲区域中;并且
将存储在所述第一缓冲区域中的所述第一较低层映射段组存储在所述存储器管芯中。
14.根据权利要求13所述的方法,其中存储在所述第二缓冲区域中包括:
在对应于所述第一较低层映射段组在所述存储器管芯中的存储而更新所述较高层级映射数据的第一较高层映射段组之后,将所述较高层级映射数据的所述第一较高层映射段组存储在所述第二缓冲区域中;并且
将存储在所述第二缓冲区域中的所述第一较高层映射段组存储在所述存储器管芯中。
15.根据权利要求14所述的方法,进一步包括:
对应于所述第二数据段组在所述存储器管芯中的存储而将存储在所述存储器管芯中的所述第一较高层映射段组加载到所述第二缓冲区域中;并且
将加载到所述第二缓冲区域中的所述第一较高层映射段组复制到所述存储器的第三缓冲区域中。
16.根据权利要求15所述的方法,其中存储在所述第一缓冲区域中进一步包括:
在对应于所述第二数据段组在所述存储器管芯中的存储而更新所述较低层级映射数据的第二较低层映射段组之后,基于复制到所述第三缓冲区域的所述第一较高层映射段组将所述较低层级映射数据的所述第二较低层映射段组存储在所述第一缓冲区域中;并且
将存储在所述第一缓冲区域中的所述第二较低层映射段组存储在所述存储器管芯中。
17.根据权利要求16所述的方法,进一步包括:
在对应于所述第二较低层映射段组在所述存储器管芯中的存储而更新所述较高层级映射数据的第二较高层映射段组之后,基于复制到所述第三缓冲区域中的所述第一较高层映射段组将所述较高层级映射数据的所述第二较高层映射段组存储在所述第三缓冲区域中;并且
交换所述第二缓冲区域和所述第三缓冲区域。
18.根据权利要求17所述的方法,进一步包括:
当在所述第二周期中更新所述第二较低层映射段组时,从所述主机接收针对所述第一数据段组的读取命令;并且
通过加载到所述第二缓冲区域中的所述第一较高层映射段组来检查所述第一较低层映射段组。
19.根据权利要求11所述的方法,进一步包括:更新包括与所述映射段相关的开始位置信息和大小信息的所述较低层级映射数据和所述较高层级映射数据,并且将所更新的较低层级映射数据和较高层级映射数据存储在所述存储器管芯中。
20.根据权利要求11所述的方法,进一步包括:
通过通道交错、路交错和存储器管芯交错中的至少一种交错来将所述数据段和所述映射段存储在所述存储器管芯中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180038190A KR102605609B1 (ko) | 2018-04-02 | 2018-04-02 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2018-0038190 | 2018-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347330A true CN110347330A (zh) | 2019-10-18 |
CN110347330B CN110347330B (zh) | 2023-08-01 |
Family
ID=68054531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811532876.5A Active CN110347330B (zh) | 2018-04-02 | 2018-12-14 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10956320B2 (zh) |
KR (1) | KR102605609B1 (zh) |
CN (1) | CN110347330B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678478B2 (en) * | 2018-08-24 | 2020-06-09 | Apple Inc. | Ordering memory requests based on access efficiency |
US11435944B2 (en) * | 2019-07-24 | 2022-09-06 | Micron Technology, Inc. | Dynamic memory address write policy translation based on performance needs |
KR102653235B1 (ko) * | 2019-10-16 | 2024-04-01 | 에스케이하이닉스 주식회사 | 메모리 블록을 효율적으로 관리할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 |
US11249896B2 (en) | 2019-12-20 | 2022-02-15 | Micron Technology, Inc. | Logical-to-physical mapping of data groups with data locality |
KR20210121446A (ko) * | 2020-03-30 | 2021-10-08 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 파괴 방법 |
KR20210151372A (ko) * | 2020-06-05 | 2021-12-14 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11809714B2 (en) * | 2021-02-26 | 2023-11-07 | Micron Technology, Inc. | Effective storage allocation for sequentially-written memory devices |
US20230141409A1 (en) * | 2021-11-11 | 2023-05-11 | Samsung Electronics Co., Ltd. | Storage device and operating method thereof |
US11775207B2 (en) * | 2022-02-15 | 2023-10-03 | Micron Technology, Inc. | Techniques to perform a write operation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173874A1 (en) * | 2011-12-30 | 2013-07-04 | Steven Sprouse | System and Method for Pre-interleaving Sequential Data |
US20140379959A1 (en) * | 2013-06-25 | 2014-12-25 | Lsi Corporation | Map recycling acceleration |
EP3115904A1 (en) * | 2015-07-06 | 2017-01-11 | Alcatel Lucent | Method for managing a distributed cache |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
CN106909521A (zh) * | 2015-12-23 | 2017-06-30 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090026941A (ko) * | 2007-09-11 | 2009-03-16 | 삼성전자주식회사 | 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치 |
US8335907B2 (en) | 2009-12-30 | 2012-12-18 | Sandisk Technologies Inc. | Micro-update architecture for address tables |
KR101482013B1 (ko) | 2012-05-30 | 2015-01-14 | 한국외국어대학교 연구산학협력단 | 플래시 메모리 기반 저장 시스템의 변환 테이블인 메타데이터 데이터 업데이트 방법 및 장치 |
US9158689B2 (en) | 2013-02-11 | 2015-10-13 | Empire Technology Development Llc | Aggregating cache eviction notifications to a directory |
CN104216837A (zh) | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存***、内存访问请求的处理方法和计算机*** |
-
2018
- 2018-04-02 KR KR1020180038190A patent/KR102605609B1/ko active IP Right Grant
- 2018-11-06 US US16/182,134 patent/US10956320B2/en active Active
- 2018-12-14 CN CN201811532876.5A patent/CN110347330B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173874A1 (en) * | 2011-12-30 | 2013-07-04 | Steven Sprouse | System and Method for Pre-interleaving Sequential Data |
US20140379959A1 (en) * | 2013-06-25 | 2014-12-25 | Lsi Corporation | Map recycling acceleration |
EP3115904A1 (en) * | 2015-07-06 | 2017-01-11 | Alcatel Lucent | Method for managing a distributed cache |
CN106909521A (zh) * | 2015-12-23 | 2017-06-30 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110347330B (zh) | 2023-08-01 |
US10956320B2 (en) | 2021-03-23 |
KR20190115310A (ko) | 2019-10-11 |
KR102605609B1 (ko) | 2023-11-28 |
US20190303293A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347330A (zh) | 存储器***及其操作方法 | |
CN108572927A (zh) | 存储器***及其操作方法 | |
CN107643985A (zh) | 存储器***及其操作方法 | |
CN110399311A (zh) | 存储器***及该存储器***的操作方法 | |
CN109388594A (zh) | 存储器***及其操作方法 | |
CN109947358A (zh) | 存储器***及其操作方法 | |
CN109656472A (zh) | 存储器***及其操作方法 | |
CN107346213A (zh) | 存储器***及其操作方法 | |
CN110244907A (zh) | 存储器***及该存储器***的操作方法 | |
CN109426449A (zh) | 存储器***及其操作方法 | |
CN107918566A (zh) | 存储器***及其操作方法 | |
CN107589906A (zh) | 存储器***及其操作方法 | |
CN110321069A (zh) | 存储器***及其操作方法 | |
CN109521947A (zh) | 存储器***以及存储器***的操作方法 | |
CN109524044A (zh) | 存储器***及其操作方法 | |
CN110473582A (zh) | 存储器***及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN107450845A (zh) | 存储器***及其操作方法 | |
CN108108308A (zh) | 存储器***及其操作方法 | |
CN109032501A (zh) | 存储器***及其操作方法 | |
CN109271328A (zh) | 存储器***及其操作方法 | |
CN110362270A (zh) | 存储器***及其操作方法 | |
CN108932203A (zh) | 数据处理***和数据处理方法 | |
CN110457230A (zh) | 存储器***及其操作方法 | |
CN108932202A (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 |