CN116107917A - 存储设备和操作方法 - Google Patents
存储设备和操作方法 Download PDFInfo
- Publication number
- CN116107917A CN116107917A CN202211409033.2A CN202211409033A CN116107917A CN 116107917 A CN116107917 A CN 116107917A CN 202211409033 A CN202211409033 A CN 202211409033A CN 116107917 A CN116107917 A CN 116107917A
- Authority
- CN
- China
- Prior art keywords
- mapping
- information
- mapping table
- accelerator
- update
- 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
Images
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/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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
- 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)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种存储设备,包括:非易失性存储器;以及存储控制器,包括处理器、加速器和存储器,该存储器存储包括映射表的闪存转换层,该映射表包括逻辑页码和物理页码之间的映射信息。处理器可以向非易失性存储器提供命令,并向加速器提供第一映射更新大小中的第一映射更新信息。在更新映射表的映射信息时,加速器可以针对逻辑页码更新映射信息,并检查第一映射更新信息的连续性。
Description
相关申请的交叉引用
本申请要求于2021年11月11日提交的韩国专利申请No.10-2021-0154782和于2021年12月30日提交的韩国专利申请No.10-2021-0193333的优先权,其全部共同主题通过引用合并于此。
技术领域
本发明构思总体上涉及存储设备及其操作方法。
背景技术
存储设备和包括该存储设备的存储***可以包括映射表,该映射表用于将主机环境中使用的逻辑存储器地址关联(或“映射”)到非易失性存储器件环境中使用的对应物理存储器地址。即,控制非易失性存储器件(例如,闪存器件)的存储控制器可以使用映射表将逻辑存储器地址转换为物理存储器地址,并将物理地址转换为逻辑存储器地址。
然而,在使用映射表进行地址转换的过程中,逻辑页码(LPN)和/或物理页码(PPN)的某些映射信息可能会改变。如果发生这种情况,映射表可能会被冗余地访问以获取包括已经更新的映射信息的条目,并且因此可能执行不必要的读取/写入操作。并且因此,存储设备的操作性能可能会降低。
发明内容
本发明构思的实施例提供了展现出改善的整体操作性能的存储设备。
本发明构思的实施例还提供了能够改善操作性能的操作存储设备的方法。
根据本发明构思的实施例,一种存储设备可以包括:非易失性存储器;以及存储控制器,包括处理器、加速器和存储器,该存储器存储包括映射表的闪存转换层,该映射表包括逻辑页码和物理页码之间的映射信息,其中,处理器向非易失性存储器提供命令,并向加速器提供第一映射更新大小中的第一映射更新信息,并且在更新映射表的映射信息时,加速器可以被配置为针对逻辑页码更新映射信息,并检查第一映射更新信息的连续性。
根据本发明构思的实施例,一种存储设备可以包括:非易失性存储器;以及存储控制器,包括处理器、加速器和存储器,该存储器存储包括映射表的闪存转换层,该映射表包括逻辑页码和物理页码之间的映射信息,其中,处理器被配置为向非易失性存储器提供命令,并向加速器提供第一映射更新大小中的第一映射更新信息,映射表包括由逻辑页码索引的第一映射表条目至第N映射表条目,加速器被配置为读取第一映射表条目至第N映射表条目,并且在更新映射表的映射信息时,加速器还被配置为更新与第一映射更新大小中包括的第一映射更新信息中的逻辑页码相对应的映射信息,并检查第一映射更新信息的连续性。
根据本发明构思的实施例,一种操作存储设备的方法可以包括:使用处理器向加速器传送第一映射更新大小中包括的第一映射更新信息,使用加速器访问包括第一映射表条目至第N映射表条目的映射表,使用加速器确定映射表中包括的第一映射表条目至第N映射表条目的映射信息是否超过第一映射更新大小,以及当第一映射表条目至第N映射表条目的映射信息超过第一映射更新大小时,使用加速器通过从第(N-1)映射表条目开始倒序地读取映射表条目来检查第一映射更新信息的连续性。
附图说明
通过结合附图考虑以下详细描述,可以理解本发明构思的优点、益处、方面和特征以及产生和使用,在附图中:
图1是示出了根据本发明构思的实施例的存储***的框图;
图2是进一步示出了图1的存储控制器和非易失性存储器(NVM)的框图;
图3是示出了图1的存储控制器、存储器接口和NVM的框图;
图4是进一步示出了图3的NVM的框图;
图5是示出了根据本发明构思的实施例的适用于NVM的三维(3D)竖直NAND(VNAND)结构的部分电路图;
图6是进一步示出了图1的处理器的框图;
图7是进一步示出了图1的加速器的框图;
图8和图9是示出了根据本发明构思的实施例的存储设备的操作的相应的概念图;
图10是示出了根据本发明构思的实施例的存储设备的操作的流程图;以及
图11是示出了根据本发明构思的实施例的可以包括存储设备的数据中心的框图。
具体实施例
在整个书面描述和附图中,相似的附图标记和标签用于表示相似或类似的元件、组件、特征和/或方法步骤。
图1是示出了根据本发明构思的实施例的存储***的框图。
存储***10通常可以包括主机设备100和存储设备200,其中,存储设备200包括存储控制器210和非易失性存储器(NVM)220。在一些实施例中,主机设备100可以包括主机控制器110和主机存储器120。主机存储器120可以用作缓冲存储器,该缓冲存储器被配置为暂时存储向存储设备200传送(例如,发送)/从存储设备200传送(例如,接收)的数据。
存储设备200可以包括存储介质,该存储介质被配置为响应于从主机100接收到的一个或多个请求来存储数据。例如,存储设备200可以包括固态驱动器(SSD)、嵌入式存储器和可移动外部存储器中的至少一种。
当存储设备200是SSD时,存储设备200可以是其操作符合NVMe标准的设备。当存储设备200是嵌入式存储器或外部存储器时,存储设备200可以是其操作符合通用闪存(UFS)标准或嵌入式多媒体卡(eMMC)标准的设备。主机100和存储设备200中的每一个可以被配置为根据一种或多种标准数据通信协议生成和传送一个或多个分组。
当存储设备200的NVM 220包括闪存时,该闪存可以包括二维(2D)NAND存储器阵列或三维(3D)(或竖直)NAND(VNAND)存储器阵列。备选地或附加地,存储设备200可以包括各种其他类型的NVM,例如,磁性随机存取存储器(RAM)(MRAM)、自旋转移矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FRAM)、相位RAM(PRAM)和电阻RAM(RRAM)。
在一些实施例中,主机控制器110和主机存储器120可以体现为单独的半导体芯片。备选地,主机控制器110和主机存储器120可以集成到单个半导体芯片中。作为示例,主机控制器110可以是应用处理器(AP)中包括的多个模块中的任何一个。在一些实施例中,AP可以体现为片上***(SOC)。此外,主机存储器120可以是AP中包括的嵌入式存储器或位于AP外部的NVM或存储器模块。
主机控制器110可以用于管理由存储设备200结合主机存储器120执行的各种数据访问操作(例如,读取操作、写入操作和擦除操作)。即,写入数据(例如,要被编程到NVM 220的数据)可以从主机存储器120传送到存储设备200,并且读取数据(例如,从NVM 220检索的数据)可以从存储设备200传送到主机存储器120。
存储控制器210可以包括主机接口211、存储器接口212和处理器213。此外,存储控制器210还可以包括闪存转换层(FTL)214、分组管理器215、缓冲存储器216、纠错码(ECC)引擎217和高级加密标准(AES)引擎218。
存储控制器210还可以包括可以加载FTL 213的工作存储器(未示出)。处理器213可以使用FTL 214来控制由NVM 220执行的写入操作和读取操作。
主机接口211可以与主机100传送分组。从主机100向主机接口211传送的分组可以包括命令和/或写入数据。从主机接口211向主机100传送的分组可以包括读取数据。
存储器接口212可以促进存储控制器210和NVM 220之间的数据传送。因此,可以根据一种或多种标准数据通信协议(例如,切换(Toggle)或开放式NAND闪存接口(ONFI))来配置存储器接口216。
FTL 214可以执行各种功能,例如,地址映射操作、磨损均衡操作和垃圾收集操作。地址映射操作可以是将从主机100接收到的逻辑地址转换为用于在NVM 220中实际存储数据的物理地址的操作。磨损均衡操作可以通过将数据访问操作更均匀地分布在NVM 220的存储块上来实现抑制对特定块的过度使用的方法。在一些实施例中,磨损均衡操作可以使用固件来实现,该固件在一定范围的存储块上平衡擦除计数。垃圾收集操作可以通过从现有块复制有效数据然后擦除现有块以形成新块来实现确保NVM 220的可用数据存储容量的方法。
分组管理器215可以根据与主机100兼容的接口协议生成分组,和/或根据从主机100接收到的分组来解析各种类型的信息。另外,缓冲存储器216可以暂时存储要写入NVM220的写入数据或从NVM 220检索的读取数据。缓冲存储器216可以是存储控制器210中包括的组件,或者备选地,缓冲存储器216可以设置在存储控制器21O的外部。
ECC引擎217可以用于对从NVM 220检索的读取数据执行错误检测和/或校正操作。即,ECC引擎217可以生成用于要写入NVM 220的写入数据的奇偶校验比特,并且可以将所生成的奇偶校验比特与写入数据一起存储在NVM 220中。在后续读取操作期间,ECC引擎217可以使用从NVM 220读取的奇偶校验比特以及读取数据来检测和/或纠正读取数据中的错误,以提供纠错后的读取数据。
AES引擎218可以使用对称密钥算法对输入到存储控制器210的数据执行加密操作和解密操作中的至少一种。
加速器219可以用于在处理器213和FTL 214之间改变映射表214a中的逻辑页码(LPN)和物理页码(PPN)的映射信息,以及改变映射信息的连续性信息。
在一些实施例中,加速器219可以体现在硬件中,并包括在存储控制器210中。然而,实施例不限于此,并且加速器219可以备选地体现在由处理器213执行的软件中。
在下文中将更详细地描述加速器219的操作。
图2是在一个实施例中进一步示出了图1的存储设备200的框图。
参照图2,存储设备200可以包括NVM 220和存储控制器210。存储设备200可以支持多个沟道CH1至CHm,并且可以通过多个沟道CH1至CHm连接NVM 220和存储控制器210。例如,存储设备200可以体现为存储设备,例如,SSD。
NVM 220可以包括多个NVM器件NVM11至NVMmn。NVM器件NVM11至NVMmn中的每一个可以通过与其相对应的线路连接到多个沟道CH1至CHm中的一个沟道。例如,NVM器件NVM11至NVM1n可以通过线路W11至W1n连接到第一沟道CH1,并且NVM器件NVM21至NVM2n可以通过线路W21至W2n连接到第二沟道CH2。在一些实施例中,NVM器件NVM11至NVMmn中的每一个可以体现为可以根据来自存储控制器210的单独命令进行操作的任意存储器单元。例如,NVM器件NVM11至NVMmn中的每一个可以体现为芯片或管芯,但本发明构思不限于此。
存储控制器210可以通过多个沟道CH1至CHm向NVM 220传送信号/从NVM 220传送信号。例如,存储控制器210可以通过沟道CH1至CHm向NVM 220传送命令CMDa至CMDm、地址ADDRa至ADDRm、以及数据DATAa至DATAm,或者从NVM 220传送数据DATAa至DATAm。
存储控制器210可以使用沟道CH1至CHm中的一个对应沟道来选择NVM器件中的与沟道CH1至CHm中的每一个连接的一个NVM器件,并且向所选NVM器件传送信号/从所选NVM器件传送信号。例如,存储控制器210可以从NVM器件NVM11至NVM1n中选择与第一沟道CH1连接的NVM器件NVM11。存储控制器210可以通过第一沟道CH1向所选NVM器件NVM11传送命令CMDa、地址ADDRa和数据DATAa,或者从所选NVM器件NVM11传送数据DATAa。
存储控制器210可以通过不同的沟道并行地向NVM 220传送信号/从NVM 220传送信号。例如,存储控制器210可以通过第二沟道CH2向NVM 220传送命令CMDb,而通过第一沟道CH1向NVM 220传送命令CMDa。例如,存储控制器210可以通过第二沟道CH2从NVM 220传送数据DATAb,而通过第一沟道CH1从NVM 220接收数据DATAa。
存储控制器210可以控制NVM 220的整体操作。存储控制器210可以向沟道CH1至CHm传送信号,并控制与沟道CH1至CHm连接的NVM器件NVM11至NVMmn中的每一个。例如,存储控制器210可以向第一沟道CH1传送命令CMDa和地址ADDRa,并控制从NVM器件NVM11至NVM1n中选择的一个NVM器件。
NVM器件NVM11至NVMmn中的每一个可以在存储控制器210的控制下操作。例如,NVM器件NVM11可以基于向第一沟道CH1提供的命令CMDa、地址ADDRa和数据DATAa对数据DATAa进行编程。例如,NVM器件NVM21可以基于向第二沟道CH2提供的命令CMDb和地址ADDb来读取数据DATAb,并向存储控制器210传送所读取的数据DATAb。
尽管图2假设了NVM 220通过“m个”沟道与存储控制器210进行通信并且包括与沟道中的每一个沟道相对应的“n个”NVM器件的示例,但沟道的数量以及与一个沟道连接的NVM器件的数量可以因设计而变化。
图3是在一个示例中进一步示出了图1的存储控制器210和NVM 220的框图。在一些实施例中,图1的存储器接口212可以包括如图3所示的控制器接口电路212a。
NVM 220可以包括例如第一引脚P11至第八引脚P18、存储器接口电路212b、控制逻辑电路510和存储器单元阵列520。
存储器接口电路212b可以通过第一引脚P11从存储控制器210传送芯片使能信号nCE。存储器接口电路212b可以根据芯片使能信号nCE的状态,通过第二引脚P12至第八引脚P18向存储控制器210传送信号/从存储控制器210传送信号。例如,当芯片使能信号nCE处于使能状态(例如,低电平)时,存储器接口电路212b可以通过第二引脚P12至第八引脚P18向存储控制器210传送信号/从存储控制器210传送信号。
存储器接口电路212b可以通过第二引脚P12至第四引脚P14从存储控制器210传送命令锁存使能信号CLE、地址锁存使能信号ALE和写使能信号nWE。存储器接口电路212b可以通过第七引脚P17从存储控制器210传送数据信号DQ,或者向存储控制器210传送数据信号DQ。可以经由数据信号DQ来传送命令CMD、地址ADDR和数据DATA。例如,可以通过多条数据信号线传送数据信号DQ。在这种情况下,第七引脚P17可以包括分别对应于多个数据信号DQ的多个引脚。在这种情况下,第七引脚P17可以包括分别对应于多个数据信号的多个引脚。
存储器接口电路212b可以从数据信号DQ接收命令CMD,该命令CMD基于写使能信号nWE的切换时间点,在命令锁存使能信号CLE的使能部分(例如,高电平状态)中被传送。存储器接口电路212b可以从数据信号DQ接收地址ADDR,该地址ADDR基于写使能信号nWE的切换时间点,在地址锁存使能信号ALE的使能部分(例如,高电平状态)中被传送。
在一些实施例中,写使能信号nWE可以维持在静态(例如,高电平或低电平),并且在高电平和低电平之间切换。例如,写使能信号nWE可以在传送命令CMD或地址ADDR的部分中进行切换。因此,存储器接口电路212b可以基于写使能信号nWE的切换时间点来接收命令CMD或地址ADDR。
存储器接口电路212b可以通过第五引脚P15从存储控制器210传送读使能信号nRE。存储器接口电路212b可以通过第六引脚P16从存储控制器210传送数据选通信号DQS,或者向存储控制器210传送数据选通信号DQS。
在由NVM 220执行的读取操作期间,存储器接口电路212b可以在输出数据DATA之前传送通过第五引脚P15进行切换的读使能信号nRE。存储器接口电路212b可以生成基于读使能信号nRE的切换而切换的数据选通信号DQS。例如,存储器接口电路212b可以生成基于读使能信号nRE的切换开始时间而在预定延迟(例如,tDQSRE)之后开始切换的数据选通信号DQS。存储器接口电路212b可以基于数据选通信号DQS的切换时间点传送包括数据DATA的数据信号DQ。因此,数据DATA可以与数据选通信号DQS的切换时间点对齐,并向存储控制器210传送。
在由NVM 220执行的写入操作期间,当从存储控制器210传送包括数据DATA的数据信号DQ时,存储器接口电路212b可以传送切换的数据选通信号DQS以及来自存储控制器210的数据DATA。存储器接口电路212b可以基于数据选通信号DQS的切换时间点从数据信号DQ接收数据DATA。例如,存储器接口电路212b可以在数据选通信号DQS的上升沿/下降沿处对数据信号DQ进行采样,以接收数据DATA。
存储器接口电路212b可以通过第八引脚P18向存储控制器210传送就绪/忙碌输出信号nR/B。存储器接口电路212b可以通过就绪/忙碌输出信号nR/B向存储控制器210传送NVM 220的状态信息。当NVM 220处于忙碌状态时(例如,当NVM 220正在执行操作时),存储器接口电路212b可以向存储控制器210传送指示忙碌状态的就绪/忙碌输出信号nR/B。当NVM 220处于就绪状态时(例如,当NVM 220未执行操作时),存储器接口电路212b可以向存储控制器210传送指示就绪状态的就绪/忙碌输出信号nR/B。
例如,当NVM 220响应于页面读取命令从存储器单元阵列520读取数据DATA时,存储器接口电路212b可以向存储控制器210传送指示忙碌状态(例如,低电平)的就绪/忙碌输出信号nR/B。备选地,当NVM 220响应于编程命令将数据DATA编程到存储器单元阵列520时,存储器接口电路212b可以向存储控制器210传送指示忙碌状态的就绪/忙碌输出信号nR/B。
控制逻辑电路510可以控制NVM 220的整体操作。控制逻辑电路510可以传送从存储器接口电路212b接收到的命令CMD/地址ADDR。控制逻辑电路510可以响应于所传送的命令CMD/地址ADDR生成用于控制NVM 220的其他组件的控制信号。例如,控制逻辑电路510可以生成用于将数据DATA编程到存储器单元阵列520或从存储器单元阵列520读取数据DATA的各种控制信号。
存储器单元阵列520可以在控制逻辑电路510的控制下存储从存储器接口电路212b接收到的数据DATA。存储器单元阵列520可以在控制逻辑电路510的控制下将所存储的数据DATA输出到存储器接口电路212b。
存储器单元阵列520可以包括多个存储器单元。例如,多个存储器单元可以包括闪存单元、RRAM单元、FRAM单元、PRAM单元、TRAM单元和MRAM单元中的至少一种。在下文中,所示实施例假设使用NAND闪存单元。
存储控制器210可以包括第一引脚P21至第八引脚P28以及控制器接口电路212a。第一引脚P21至第八引脚P28可以分别对应于NVM 220的第一引脚P11至第八引脚P18。
控制器接口电路212a可以通过第一引脚P21向NVM 220传送芯片使能信号nCE。控制器接口电路212a可以通过第二引脚P22至第八引脚P28向NVM 220传送/从NVM 220传送由芯片使能信号nCE选择的信号。
控制器接口电路212a可以通过第二引脚P22至第四引脚P24向NVM 220传送命令锁存使能信号CLE、地址锁存使能信号ALE和写使能信号nWE。控制器接口电路212a可以通过第七引脚P27向NVM 220传送/从NVM 220传送数据信号DQ。
控制器接口电路212a可以向NVM 220传送包括命令CMD或地址ADDR的数据信号DQ以及切换的写使能信号nWE。控制器接口电路212a可以通过传送具有使能状态的命令锁存使能信号CLE来向NVM 220传送包括命令CMD的数据信号DQ。控制器接口电路212a可以通过传送具有使能状态的地址锁存使能信号ALE来向NVM 220传送包括地址ADDR的数据信号DQ。
控制器接口电路212a可以通过第五引脚P25向NVM 220传送读使能信号nRE。控制器接口电路212a可以通过第六引脚P26从NVM 220传送/向NVM 220传送数据选通信号DQS。
在由NVM 220执行的读取操作期间,控制器接口电路212a可以生成切换的读使能信号nRE,并向NVM 220传送读使能信号nRE。例如,在输出读取数据之前,控制器接口电路212a可以生成从静态(例如,高电平或低电平)改变为切换状态的读使能信号nRE。因此,NVM220可以基于读使能信号nRE生成切换的数据选通信号DQS。控制器接口电路212a可以从NVM220接收包括数据DATA的数据信号DQ以及切换的数据选通信号DQS。控制器接口电路212a可以基于数据选通信号DQS的切换时间点从数据信号DQ接收数据DATA。
在由NVM 220执行的写入操作期间,控制器接口电路212a可以生成切换的数据选通信号DQS。例如,在传送写入数据之前,控制器接口电路212a可以生成从静态(例如,高电平或低电平)改变为切换状态的数据选通信号DQS。控制器接口电路212a可以基于数据选通信号DQS的切换时间点向NVM 220传送包括数据DATA的数据信号DQ。
控制器接口电路212a可以通过第八引脚P28从NVM 220接收就绪/忙碌输出信号nR/B。控制器接口电路212a可以基于就绪/忙碌输出信号nR/B来确定NVM 220的状态信息。
图4是在一个实施例中进一步示出了图3的NVM 220的框图。
参照图4,NVM 220可以包括控制逻辑电路510、存储器单元阵列520、页缓冲器单元550、电压发生器530和行解码器540。尽管图4中未示出,NVM 220还可以包括图3所示的存储器接口电路212b。另外,NVM 220还可以包括列逻辑、预解码器、温度传感器、命令解码器、地址解码器等。
控制逻辑电路510可以控制由NVM 220执行的所有各种操作。控制逻辑电路510可以响应于从图3的存储器接口电路212b接收到的命令CMD和/或地址ADDR来输出各种控制信号。例如,控制逻辑电路510可以输出电压控制信号CTRL_yol、行地址X-ADDR和列地址Y-ADDR。
存储器单元阵列520可以包括多个存储块BLK1至BLKz,其中,“z”是正整数,多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。存储器单元阵列520可以通过位线BL连接到页缓冲器单元550,并通过字线WL、串选择线SSL和地选择线GSL连接到行解码器540。
在一些实施例中,存储器单元阵列520可以包括3D存储器单元阵列,该3D存储器单元阵列包括多个NAND串。NAND串中的每一个可以包括分别与竖直堆叠在衬底上的字线连接的存储器单元。在一些实施例中,存储器单元阵列520可以包括2D存储器单元阵列,该2D存储器单元阵列包括沿行方向和列方向布置的多个NAND串。
页缓冲器单元550可以包括多个页缓冲器PB1至PBn,其中,“n”是大于2的整数,多个页缓冲器PB1至PBn可以通过多条位线BL分别连接到存储器单元。页缓冲器单元550可以响应于列地址Y-ADDR选择位线BL中的至少一条位线。页缓冲器单元550可以根据操作模式用作写入驱动器或读出放大器。例如,在写入(或编程)操作期间,页缓冲器单元550可以将与要被编程的数据相对应的位线电压施加到所选位线。在读取操作期间,页缓冲器单元550可以读出所选位线BL的电流或电压,并读出存储器单元中存储的数据。
电压发生器530可以基于电压控制信号CTRL_vol生成用于编程、读取和擦除操作的各种电压。例如,电压发生器530可以生成编程电压、读取电压、编程验证电压和擦除电压作为字线电压VWL。
行解码器540可以响应于行地址X-ADDR选择多条字线WL中的一条字线,并选择多条串选择线SSL中的一条串选择线。例如,行解码器540可以在编程操作期间将编程电压和编程验证电压施加到所选字线WL,并在读取操作期间将读取电压施加到所选字线WL。
图5是示出了适用于图4的存储器单元阵列520的块的3D V-NAND结构的部分电路图。即,假设图1的存储设备200的NVM 220被实现为3D V-NAND闪存,可以根据图5的电路图来配置NVM 220中包括的多个存储块中的每一个。
图5所示的存储块BLKi可以指具有形成在衬底上的3D结构的3D存储块。例如,存储块BLKi中包括的多个存储器NAND串可以形成在相对于衬底的竖直方向上。
参照图5,存储块BLKi可以包括连接在位线BL1、BL2和BL3与公共源极线CSL之间的多个存储器NAND串NS11至NS33。存储器NAND串NS11至NS33中的每一个可以包括串选择晶体管SST、多个存储器单元(例如,MC1、MC2...和MC8)和地选择晶体管GST。存储器NAND串NS11至NS33中的每一个在图5中被示出为包括八个存储器单元MC1、MC2…和MC8,但不限于此。
串选择晶体管SST可以连接到与其相对应的串选择线SSL1、SSL2和SSL3。存储器单元MC1、MC2...和MC8中的每一个可以连接到栅极线GTL1、GTL2...和GTL8中的一个对应栅极线。栅极线GTL1、GTL2...和GTL8可以分别对应于字线,并且栅极线GTL1、GTL2...和GTL8中的一些可以对应于虚设字线。地选择晶体管GST可以连接到与其相对应的地选择线GSL1、GSL2和GSL3。串选择晶体管SST可以连接到与其相对应的位线BL1、BL2和BL3,并且地选择晶体管GST可以连接到公共源极线CSL。
位于同一高度的字线(例如,WL1)可以共同连接,并且地选择线GSL1、GSL2和GSL3与串选择线SSL1、SSL2和SSL3可以彼此分离。图5示出了存储块BLK连接到八条栅极线GTL1、GTL2...和GTL8以及三条位线BL1、BL2和BL3的示例,但不限于此。
图6是在一个示例中进一步示出了图1的处理器213的框图。
参照图1和图6,处理器213可以包括第一处理器213a和第二处理器213b。
当从主机设备100接收到写入命令时,第一处理器213a可以请求主机设备100发送写入数据,并且可以接收与所请求的写入操作一致的写入数据。另外,第一处理器213a可以将从主机设备100接收到的写入数据存储在缓冲存储器216中。在一些实施例中,第一处理器213a可以包括主机核,但实施例不限于此。
然后,第二处理器213b可以将缓冲存储器216中存储的写入数据编程到NVM 220,以执行从主机设备100接收到的写入命令。在一些实施例中,第二处理器213b可以包括闪存核,但实施例不限于此。
图7是在一个实施例中进一步示出了图1的加速器219的框图。图8和图9是进一步示出了根据本发明构思的实施例的存储设备200的操作的相应的概念图,并且图10是进一步示出了根据本发明构思的实施例的存储设备200的操作的流程图。
参照图1和图7,加速器219可以包括映射表地址计算器219a、连续性检查器219b、物理页码(PPN)更新器219c和存储器接口219d。将在下文中详细描述映射表地址计算器219a、连续性检查器219b、PPN更新器219c和存储器接口219d之间的操作和互操作。例如,可以同时执行改变连续性信息和改变映射信息。因此,可以结合图7、图8、图9和图10来理解加速器219的前述组件的操作顺序。
参照图1、图7和图8,加速器219可以从处理器213接收包括映射更新的第一单元大小(在下文中,称为“第一映射更新大小”)UP_U的第一映射更新信息。在这点上,映射更新的单元大小可以被称为“块”。例如,第一映射更新大小UP_U可以包括映射表214a的九(9)个条目。然而,本发明构思不限于此,并且映射更新大小可以包括任何合理数量的条目。
当映射表214a中的LPN和PPN的映射信息改变时,加速器219可以更新与多个LPN相对应的映射信息,并检查第一映射更新信息的连续性。
处理器213可以自由地“设置”(例如,定义)第一映射更新大小UP_U。此外,处理器213可以将第二映射更新大小设置为不同于第一映射更新大小UP_U,并向加速器219传送第二映射更新大小的第二映射更新信息。加速器219可以更新与第二映射更新信息中的多个LPN相对应的映射信息,并检查第二映射更新信息的连续性。
加速器219可以从处理器213接收与LPN相对应的PPN的映射更新信息。尽管图7中未示出,加速器219可以接收通过与处理器213连接的接口传送的映射更新信息。
映射表214a可以包括由第一LPN至第N LPN索引并由加速器219读取的第一映射表条目至第N映射表条目。第一PPN至第N PPN的第一映射信息至第N映射信息0、1、2...30(它们是与第一LPN至第N LPN相对应的映射表214a的值)可以分别映射到第一映射表条目至第N映射表条目。
此外,第一映射表条目至第N映射表条目可以分别包括第一映射信息至第N映射信息0、1、2...30的连续性信息“Con”(例如,在图8的括号中指示的数字)。尽管图8假设与LPN相对应的PPN的映射信息的31个条目,但这仅仅是说明性示例。
在这种情况下,更新的映射信息可以对应于多个LPN,并且可以包括在由加速器219读取的多个映射表条目中。
参照图1和图8,第一映射更新大小UP_U可以包括与第四LPN相对应的PPN的映射更新信息4,以及与第八LPN相对应的PPN的映射更新信息8。映射更新信息4和8可以分别包括在第五映射表条目和第九映射表条目中。
参照图8,处理器213可以向加速器219传送关于映射更新信息4和8的信息(例如,方法步骤S100和S200)。因此,加速器219可以从处理器213接收关于映射更新信息4和8的信息。
例如,当与第四LPN相对应的改变的PPN是100并且与第八LPN相对应的改变的PPN是120时,加速器219可以接收关于分别与第四LPN和第八LPN相对应的改变的PPN的信息以及关于映射表214a的地址的信息。
加速器219可以访问包括第一映射表条目至第N映射表条目的映射表214a。即,图7的映射表地址计算器219a可以使用从处理器213接收的映射更新信息来计算要被访问的映射表214a的地址。
加速器219可以访问映射表214a,发出关于第一映射表条目至第N映射表条目的映射信息的数据请求(方法步骤S300),并接收关于第一映射表条目至第N映射表条目的映射信息的数据。
参照图8,加速器219可以访问映射表214a并发出关于第一映射表条目至第九映射表条目的数据请求(S300)。
加速器219可以确定映射表214a中包括的第一映射表条目至第N映射表条目是否超过第一映射更新大小UP_U。
当第N映射表条目超过第一映射更新大小UP_U时,加速器219可以更新与多个LPN相对应的映射信息,并通过以倒序从第(N-1)映射表条目开始读取映射表条目来改变第一映射更新信息的连续性信息。即,图7的连续性检查器219b可以检查LPN的更新的映射信息的连续性,并且PPN更新器219c可以将映射信息从先前的PPN更新到改变的PPN。
参照图1和图9,第十映射表条目超过第一映射更新大小UP_U,加速器219可以更新与第四LPN和第八LPN相对应的映射信息4和8。即,加速器219可以将映射信息更新为100和120,100是与第四LPN相对应的改变的PPN,120是与第八LPN相对应的改变的PPN。
另外,加速器219可以通过以倒序从作为第一映射更新大小UP_U的最后一个映射表条目的第九映射表条目开始读取映射表条目来改变第一映射更新大小UP_U中包括的映射信息的连续性信息“Con”。
在这种情况下,连续性检查可以与映射信息更新同时执行。另外,加速器219可以在第一映射更新大小UP_U内对第五映射表条目的映射信息执行连续性检查,并对第九映射表条目的映射信息执行连续性检查。另外,加速器219可以在第一映射更新大小UP_U内检查第五映射表条目的映射信息的连续性以及第九映射表条目的映射信息的连续性。
根据一些实施例,处理器213可以将映射更新大小设置为各种大小,使得更多映射更新信息可以包括在映射更新的一个单元中。因此,可以最小化对包括更新的映射信息的条目的映射表的冗余访问,并减少对更新的映射信息的连续性检查的次数。因此,可以减少对NVM进行不必要的写入操作的发生次数。
存储设备200可以从主机100接收随机逻辑地址以及写入命令。在这种情况下,根据写入命令的随机逻辑信息可能不具有顺序值。在一些实施例中,不仅当基于顺序逻辑地址执行写入操作时,而且还甚至当基于随机逻辑地址执行写入操作时,也可以最小化对包括更新的映射信息的条目的映射表的冗余访问。因此,可以减少对NVM进行不必要的写入操作的发生次数。
参照图9,可以写入映射表214a的由第一映射更新信息改变的第一映射表条目至第九映射表条目(方法步骤S340)。即,图7的存储器接口219d可以访问FTL 214的映射表214a。映射表214a的读取、修改或写入信息的操作可以由存储器接口219d执行。然后,加速器219可以向处理器213传送映射表214a的改变的信息。
参照图1和图10,处理器213可以向加速器219传送关于与例如第四LPN相对应的第一映射更新信息4的信息(S100)。在这种情况下,加速器219可以检查映射更新大小UP_U,并确认更新的映射信息是否超过预设映射更新大小UP_U(S110)。
处理器213可以向加速器219传送关于与例如第八LPN相对应的第二映射更新信息8的信息(S200)。在这种情况下,加速器219可以检查映射更新大小UP_U,并确认更新的映射信息是否超过预设映射更新大小UP_U(S210)。
加速器219可以访问映射表214a,并发出关于例如第一映射表条目至第九映射表条目的映射信息的数据请求(S300)。
加速器219可以从映射表214a接收关于例如第一映射表条目至第九映射表条目的映射信息的数据(S310)。
例如,当第十映射表条目超过预设映射更新大小UP_P时,加速器219可以更新与多个LPN相对应的映射信息(S320)。另外,加速器219可以通过以倒序从作为映射更新大小UP_U的最后一个映射表条目的第九映射表条目开始读取映射表条目来更新映射更新大小UP_U中包括的映射信息的连续性信息“Con”(S330)。
可以将根据第一映射更新信息的第一映射表条目至第九映射表条目的更新映射信息从加速器219写入映射表214a(S340)。
此后,加速器219可以向处理器213传送映射表214a的更新信息,并通知完成更新(S400)。
图11是示出了可以结合根据本发明构思的实施例的存储设备的数据中心3000的框图。
参照图11,数据中心3000可以是收集各种类型的数据并提供各种服务的设施,并且可以被称为数据存储中心。数据中心3000可以是用于操作搜索引擎和数据库的***,并且可以是由诸如银行或政府机构之类的公司使用的计算***。数据中心3000可以包括应用服务器3100至3100n和存储服务器3200至3200m。应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可以根据实施例不同地选择。应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可以彼此不同。
应用服务器3100可以包括至少一个处理器3110和至少一个存储器3120,并且存储服务器3200可以包括至少一个处理器3210和至少一个存储器3220。将作为示例描述存储服务器3200的操作。处理器3210可以控制存储服务器3200的整体操作,并且可以访问存储器3220以执行存储器3220中加载的指令和/或数据。存储器3220可以包括双倍数据速率(DDR)同步动态随机存取存储器(SDRAM)、高带宽存储器(HBM)、混合存储器立方体(HMC)、双列直插式存储器模块(DIMM)、傲腾DIMM、非易失性DIMM(NVDIMM)等中的至少一种。存储服务器3200中包括的处理器3210的数量和存储器3220的数量可以根据实施例不同地选择。
在一个实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在一个实施例中,处理器3210的数量和存储器3220的数量可以彼此不同。处理器3210可以包括单核处理器或多核处理器。存储服务器3200的上述描述可以类似地应用于应用服务器3100。在一些实施例中,应用服务器3100可以不包括存储设备3150。存储服务器3200可以包括至少一个存储设备3250。根据示例实施例,存储服务器3200中包括的存储设备3250的数量可以不同地选择。
应用服务器3100至3100n和存储服务器3200至3200m可以通过网络3300彼此通信。网络3300可以使用网状通道(FC)或以太网来实现。在这种情况下,FC可以是用于相对高速数据传输的介质,并且可以使用提供高性能和/或高可用性的光开关。根据网络3300的访问方案,存储服务器3200至3200m可以被提供为文件存储设备、块存储设备或对象存储设备。
在一个实施例中,网络3300可以是仅存储网络或专用于存储的网络,例如,存储区域网络(SAN)。例如,SAN可以是使用FC网络并根据FC协议(FCP)实现的FC-SAN。又例如,SAN可以是IP-SAN,其使用传输控制协议/互联网协议(TCP/IP)网络,并根据iSCSI(TCP/IP上SCSI或互联网SCSI)协议来实现。在另一示例中,网络3300可以是诸如TCP/IP网络之类的一般或普通网络。例如,网络3300可以根据诸如以太网上FC(FCoE)、网络附接存储(NAS)、基于架构(over Fabrics)的非易失性存储器快速(NVMe)(NVMe-oF)等的协议中的至少一种来实现。
在下文中,将集中描述应用服务器3100和存储服务器3200。应用服务器3100的描述可以应用于其他应用服务器3100n,并且存储服务器3200的描述可以应用于其他存储服务器3200m。
应用服务器3100可以通过网络3300将用户或客户请求存储的数据存储在存储服务器3200至3200m中的一个存储服务器中。另外,应用服务器3100可以通过网络3300从存储服务器3200至3200m中的一个存储服务器接收用户或客户请求读取的数据。例如,应用服务器3100可以被实现为web服务器或数据库管理***(DBMS)。
应用服务器3100可以通过网络3300访问其他应用服务器3100n中包括的存储器3120n或存储设备3150n,和/或可以通过网络3300访问存储服务器3200至3200m中包括的存储器3220至3220m或存储设备3250至3250m。因此,应用服务器3100可以对应用服务器3100至3100n和/或存储服务器3200至3200m中存储的数据执行各种操作。例如,应用服务器3100可以执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的命令。数据可以直接地或通过存储服务器3200至3200m的存储器3220至3220m从存储服务器3200至3200m的存储设备3250至3250m向应用服务器3100至3100n的存储器3120至3120n传送。例如,通过网络3300传送的数据可以是用于安全或隐私的加密数据。
在存储服务器3200中,接口3254可以提供处理器3210和控制器(CTRL)3251之间的物理连接和/或网络接口卡(NIC)3240和控制器3251之间的物理连接。例如,接口3254可以基于直接附接存储(DAS)方案来实现,在该直接附接存储(DAS)方案中存储设备3250与专用线缆直接连接。例如,接口3254可以基于以下各种接口方案中的至少一种来实现:例如,高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机***接口(SCSI)、串行附接SCSI(SAS)、***组件互连(PCI)、PCI快速(PCIe)、NVMe、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡接口、多媒体卡(MMC)接口、嵌入式MMC(eMMC)接口、通用闪存(UFS)接口、嵌入式UFS(eUFS)接口、紧凑型闪存(CF)卡接口等。
存储服务器3200还可以包括开关3230和NIC 3240。开关3230可以选择性地将处理器3210与存储设备3250连接,或者可以在处理器3210的控制下选择性地将NIC 3240与存储设备3250连接。
在一个实施例中,NIC 3240可以包括网络接口卡、网络适配器等。NIC 3240可以通过有线接口、无线接口、蓝牙接口、光学接口等连接到网络3300。NIC 3240还可以包括内部存储器、数字信号处理器(DSP)、主机总线接口等,并且可以通过主机总线接口连接到处理器3210和/或开关3230。主机总线接口可以被实现为接口3254的上述示例之一。在一个实施例中,NIC 3240可以与处理器3210、开关3230和存储设备3250中的至少一个集成。
在存储服务器3200至3200m和/或应用服务器3100至3100n中,处理器可以向存储设备3150至3150n和3250至3250m或存储器3120至3120n和3220至3220m发送命令以编程或读取数据。此时,数据可以是由纠错码(ECC)引擎纠错的数据。例如,数据可以通过数据总线反转(DBI)或数据屏蔽(DM)来处理,并且可以包括循环冗余码(CRC)信息。例如,数据可以是用于安全或隐私的加密数据。
存储设备3150至3150m和3250至3250m可以响应于从处理器接收到的读取命令而向NAND闪存器件3252至3252m发送控制信号和命令/地址信号。当从NAND闪存器件3252至3252m读取数据时,读使能(RE)信号可以作为数据输出控制信号被输入,并且可以用于将数据输出到DQ总线。可以使用RE信号生成数据选通信号(DQS)。命令和地址信号可以基于写使能(WE)信号的上升沿或下降沿锁存在页缓冲器中。
控制器3251可以控制存储设备3250的整体操作。在一个实施例中,控制器3251可以包括静态随机存取存储器(SRAM)。控制器3251可以响应于写入命令而将数据写入NAND闪存器件3252中,或者可以响应于读取命令而从NAND闪存器件3252读取数据。例如,可以从存储服务器3200中的处理器3210、其他存储服务器3200m中的处理器3210m、或应用服务器3100和3100n中的处理器3110和3110n提供写入命令和/或读取命令。动态随机存取存储器(DRAM)3253可以暂时存储(例如,可以缓冲)要写入NAND闪存器件3252的数据或从NAND闪存器件3252读取的数据。此外,DRAM 3253可以存储元数据。元数据可以是由控制器3251生成以管理用户数据或NAND闪存器件3252的数据。存储设备3250可以包括用于安全或隐私的安全元件。
在一些实施例中,存储设备3150和3250可以执行上述操作。即,存储设备3150和3250可以各自通过存储设备3150和3250中的每一个存储设备包括的加速器219来改变LPN和PPN的映射表214a中的处理器213和FTL 214之间的映射信息,并且可以改变映射信息的连续性信息。
尽管已经参考本发明构思的示例性实施例示出和描述了本发明构思,但对本领域普通技术人员将显而易见的是,在不脱离所附权利要求所阐述的本发明构思的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
Claims (20)
1.一种存储设备,包括:
非易失性存储器;以及
存储控制器,包括处理器、加速器和存储器,所述存储器存储包括映射表的闪存转换层,所述映射表包括逻辑页码和物理页码之间的映射信息,
其中,所述处理器向所述非易失性存储器提供命令,并向所述加速器提供第一映射更新大小中的第一映射更新信息,并且
在更新所述映射表的映射信息时,所述加速器被配置为针对逻辑页码更新映射信息,并检查所述第一映射更新信息的连续性。
2.根据权利要求1所述的存储设备,其中,所述处理器被配置为设置所述第一映射更新大小。
3.根据权利要求1所述的存储设备,其中,所述加速器还被配置为同时执行针对逻辑页码更新映射信息和检查所述第一映射更新信息的连续性。
4.根据权利要求1所述的存储设备,其中,所述第一映射更新信息指示与逻辑页码相对应的改变的物理页码以及所述映射表的对应地址。
5.根据权利要求4所述的存储设备,其中:
所述映射表包括由所述逻辑页码索引并由所述加速器读取的第一映射表条目至第N映射表条目,
根据所述第一映射更新信息来更新所述第一映射表条目至所述第N映射表条目中的与所述逻辑页码相对应的映射表条目的映射信息,并且
当所述第一映射表条目至所述第N映射表条目的映射信息超过所述第一映射更新大小时,所述加速器还被配置为通过从第N-1映射表条目开始倒序地读取所述映射表条目,来改变所述第一映射更新信息的连续性信息。
6.根据权利要求5所述的存储设备,其中,所述加速器还被配置为在所述第一映射更新大小内对与所述逻辑页码相对应的映射表条目的映射信息执行连续性检查。
7.根据权利要求5所述的存储设备,其中,所述加速器还被配置为将所述第一映射表条目至所述第N-1映射表条目的根据所述第一映射更新信息更新的映射信息写入所述映射表。
8.根据权利要求1所述的存储设备,其中,所述加速器还被配置为向所述处理器传送所述映射表的更新的映射信息。
9.根据权利要求1所述的存储设备,其中:
所述处理器还向所述加速器提供第二映射更新信息,所述第二映射更新信息包括与所述第一映射更新大小不同的第二映射更新大小,并且
所述加速器还被配置为检查所述第二映射更新信息的连续性。
10.根据权利要求1所述的存储设备,其中,所述加速器包括:
映射表地址计算器,被配置为使用由所述处理器提供的第一映射更新信息来计算所述映射表中要被访问的地址;
连续性检查器,被配置为检查更新的映射信息的物理页码的连续性;
物理页码更新器,被配置为针对改变的物理页码更新映射信息;以及
存储器接口,被配置为访问所述映射表。
11.一种存储设备,包括:
非易失性存储器;以及
存储控制器,包括处理器、加速器和存储器,所述存储器存储包括映射表的闪存转换层,所述映射表包括逻辑页码和物理页码之间的映射信息,
其中,所述处理器被配置为:向所述非易失性存储器提供命令,并向所述加速器提供第一映射更新大小中的第一映射更新信息,并且
所述映射表包括由所述逻辑页码索引的第一映射表条目至第N映射表条目,
所述加速器被配置为读取所述第一映射表条目至所述第N映射表条目,并且
在更新所述映射表的映射信息时,所述加速器还被配置为:更新与所述第一映射更新大小中包括的第一映射更新信息中的逻辑页码相对应的映射信息,并检查第一映射更新信息的连续性。
12.根据权利要求11所述的存储设备,其中,当所述第一映射表条目至所述第N映射表条目的映射信息超过所述第一映射更新大小时,所述加速器还被配置为通过从第N-1映射表条目开始倒序地读取映射表条目来改变所述第一映射更新信息的连续性信息。
13.根据权利要求11所述的存储设备,其中,所述加速器还被配置为在所述第一映射更新大小内对与所述逻辑页码相对应的映射表条目的映射信息执行连续性检查。
14.根据权利要求11所述的存储设备,其中,所述处理器还被配置为设置所述第一映射更新大小。
15.根据权利要求11所述的存储设备,其中,所述加速器还被配置为同时执行更新所述映射信息和检查所述连续性。
16.根据权利要求11所述的存储设备,其中,所述处理器还被配置为向所述加速器传送所述第一映射更新信息,所述第一映射更新信息与对应于所述逻辑页码的改变的物理页码以及所述映射表的对应地址相关联。
17.一种操作存储设备的方法,所述方法包括:
使用处理器向加速器传送第一映射更新大小中包括的第一映射更新信息,
使用所述加速器访问包括第一映射表条目至第N映射表条目的映射表,
使用所述加速器确定所述映射表中包括的第一映射表条目至第N映射表条目的映射信息是否超过所述第一映射更新大小,以及
当所述第一映射表条目至所述第N映射表条目的映射信息超过所述第一映射更新大小时,使用所述加速器通过从第N-1映射表条目开始倒序地读取所述映射表条目来检查所述第一映射更新信息的连续性。
18.根据权利要求17所述的方法,还包括:
使用所述加速器访问所述映射表,并发出与所述第一映射表条目至所述第N-1映射表条目的映射信息相关的数据请求;以及
在所述加速器中从所述映射表接收与所述第一映射表条目至所述第N-1映射表条目的映射信息相关的数据。
19.根据权利要求17所述的方法,还包括:
根据所述第一映射更新信息来更新与逻辑页码相对应的映射表条目的映射信息;以及
使用所述加速器在所述第一映射更新大小内对与所述逻辑页码相对应的映射表条目的映射信息执行连续性检查。
20.根据权利要求17所述的方法,还包括:
使用加速器将所述第一映射表条目至所述第N-1映射表条目的根据所述第一映射更新信息更新的映射信息写入所述映射表;以及
使用所述加速器向所述处理器传送所述映射表的更新的映射信息。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0154782 | 2021-11-11 | ||
KR20210154782 | 2021-11-11 | ||
KR10-2021-0193333 | 2021-12-30 | ||
KR1020210193333A KR20230068935A (ko) | 2021-11-11 | 2021-12-30 | 스토리지 장치 및 그 구동 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116107917A true CN116107917A (zh) | 2023-05-12 |
Family
ID=86230166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211409033.2A Pending CN116107917A (zh) | 2021-11-11 | 2022-11-10 | 存储设备和操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230141409A1 (zh) |
CN (1) | CN116107917A (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI537729B (zh) * | 2015-10-15 | 2016-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
KR20180130872A (ko) * | 2017-05-30 | 2018-12-10 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20190106005A (ko) * | 2018-03-07 | 2019-09-18 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작 방법 및 전자 장치 |
KR102605609B1 (ko) * | 2018-04-02 | 2023-11-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10540100B2 (en) * | 2018-04-10 | 2020-01-21 | Western Digital Technologies, Inc. | Mapping-based wear leveling for non-volatile memory |
KR20200022118A (ko) * | 2018-08-22 | 2020-03-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
KR102679985B1 (ko) * | 2018-10-18 | 2024-07-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20210012085A (ko) * | 2019-07-23 | 2021-02-03 | 삼성전자주식회사 | 저널 리플레이를 개선하기 위한 스토리지 장치, 그것의 동작 방법, 및 스토리지 장치를 포함하는 전자 장치 |
US11314446B2 (en) * | 2020-06-25 | 2022-04-26 | Micron Technology, Inc. | Accelerated read translation path in memory sub-system |
-
2022
- 2022-07-25 US US17/872,167 patent/US20230141409A1/en active Pending
- 2022-11-10 CN CN202211409033.2A patent/CN116107917A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230141409A1 (en) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190090635A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US12045470B2 (en) | Method of writing data in nonvolatile memory device and nonvolatile memory device performing the same | |
US20240029814A1 (en) | Non-volatile memory device, operating method thereof, controller for controlling the same, and storage device having the same | |
TWI716381B (zh) | 資料處理系統 | |
KR20230068935A (ko) | 스토리지 장치 및 그 구동 방법 | |
CN114546903A (zh) | 存储装置和包括其的存储*** | |
CN116107917A (zh) | 存储设备和操作方法 | |
US11842076B2 (en) | Storage system and operating method for same | |
EP4184332A1 (en) | Storage controller and storage device including the same | |
US20240220151A1 (en) | Computational storage device and method for operating the device | |
EP4180961A1 (en) | Storage device and operating method thereof | |
US12045472B2 (en) | Storage device supporting multi-tenant operation and methods of operating same | |
US20230114199A1 (en) | Storage device | |
EP3971702A1 (en) | Storage device, storage system, and method of operating the storage system | |
US20240193105A1 (en) | Computational storage device and method of operating the same | |
KR20230068939A (ko) | 스토리지 장치 및 그 구동 방법 | |
CN116027969A (zh) | 存储设备 | |
CN118192881A (zh) | 被配置为控制存储器装置的存储器控制器的操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |