CN108139902A - 用于提供混合模式来访问ssd驱动器的方法和装置 - Google Patents
用于提供混合模式来访问ssd驱动器的方法和装置 Download PDFInfo
- Publication number
- CN108139902A CN108139902A CN201680060649.XA CN201680060649A CN108139902A CN 108139902 A CN108139902 A CN 108139902A CN 201680060649 A CN201680060649 A CN 201680060649A CN 108139902 A CN108139902 A CN 108139902A
- Authority
- CN
- China
- Prior art keywords
- ftl
- nvm
- memory
- caching
- lba
- 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
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims abstract description 152
- 239000007787 solid Substances 0.000 claims abstract description 7
- 238000006243 chemical reaction Methods 0.000 claims abstract description 6
- 238000003860 storage Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 14
- 238000013519 translation Methods 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000000151 deposition Methods 0.000 claims 1
- 238000010304 firing Methods 0.000 claims 1
- 238000003032 molecular docking Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/0625—Power saving in 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/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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
Abstract
公开了一种包含主机、固态驱动器(“SSD”)和能够执行混合模式非易失性存储器(“NVM”)访问的控制器的系统配置。在接收到用于访问存储在NVM中的信息的具有逻辑块地址(“LBA”)的命令时,将辅助闪存转换层(“FTL”)索引表加载到第一缓存,并且搜索第三缓存中的条目以确定与存储的FTL表相关联的有效性。当第三缓存中的条目无效时,搜索第二缓存中的FTL索引表以标识有效的FTL表条目。如果第二缓存包含无效的FTL索引表,则将新的FTL索引表从NVM加载到第二缓存。该进程随后将由FTL索引表索引的FTL表的至少一部分加载在第三缓存中。
Description
相关申请的交叉引用
本申请基于2015年10月16日提交的申请序列号No.62/242,675、题为“Method andApparatus for Providing Hybrid Mode to Boot SSD Drive”的美国临时专利申请要求优先权权益,该临时专利申请的全部内容通过引用并入本文。
技术领域
本发明的一个或多个示例性实施例涉及半导体和集成电路领域。更特别地,本发明的一个或多个示例性实施例涉及非易失性存储器存储和设备。
背景技术
通常也被称为固态盘的固态驱动器(“SSD”)例如是能够持久地记住所存储的信息或数据的存储设备。例如,常规的SSD技术采用一组标准化的用户接口或设备接口,该用户接口或设备接口允许其他系统访问它的存储容量。标准化接口或输入/输出(“I/O”)标准一般地与用于其他非易失性存储器(诸如硬盘驱动器)的常规I/O接口兼容。在一个示例中,SSD使用非易失性存储器组件来存储和获取用于一个或多个处理系统的数据。
为了持久地存储数据,可以使用各种类型的非易失性存储器(“NVM”),诸如基于闪存的存储器或相变存储器(“PCM”)。可以利用若干不同类型的集成电路(“IC”)技术,诸如具有浮置栅极的NOR或NAND逻辑门,来制造能够维持、擦除和/或重新编程数据的常规闪存存储器。取决于应用,通常闪存存储器的存储器访问可以被配置成块、页面、字和/或字节。
为了在主机设备的逻辑块地址(“LBA”)与NVM的物理页面地址(“PPA”)之间恰当地映射或转换,闪存转换层(“FTL”)表被用于地址映射。FTL表通常是闪存文件系统。随着NVM存储容量的增加,FTL表的大小变得极度大。应注意,LBA用于对由SSD的输入和输出(“I/O”)设备查看的数据的块进行寻址,而PPA对其中实际存储该数据的物理存储位置进行寻址。
然而,与包含NVM的常规SSD相关联的缺点在于,存储器控制器通常需要大量的随机存取存储器(“RAM”)用于存取操作,诸如存储FTL表和缓冲数据。
发明内容
本发明的一个实施例公开了包含固态驱动器(“SSD”)的系统配置,该固态驱动器(“SSD”)具有非易失性存储器(“NVM”)、控制器、闪存转换层(“FTL”)表以及主机。该控制器被配置成促成混合模式来访问NVM,以便持久地存储数据。在一个实施例中,当接收到用于访问存储在NVM中的信息的具有逻辑块地址(“LBA”)的命令时,该控制器将辅助闪存转换层(“FTL”)索引表加载到第一缓存并且搜索第三缓存中的条目以确定与所存储的FTL表相关联的有效性。当第三缓存中的条目不包含有效信息时,搜索第二缓存中的FTL索引表以标识有效的FTL表条目。如果第二缓存包含无效的FTL索引表,则将新的FTL索引表从NVM加载到第二缓存。该控制器随后将由FTL索引表索引的FTL表的至少一部分加载在第三缓存中。
根据下面阐述的详细描述、附图和权利要求,本发明的一个或多个示例性实施例的附加特征和益处将变得显而易见。
附图说明
根据下面给出的详细描述并且根据本发明的各种实施例的附图,将更全面地理解本发明的示例性实施例,然而,不应将其视为将本发明限制于特定实施例,而仅是用于解释和理解。
图1是图示了根据本发明的一个实施例的提供混合模式来利用主机存储器的配置或系统配置的框图;
图2是图示了根据本发明的一个实施例的使用FTL表来访问NVM的存储系统的框图;
图3是图示了根据本发明的一个实施例的能够操作混合模式的NVM存储设备中的存储区域的框图;
图4是图示了根据本发明的一个实施例的能够使用分区的NVM单元操作混合模式的NVM存储设备中的存储区域的框图;
图5是图示了根据本发明的一个实施例的使用FTL表对NVM设备的存储器访问的逻辑图;
图6是图示了根据本发明的一个实施例的用于缓存FTL索引表和FTL表的一部分的片上存储器的框图;
图7是图示了根据本发明的一个实施例的包含用于NVM访问的FTL表的主机CPU存储器的图;
图8是图示了根据本发明的一个实施例的包含用于NVM访问的FTL表的一部分的主机CPU存储器的图;
图9示出了根据本发明的用于SSD管理和/或主机的数字处理系统的示例性实施例;以及
图10是图示了根据本发明实施例的使用混合模式来访问NVM的存储器操作的流程图。
具体实施方式
本文在促成访问一个或多个NVM设备的混合模式存储器操作的方法、系统和装置的上下文中描述了本发明的示例性实施例。
本领域的普通技术人员将认识到,一个或多个示例性实施例的以下详细描述仅是例示性的,并且不旨在以任何方式进行限制。对于受益于本公开的技术人员而言,将容易提出其他实施例。现在将详细参考附图所示的一个或多个示例性实施例的实施方式。贯穿附图和以下详细描述将使用相同的参考指示符来指代相同或类似的部件。
为了清楚起见,并未示出和描述本文所描述的实施方式的所有例行特征。当然,应理解的是,在任何这样的实际实施方式的开发中,可以做出很多实施方式特定的决定以便实现开发者的特定目标,诸如符合与应用和商业相关的约束,并且这些特定的目标将随实施方式的不同以及开发者的不同而变化。此外,应理解的是,这样的开发工作可能是复杂并且耗时的,但对于受益于本公开的本领域普通技术人员来说,仍然是工程的例行事务。
根据本发明的一个或多个实施例,可以使用各种类型的操作系统、计算平台、计算机程序、和/或通用机器来实施本文所描述的组件、处理步骤和/或数据结构。此外,本领域的普通技术人员将认识到,也可以使用不太通用性质的设备,诸如硬连线设备、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等,而不脱离本文公开的发明构思的范围和精神。在包括一系列处理步骤的方法由计算机或机器实施并且这些处理步骤可以作为由机器可读的一系列指令存储的情况下,它们可以被存储在有形介质上,诸如计算机存储器设备(例如,ROM(只读存储器)、PROM(可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪存存储器、PCM、跳转驱动器等)、磁存储介质(例如磁带、磁盘驱动器等)、光存储介质(例如,CD-ROM、DVD-ROM、纸卡和纸带等)、相变存储器(“PCM”)以及其他已知类型的程序存储器。
术语“系统”在本文中一般用于描述任何数目的组件、元件、子系统、设备、分组交换元件、分组交换机、路由器、网络、计算机和/或通信设备或机构、或其组件的组合。术语“计算机”在本文中一般用于描述任何数目的计算机,包括但不限于个人计算机,嵌入式处理器和系统、控制逻辑、ASIC、芯片、工作站、大型机等。术语“设备”在本文中一般用于描述任何类型的机构,包括计算机或系统、或它们的组件。术语“任务”和“进程”在本文中一般用于描述任何类型的运行程序,包括但不限于计算机进程、任务、线程、执行应用、操作系统、用户进程、设备驱动程序、本机代码、机器或其他语言等,并且可以是交互式的和/或非交互式的、在本地和/或远程执行、在前台和/或后台执行、在用户和/或操作系统地址空间中执行、库和/或独立应用的例程,并且不限于任何特定的存储器分区技术。在保持在本发明的范围和精神内的情况下,包括但不限于块和流程图的、图中所图示的信号和信息的步骤、连接和处理,通常以不同的串行或并行排序和/或通过不同的组件和/或通过不同的连接来在各种实施例中执行。
本发明的一个实施例公开了一种包含能够操控混合模式来访问非易失性存储器(“NVM”)的固态驱动器(“SSD”)的系统配置。在一个方面中,存储器控制器或控制器促成用于经由利用主机存储器访问NVM的混合模式的方法。在一个实施例中,在接收到具有用于访问存储在NVM中的信息的逻辑块地址(“LBA”)的命令时,数字处理系统的进程将辅助闪存转换层(“FTL”)索引表加载到第一缓存(或辅助索引缓存),并且随后搜索第三缓存(或FTL缓存)中的条目以确定当前存储的FTL表的条目是否有效。如果第三缓存中的条目无效,则搜索第二缓存(或索引缓存)中的FTL索引表以标识有效的FTL表条目。如果第二缓存包含无效的FTL索引表,则将新的FTL索引表从NVM加载到第二缓存。该进程随后在第三缓存或FTL缓存中加载由FTL索引表索引的FTL表的至少一部分。
图1是图示了根据本发明的一个实施例的提供混合模式来利用主机存储器的配置或系统配置的框图100。图100包括主机102、SSD 114和外设接口120,其中主机102包括主机存储器或主存储器110。SSD 114包括控制器106和NV存储装置104,其中控制器106被配置为促成混合模式用于NVM访问。应注意的是,如果向图100添加或从图100中去除一个或多个块(或设备),则本发明的一个或多个示例性实施例的基础概念不会改变。
NV存储装置104是能够持久地存储数据的存储设备。NV存储装置104包括用于数据存储的NVM 108。为了实施NVM访问的混合模式,在一个实施例中,NVM 108将它的存储器空间组织或分区成两个区域116至118以操控不同的模式。例如,不同的模式涉及通过高速非易失性存储器(“NVMeTM”)协议和高速非易失性存储器(“NVM++TM”)操控NVM访问。在一个方面中,区域I 116是用于模式访问(诸如使用LBA的NVMeTM)的专用存储区域,并且区域II 118是使用物理页面地址(“PPA”)的用于NVM++TM的专用存储区域。备选地,NVM 108被组织为一个区域,并且一个或多个FTL表被配置成同时操控多个模式。应注意,NVM可以是任何类型的NV存储单元,包括闪存存储器和相变存储器(“PCM”)。
为了简化上述讨论,仅使用闪存存储器作为示例性NVM。为了操作混合模式,NVM108被配置成操控多于一种访问协议,诸如NVMeTM和NVM++TM。在一个实施例中,NVM 108存储用于更有效地访问NVM的地址映射表或FTL表130。例如,为了快速定位相关的一个或多个NVM页面,控制器106使用地址映射表130来定位NVM 108内的物理页面位置。
地址映射表130被组织成包括用于NVM访问的多个条目。地址映射表130的每个条目包含指向NVM 108内的物理页面的地址。在一个方面中,地址映射表130是包含用于促成逻辑地址与物理页面之间的转换的信息的闪存转换层(“FTL”)表。
存储器控制器或控制器106包括缓存112,缓存112被配置成缓存至少一部分的FTL表130、索引表和辅助索引表,用于快速NVM参考。缓存或缓存存储器112可以是DRAM、RAM和/或SRAM。该索引表被用于索引FTL表,并且使用辅助索引表来索引该索引表。在一个方面中,存储器控制器106被配置成对接基于NVM++的接口和基于NVMe的接口。NVM++使用PPA来访问NVM 108,而NVMe使用LBA来访问NVM 108。
主机或主机系统102包括处理器和主机CPU存储器110,该主机CPU存储器110可以是主存储器的至少一部分。在一个实施例中,主机存储器或主机CPU存储器110包括如标号132所示的整个地址映射表或FTL表和索引表的副本,用于NVM访问。备选地,主机存储器110缓存索引表和FTL表130的一部分以节省主机CPU存储器。
在一个示例中,外设接口120可以是高速串行连接,诸如PCIe(高速外设组件接口)。应注意,PCIe是在SSD配置中使用的高速接口的串行计算机扩展总线。在SSD引导阶段期间,例如,控制器106使用NVMe协议经由连接120上的PCIe来将FTL表130的至少一部分复制到主机CPU存储器110,如标号126至128所示。在主机CPU存储器110包含如由标号132所指示的FTL表和索引表的副本之后,控制器可以使用诸如NVMe和/或NVM++的混合模式来经由连接122访问NVM 108。
为了改善对FTL表的访问速度,使用控制器106中的DRAM或RAM以及主机存储器110来缓存一部分的FTL表或一部分的FTL条目,由此对FTL表的搜索时间或访问时间可以被减少。缓存一部分的FTL表还可以改善由于意外掉电导致的数据丢失。例如,使用FTL缓存电路(“FCC”)来确定NVM中的FTL表的哪个部分应该被缓存到存储器110,如标号128所指示。在一个示例中,FCC采用最近最少使用(“LRU”)的页面或链接列表进行FTL缓存页面置换。FCC还提供存储器110至112中的FTL缓存页面中的内容与NVM中的FTL页面中的内容之间的数据同步。
位于存储器110或112中的FTL缓存页面可操作为在FTL表中存储一部分的FTL表或一组条目。位于NVM中的FTL页面用于持久地存储整个FTL表。为了置换出存储器110或112中的FTL缓存页面的内容用以形成用于缓存操作的存储空间,在一个示例中,所置换出的内容需要与存储在NVM中的FTL页面中的对应内容同步。将置换出的一个或多个FTL缓存页面的内容与FTL页面的内容合并,并且随后将合并的内容存储回FTL页面。
在出现意外系统断电或崩溃时,如果未恰当保存,则包含映射信息的最近更新的FTL缓存页面可能会丢失。在一个实施例中,在电力终止之前,存储器110至112中的FTL缓存页面被快速存储在NVM的预定义区段中。在NVM 108的恢复时,可以修复或恢复FTL缓存或缓存页面。在一个实施例中,具有FTL索引表的FTL快照技术被用于FTL缓存恢复。
使用混合模式的优点是使用主机CPU存储器来缓存FTL表,以节省SSD或控制器中的存储资源。
图2是图示了根据本发明的一个实施例的使用FTL表来访问NVM的存储系统的框图200。图200包括输入数据282、存储器或存储设备283、输出数据288和存储控制器285。存储控制器285还包括读取模块286和写入模块287。图200还包括可以是存储控制器285的一部分的闪存转换层(“FTL”)284。例如,FTL 284将逻辑块地址(“LBA”)映射到物理地址。应注意的是,如果一个或多个块(或设备)被添加到图200或从图200中去除,则本发明的一个或多个示例性实施例的基础概念不会改变。
例如,基于闪存存储器的SSD包括用于存储的基于NAND的闪存存储器单元的多个阵列。一般具有小于100微秒(“μs”)的读取时延的闪存存储器被组织在块设备中,其中取决于闪存技术,最小访问单元可以被设定为四(4)千字节(“K字节”)、八(8)K字节、或十六(16)K字节存储器容量。也可以使用其他类型的NV存储器,诸如相变存储器(“PCM”)、磁性RAM(“MRAM”)、STT-MRAM或ReRAM。为了简化前述讨论,本文使用基于闪存存储器或闪存的SSD作为用于混合模式访问的示例性NV存储器。
图200图示了使用闪存存储器283在没有电源的情况下持久地保持信息的SSD的逻辑图。SSD包括多个非易失性存储器或闪存存储器块(“FMB”)290、FTL 284和存储控制器285。每个LB 290还包括一组页面291至296,其中页面具有例如4096字节或4K字节的块大小。在一个示例中,FMB 290可以包含128到512个页面或者扇区或块291至296。页面或块一般地是最小可写单元。应注意的是,本文可以互换地使用术语“块”、“页面”、“组块”和“扇区”。
在操作中,一经从输入数据282接收到LBA,控制器285就查找FTL表284以标识NVM页面的位置。在一个示例中,FTL表284基于FTL表284的条目中的信息将LBA转换成物理地址或PPA。一旦PPA被标识,如果它是写入操作,则控制器就基于PPA将数据写入NVM,如标号297所指示。
为了使用NVMe以DRAM较少模式来操作可引导驱动器,控制器以NVMe模式FTL缓存来激活可引导进程。在执行引导操作系统(“OS”)时,为基于主机的FTL加载FTL驱动程序。一旦加载FTL驱动程序并且从OS引导设备,控制器可以切换到以NVM++模式工作。基于主机的FTL驱动程序可以随后被用于NVM++数据空间。
在混合模式下采用FTL表的优点是,它促成逻辑地址到物理地址的有效转换。
图3是图示了根据本发明的一个实施例的能够操作混合模式的NVM存储设备中的存储区域的框图300。图300示出了具有用户数据范围320、系统数据范围322和固件引导范围326的示例性NVM存储容量。固件引导范围326包括用于系统引导和/或恢复的固件引导扇区和系统状态空间312。例如,固件引导扇区312将信息存储在用于系统重启的存储空间中。在一个方面中,可以使用单级单元(“SLC”)模式来避免固件引导扇区损坏。备选地,固件还可以使用固件空间312用以存储用于系统重启或加电的状态变量。应注意的是,如果一个或多个块(或范围)被添加到图300或从图300中去除,则本发明的一个或多个示例性实施例的基础概念不会改变。
在一个方面中,用户数据范围302是经由LBA模式和PPA模式的混合NVMe和NVM++。范围302包括具有n个LBA容量的用户LBA空间和可引导LBA空间,其中n是LBA或页面的总数。规则用户数据被存储在范围302中。应注意,如果NVM设备驱动器的容量具有n个页面或LBA,则映射在范围302中的LBA可以是从1至n-1的用户LBA空间。应注意,为用户数据范围分配的实际物理空间通常为n*(1+opl),其中“opl”是用户数据范围的规定百分比。
在一个示例中,系统数据范围322被划分成块管理快照空间304、系统日志快照空间306、FTL快照表308和FTL索引表310。空间304被用于存储块管理相关信息,并且空间306记录用于设备管理的系统日志快照。FTL快照表响应于FTL索引表310映射LBA,FTL索引表310还用于索引FTL快照表。虽然与FTL表相关的信息被用于FTL缓存操作,但系统日志快照和/或FTL信息被用于系统恢复。如果系统数据范围为m,则映射到系统数据范围的LBA可以是从1至m-1的系统LBA空间,其中m是系统数据范围的总页数或容量。在一个示例中,为系统数据范围分配的实际物理空间是m*(1+op2),其中“op2”是系统数据范围的规定百分比。在一个方面中,FTL快照表308和FTL索引表310可以被配置成操控混合模式。例如,FTL表308被配置成识别NVMe模式或NVM++模式,并且相应地处理混合模式。
图4是图示了根据本发明的一个实施例的能够使用分区的NVM单元操作混合模式的NVM存储设备中的存储区域的框图400。图400类似于图3中所示的图300,除了存储范围被分区成两个区段用以操控混合模式。例如,对于两种模式,数据范围和系统范围重复两次。在一个实施例中,图400包括一个固件引导范围306、两个数据空间402至404和两个系统范围406至408。例如,数据空间402被指定为操控NVM++模式,而数据空间404被指定为操控NVMe模式。类似地,系统数据范围R1 406被用于NVM++模式,而系统数据范围R2 408被用于NVMe模式。
图5是图示了根据本发明的一个实施例的使用FTL表对NVM设备的存储器访问的逻辑图500。图500包括存储区域502、FTL快照表506、FTL索引表532、第二(辅助)FTL索引表536。存储区域502包括存储范围512和扩展范围510。存储范围512可以由用户通过FTL范围以及扩展的FTL范围来访问。FTL快照表506是在给定时间存储的FTL数据库。在一个实施例中,FTL快照表506被存储在扩展FTL范围510处,如由标号534所指示。应注意的是,如果一个或多个块(或范围)被添加到图500或从图500中去除,则本发明的一个或多个示例性实施例的基础概念不会改变。
FTL数据库或FTL快照表的每个条目(诸如条目526)被设定为预定义数目的字节(诸如四(4)字节)。在一个示例中,FTL快照表506的条目526指向4K字节数据单元516,如由标号536所指示。FTL快照表506大约是LBA范围的1/1024,该LBA范围包括用户范围和扩展范围(或存储区域)512。如果存储区域512具有容量X,则FTL快照表506为X的1/1000倍。例如,如果存储区域512具有容量512千兆字节(“GB”),则FTL快照表506应为大约512兆字节(“MB”),其是1/1000×512GB。
FTL索引表532大约是FTL快照表506的1/1024,因为FTL索引表532的每个条目528指向FTL快照表522的4K字节条目508。如果FTL快照表具有容量Y,其为X/1000,其中X是存储区域512的总容量,则FTL索引表532是Y的1/1000倍。例如,如果FTL快照表506具有容量512MB,FTL索引表532应当是大约512千字节(“KB”),其是1/1000×512MB。在一个实施例中,FTL索引表532被用于参考或索引FTL快照。FTL快照表506例如是LBA范围的1/1024,该LBA范围包括用户LBA范围和扩展LBA范围。应注意,PPA(物理页面地址)的每4字节条目都指向LBA范围中的四(4)K字节数据单元。FTL索引表532应该是FTL快照表大小的1/1024。FTL索引表的每个条目都将指向FTL快照表中的一个4K字节或1K条目。
第二FTL索引表536大约是FTL索引表532的1/1000。例如,如果FTL索引表532具有512KB的容量,则第二FTL索引表536应该是大约512字节,它是1/1000×512KB。第二FTL索引表536的功能是快速标识在FTL索引表532处的条目。
在断电之前,第二FTL索引表536、FTL索引表532和FTL表506被保存或存储在空间516。基于存储的FTL表,在系统引导启动期间,将诸如表532的FTL索引表加载到存储器中,而不管它在主机CPU存储器之内还是在控制器附接的存储器之内。
图6是图示了根据本发明的一个实施例的用于缓存FTL索引表和FTL表的一部分的片上存储器的框图600。图600包括NVM存储区域502、片上存储器602和快照系统数据608。在一个实施例中,片上存储器602是用于管理NVM存储区域502的控制器中的板载缓存存储器。在一个方面中,存储器602可操作为三个缓存或缓存区域606至636。在一个示例中,缓存或缓存区域636(被称为第一缓存或第二索引表缓存)被用于将整个第二FTL索引表从NVM缓存到控制器。缓存或缓存区域632(被称为第二缓存或FTL索引表缓存)用于缓存整个FTL索引表。缓存或缓存区域606(被称为第三缓存或FTL表缓存)用于缓存FTL表的一部分。在一个方面中,使用缓存方案来在混合模式的NVM访问操作期间缓存FTL数据的必要部分。
在DRAM较少模式的情况下,例如,辅助FTL索引表536首先被加载到第二索引表缓存636。DRAM较少模式意味着控制器或SSD中都没有DRAM存储的存储器。在接收到LBA读取或写入命令时,在存储器602中查找FTL缓存。如果缓存条目未命中,则查找FTL索引表缓存632。如果FTL索引表缓存632也未命中,则在缓存636处查找辅助FTL索引表536,并且将新的FTL索引表(即4K字节)从NVM存储区域502加载到存储器602中的FTL索引表缓存632中。在一个示例中,四(4)K字节的FTL表随后被缓存到FTL缓存606中。
图7是图示了根据本发明的一个实施例的主机CPU存储器的图700,该主机CPU存储器包含用于NVM访问的FTL表。图700类似于图6中所示的图600,除了利用主机存储器代替片上存储器,图700包括NVM存储区域502、主机CPU存储器702和快照系统数据708。在一个实施例中,存储器702是连接的主机处的板载存储器。该主机可以是计算机、服务器、大型机、工作站、便携式系统等。在一个方面中,代替SSD或控制器中的RAM或DRAM存储空间,使用存储器702用于NVM访问。存储器702可以是用于执行和操作的高速低容量易失性存储器。在一个方面中,存储器702存储整个FTL表706和整个FTL索引表732。
代替使用控制器中的存储空间,利用主机存储器来存储FTL表,可以改善总体NVM访问速度,同时节省控制器中的存储空间。在一个方面中,在基于主机的FTL模式期间,FTL索引表被加载到主机CPU存储器中并且将FTL表或部分的FTL表加载到主机CPU存储器中,用以NVM访问。
使用主机CPU存储器的优点是节省存储器控制器中的存储空间。
图8是图示了根据本发明的一个实施例的主机CPU存储器的图800,该主机CPU存储器包含用于NVM访问的FTL表的一部分。图800类似于图7中所示的图700,除了主机存储器存储FTL表的一部分。在一个实施例中,存储器802是能够缓存FTL索引表和FTL表的一部分的在所连接的主机处的板载存储器。在一个方面中,代替SSD或控制器中的RAM或DRAM存储空间,使用存储器802,用以使用FTL表的NVM访问。存储器802可以是使用用于执行和操作的高速易失性存储器单元的缓存存储器。
在使用基于主机的FTL缓存的情况下,例如,在主机CPU存储器802中使用较小的FTL表缓存来存储部分的FTL表。备选地,可以将整个FTL索引表存储在主机CPU存储器中用以管理FTL表缓存。使用主机CPU存储器的优点是节省存储器控制器中的存储空间。
图9示出了根据本发明的用于SSD管理和/或主机的数字处理系统的示例性实施例。计算机系统900包括处理单元901、接口总线912和输入/输出(“IO”)单元920。处理单元901包括处理器902、主存储器904、系统总线911、静态存储器设备906、总线控制单元905、海量存储存储器907和SSD接口909。应注意的是,如果一个或多个块(电路或元件)被添加到图900或从图900中去除,则本发明的一个或多个示例性实施例的基础概念不会改变。
总线912用于在各种组件与处理器902之间传输信息用以数据处理。处理器902可以是任何的各种各样的通用处理器、嵌入式处理器或微处理器,诸如嵌入式处理器、CoreTM2 Duo、CoreTM2 Quad、PentiumTM微处理器、MotorolaTM 68040、系列处理器或Power PCTM微处理器。
主存储器904存储经常使用的数据和指令,主存储器904可以包括多级缓存存储器。主存储器904可以是RAM(随机存取存储器)、PCM、MRAM(磁性RAM)或闪存存储器。静态存储器906可以是耦合到总线911的ROM(只读存储器),用于存储静态信息和/或指令。总线控制单元905被耦合到总线911至912并且控制诸如主存储器904或处理器902之类的哪个组件可以使用总线。总线控制单元905管理总线911与总线912之间的通信。
在一个实施例中,I/O单元920包括显示器921、键盘922、光标控制设备923和通信设备925。显示设备921可以是液晶设备、阴极射线管(“CRT”)、触摸屏显示器或其他合适的显示设备。显示器921投影或显示图形规划委员会(graphical planning board)的图像。键盘922可以是常规的字母数字输入设备,用于在计算机系统900与一个或多个计算机操作员之间传达信息。另一类型的用户输入设备是光标控制设备923,诸如常规鼠标、触摸鼠标、轨迹球或其他类型的光标,用于在系统900与用户之间传达信息。
本发明的示例性实施例包括将在下面描述的各种处理步骤。该实施例的步骤可以实施在机器或计算机可执行指令中。这些指令可以用来使得利用该指令编程的通用或专用系统执行本发明的示例性实施例的步骤。备选地,本发明的示例性实施例的步骤可以由包含用于执行这些步骤的硬连线逻辑的特定硬件组件或通过编程的计算机组件和定制硬件组件的任何组合来执行。
图10是图示了根据本发明的实施例的使用混合模式来访问NVM的存储器操作的流程图1000。在框1002处,用于持久数据存储的进程接收具有LBA的命令,该命令用于访问存储在NVM中的信息。在一个示例中,为了实施混合模式,NVM可以被分区成由LBA可访问的第一区域和由PPA可访问的第二区域。例如,第一区域可使用LBA经由高速非易失性存储器(“NVMe”)协议访问,而第二区域可使用PPA经由非易失性存储器加(“NVM++”)协议访问。
在框1004处,根据LBA,将辅助FTL索引表加载到第一缓存并且搜索第三缓存以确定FTL表的条目有效性。例如,第一缓存也可以称为辅助FTL索引表缓存,而第三缓存也可以称为FTL缓存。
在框1006处,搜索第二缓存中的FTL索引表,以当存储在第三缓存中的FTL条目不包含有效的FTL条目时基于接收到的LBA来标识潜在的有效FTL表。在一个示例中,第二缓存可以被称为FTL索引表缓存。
在框1008处,当第二缓存包含无效的FTL索引表时,该进程能够将新的FTL索引表从NVM加载到第二缓存。
在框1010处,将由FTL索引表索引的FTL表的一部分加载到第三缓存中。在一个方面中,整个FTL表从NVM被加载到主机CPU存储器,用以NVM访问。当主机准备断电时,FTL表随后从主机CPU存储器被存储回NVM。备选地,代替上传整个FTL表,将FTL表的一部分从NVM缓存到主机CPU存储器用于NVM访问。
尽管已经示出和描述了本发明的特定实施例,但是对于本领域的普通技术人员而言显而易见的是,基于本文的教导,可以进行改变和修改而不脱离本发明以及它的更广泛的方面的该示例性实施例。因此,所附权利要求旨在将本发明的示例性实施例的真实精神和范围内的所有这些改变和修改涵盖在其范围内。
Claims (20)
1.一种数字处理系统,能够操作用于存储信息,所述数字处理系统包括:
非易失性存储器(“NVM”),它的存储器空间被组织成存储器块,用于持久地存储数据,其中所述存储器块被划分成第一区域和第二区域,所述第一区域是通过物理页面地址(“PPA”)经由第一访问协议可寻址的,所述第二区域是通过逻辑块地址(“LBA”)经由第二访问协议可寻址的;
地址映射表,所述地址映射表处于所述NVM中,并且被组织成包括用于访问所述NVM的多个条目,所述地址映射表的每个条目被寻址到NVM的物理页面;以及
存储器控制器,所述存储器控制器具有随机存取存储器(“RAM”)缓存、索引表和辅助索引表,所述随机存取存储器(“RAM”)缓存被耦合到所述NVM,并且被配置成缓存所述地址映射表的至少一部分,所述索引表用于索引所述地址映射表,所述辅助索引表用于索引所述索引表。
2.根据权利要求1所述的系统,还包括主机系统,所述主机系统经由外设互连总线被耦合到所述存储器控制器,并且被配置成具有处理器和主机存储器。
3.根据权利要求2所述的系统,其中,所述主机存储器包括所述地址映射表和所述索引表的副本。
4.根据权利要求1所述的系统,其中,所述地址映射表是闪存转换层(“FTL”)表,所述FTL表包含用于促成标识所述物理页面的位置的信息。
5.根据权利要求4所述的系统,其中,所述主机存储器缓存用于索引所述FTL表的FTL索引表和所述FTL表的一部分。
6.根据权利要求1所述的系统,其中,所述存储器控制器被配置成对接利用PPA访问所述NVM的非易失性存储器加(“NVM++”)协议、以及利用LBA访问所述NVM的高速非易失性存储器(“NVMe”)协议。
7.根据权利要求1所述的系统,其中,所述系统是固态驱动器(“SSD”)。
8.根据权利要求1所述的系统,其中,所述NVM是基于闪存存储器的存储设备。
9.根据权利要求1所述的系统,其中,所述NVM是相变存储器(“PCM”)或具有基于有限程序循环的存储设备的其他NVM。
10.一种用于持久数据存储的方法,包括:
接收具有逻辑块地址(“LBA”)的命令,所述命令用于访问存储在非易失性存储器(“NVM”)中的信息;
响应于所述LBA,将辅助闪存转换层(“FTL”)索引表加载到第一缓存,并且搜索第三缓存中的条目以确定所存储的FTL表的有效性;
当所述第三缓存中的条目不包含根据所述LBA的有效条目时,搜索第二缓存中的FTL索引表以标识由所述LBA指示的有效FTL表条目;
当所述第二缓存包含根据所述LBA的无效的FTL索引表时,将FTL索引表从NVM加载到所述第二缓存;以及
将由所述FTL索引表索引的FTL表的一部分加载在所述第三缓存中。
11.根据权利要求10所述的方法,还包括:将所述NVM分区成能够通过逻辑块地址(“LBA”)访问的第一区域和能够通过物理页面地址(“PPA”)访问的第二区域。
12.根据权利要求11所述的方法,还包括:经由高速非易失性存储器(“NVMe”)协议来访问所述第一区域。
13.根据权利要求12所述的方法,还包括:经由非易失性存储器加(“NVM++”)协议来访问所述第二区域。
14.根据权利要求10所述的方法,还包括:将FTL表从所述NVM加载到主机中央处理单元(“CPU”)存储器,用于NVM访问。
15.根据权利要求11所述的方法,还包括:当主机断电时,将所述FTL表从所述主机CPU存储器存储回所述NVM。
16.根据权利要求10所述的方法,还包括:将FTL表的一部分从所述NVM缓存到主机中央处理单元(“CPU”)存储器,用于NVM访问。
17.一种数字处理系统,能够操作用于存储信息,所述数字处理系统包括:
主机,具有中央处理单元(“CPU”)存储器,并且能够访问固态驱动器(“SSD”);
非易失性存储器(“NVM”),它的存储器空间被组织成存储器块,用于持久地存储数据,其中所述存储器块是通过物理页面地址(“PPA”)和逻辑块地址(“LBA”)可访问的;以及
控制器,被耦合到所述主机和所述NVM,所述控制器被配置成具有混合接口组件和缓存,其中所述混合接口组件被配置成促成利用使用PPA和LBA的多种协议来访问所述NVM,其中所述缓存存储闪存转换层(“FTL”)表的一部分、FTL索引表以及第二FTL索引表。
18.根据权利要求17所述的系统,其中,所述混合接口组件能够经由高速非易失性存储器(“NVMe”)协议与所述NVM对接。
19.根据权利要求18所述的系统,其中,所述混合接口组件能够经由非易失性存储器加(“NVM++”)协议与所述NVM对接。
20.根据权利要求17所述的系统,其中,所述CPU存储器存储所述FTL表和所述FTL索引表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562242675P | 2015-10-16 | 2015-10-16 | |
US62/242,675 | 2015-10-16 | ||
PCT/US2016/057087 WO2017066601A1 (en) | 2015-10-16 | 2016-10-14 | Method and apparatus for providing hybrid mode to access ssd drive |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108139902A true CN108139902A (zh) | 2018-06-08 |
Family
ID=58517954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680060649.XA Pending CN108139902A (zh) | 2015-10-16 | 2016-10-14 | 用于提供混合模式来访问ssd驱动器的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10331364B2 (zh) |
CN (1) | CN108139902A (zh) |
TW (1) | TW201729105A (zh) |
WO (1) | WO2017066601A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502452A (zh) * | 2019-07-12 | 2019-11-26 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
CN111506257A (zh) * | 2019-01-31 | 2020-08-07 | 爱思开海力士有限公司 | 用于在存储器系统中传输映射信息的装置和方法 |
CN112667529A (zh) * | 2019-10-16 | 2021-04-16 | 戴尔产品有限公司 | 网络织物存储系统 |
CN114077559A (zh) * | 2020-08-11 | 2022-02-22 | 慧荣科技股份有限公司 | 存储装置的存取管理的方法及设备 |
CN114153379A (zh) * | 2021-10-29 | 2022-03-08 | 尧云科技(西安)有限公司 | 一种高性能的混合ftl方法及固态存储设备 |
TWI761748B (zh) * | 2020-01-06 | 2022-04-21 | 慧榮科技股份有限公司 | 多階層映射資訊管理之資料儲存裝置以及非揮發式記憶體控制方法 |
WO2024022205A1 (en) * | 2022-07-29 | 2024-02-01 | Beijing Tenafe Electronic Technology Co., Ltd. | Processor-dependent address translation for host memory buffer |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105353989B (zh) * | 2015-11-19 | 2018-12-28 | 华为技术有限公司 | 存储数据访问方法及相关的控制器、设备、主机和系统 |
TWI645286B (zh) | 2017-08-31 | 2018-12-21 | 慧榮科技股份有限公司 | 記憶體控制裝置和方法 |
KR102457564B1 (ko) * | 2017-09-20 | 2022-10-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10970226B2 (en) * | 2017-10-06 | 2021-04-06 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US10558393B2 (en) * | 2017-10-20 | 2020-02-11 | Qualcomm Incorporated | Controller hardware automation for host-aware performance booster |
CN108153682B (zh) * | 2017-12-12 | 2020-10-27 | 西安交通大学 | 一种利用闪存内部并行性进行闪存转换层地址映射的方法 |
CN109947660B (zh) * | 2017-12-21 | 2023-03-14 | 建兴储存科技(广州)有限公司 | 固态储存装置及其相关计算机系统 |
US11029879B2 (en) * | 2018-01-29 | 2021-06-08 | Samsung Electronics Co., Ltd | Page size synchronization and page size aware scheduling method for non-volatile memory dual in-line memory module (NVDIMM) over memory channel |
TWI651650B (zh) * | 2018-02-05 | 2019-02-21 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法及使用所述方法的儲存控制器 |
US10997066B2 (en) * | 2018-02-20 | 2021-05-04 | Samsung Electronics Co., Ltd. | Storage devices that support cached physical address verification and methods of operating same |
WO2020028804A1 (en) * | 2018-08-03 | 2020-02-06 | Micron Technology, Inc. | Host-resident translation layer validity check |
US11263124B2 (en) * | 2018-08-03 | 2022-03-01 | Micron Technology, Inc. | Host-resident translation layer validity check |
US10923202B2 (en) | 2018-08-03 | 2021-02-16 | Micron Technology, Inc. | Host-resident translation layer triggered host refresh |
CN110968527A (zh) * | 2018-09-30 | 2020-04-07 | 北京忆恒创源科技有限公司 | Ftl提供的缓存 |
CN109327536B (zh) * | 2018-11-12 | 2020-12-25 | 郑州源创智控有限公司 | 一种快速实现分散设备集中控制的方法 |
US11226907B2 (en) | 2018-12-19 | 2022-01-18 | Micron Technology, Inc. | Host-resident translation layer validity check techniques |
US11226894B2 (en) | 2018-12-21 | 2022-01-18 | Micron Technology, Inc. | Host-based flash memory maintenance techniques |
CN109918316B (zh) * | 2019-02-26 | 2021-07-13 | 深圳忆联信息系统有限公司 | 一种减少ftl地址映射空间的方法及其系统 |
KR20200106682A (ko) * | 2019-03-05 | 2020-09-15 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작방법 |
KR20210011216A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 메타 데이터 관리 방법 및 장치 |
KR20200119059A (ko) * | 2019-04-09 | 2020-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11237973B2 (en) * | 2019-04-09 | 2022-02-01 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
KR20210011201A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 온도 조절 방법 |
KR20210011176A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 액세스 동작 방법 및 장치 |
KR20210014338A (ko) | 2019-07-30 | 2021-02-09 | 에스케이하이닉스 주식회사 | 데이터 저장 장치, 데이터 처리 시스템 및 데이터 저장 장치의 동작 방법 |
KR20200132047A (ko) | 2019-05-15 | 2020-11-25 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 데이터를 전송하는 방법 및 장치 |
KR20200139913A (ko) * | 2019-06-05 | 2020-12-15 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치 |
KR20200122086A (ko) | 2019-04-17 | 2020-10-27 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치 |
KR20210001546A (ko) | 2019-06-28 | 2021-01-06 | 에스케이하이닉스 주식회사 | 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법 |
US11294825B2 (en) | 2019-04-17 | 2022-04-05 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
US10860228B1 (en) * | 2019-06-24 | 2020-12-08 | Western Digital Technologies, Inc. | Method to switch between traditional SSD and open-channel SSD without data loss |
KR20210039872A (ko) * | 2019-10-02 | 2021-04-12 | 삼성전자주식회사 | 프리 블록의 할당을 관리하는 호스트 시스템, 이를 포함하는 데이터 처리 시스템 및 호스트 시스템의 동작방법 |
CN111177033A (zh) * | 2019-12-24 | 2020-05-19 | 河南文正电子数据处理有限公司 | 一种固态硬盘的使用方法 |
US11036625B1 (en) * | 2020-04-24 | 2021-06-15 | Micron Technology, Inc. | Host-resident translation layer write command associated with logical block to physical address of a memory device |
CN114461536A (zh) * | 2020-11-10 | 2022-05-10 | 瑞昱半导体股份有限公司 | 查找表建立及内存地址查询方法 |
TWI800795B (zh) * | 2021-02-09 | 2023-05-01 | 宏碁股份有限公司 | 使用持續性記憶體的資料整理方法與記憶體儲存系統 |
JP2023000085A (ja) * | 2021-06-17 | 2023-01-04 | キオクシア株式会社 | メモリシステム及び情報処理システム |
CN113778911B (zh) * | 2021-08-04 | 2023-11-21 | 成都佰维存储科技有限公司 | L2p数据缓存方法、装置、可读存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238886A1 (en) * | 2010-03-23 | 2011-09-29 | Apple Inc. | Garbage collection schemes for index block |
CN102483714A (zh) * | 2009-07-24 | 2012-05-30 | 苹果公司 | 恢复索引页 |
CN103164346A (zh) * | 2011-12-12 | 2013-06-19 | 苹果公司 | Lba位图使用 |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
US20140304453A1 (en) * | 2013-04-08 | 2014-10-09 | The Hong Kong Polytechnic University | Effective Caching for Demand-based Flash Translation Layers in Large-Scale Flash Memory Storage Systems |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542911B2 (en) | 2001-03-01 | 2003-04-01 | Sun Microsystems, Inc. | Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache |
US20090198952A1 (en) * | 2008-02-04 | 2009-08-06 | Apple Inc | Memory Mapping Architecture |
US9223642B2 (en) * | 2013-03-15 | 2015-12-29 | Super Talent Technology, Corp. | Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance |
US8321646B2 (en) | 2010-04-13 | 2012-11-27 | Dot Hill Systems Corporation | Method and apparatus for rebalancing storage components within a storage tier |
GB2496798B (en) | 2010-07-27 | 2016-10-12 | Ibm | Logical to physical address mapping in storage systems comprising solid state memory devices |
KR20130089044A (ko) | 2012-02-01 | 2013-08-09 | 삼성디스플레이 주식회사 | 반도체 장치 및 그를 구비하는 평판표시장치 |
US9785355B2 (en) * | 2013-06-26 | 2017-10-10 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over ethernet-type networks |
US9383927B2 (en) | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
US10866737B2 (en) * | 2015-09-17 | 2020-12-15 | Intel Corporation | Apparatus, method and system to store information for a solid state drive |
-
2016
- 2016-10-14 WO PCT/US2016/057087 patent/WO2017066601A1/en unknown
- 2016-10-14 US US15/294,547 patent/US10331364B2/en active Active
- 2016-10-14 CN CN201680060649.XA patent/CN108139902A/zh active Pending
- 2016-10-17 TW TW105133406A patent/TW201729105A/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102483714A (zh) * | 2009-07-24 | 2012-05-30 | 苹果公司 | 恢复索引页 |
US20110238886A1 (en) * | 2010-03-23 | 2011-09-29 | Apple Inc. | Garbage collection schemes for index block |
CN103164346A (zh) * | 2011-12-12 | 2013-06-19 | 苹果公司 | Lba位图使用 |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
US20140304453A1 (en) * | 2013-04-08 | 2014-10-09 | The Hong Kong Polytechnic University | Effective Caching for Demand-based Flash Translation Layers in Large-Scale Flash Memory Storage Systems |
Non-Patent Citations (2)
Title |
---|
C. WANG: "TreeFTL: Efficient RAM management for high performance of NAND flash-based storage systems", 《2013 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE)》 * |
王健: "基于NAND Flash的嵌入式文件系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506257A (zh) * | 2019-01-31 | 2020-08-07 | 爱思开海力士有限公司 | 用于在存储器系统中传输映射信息的装置和方法 |
CN110502452A (zh) * | 2019-07-12 | 2019-11-26 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
CN110502452B (zh) * | 2019-07-12 | 2022-03-29 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
CN112667529A (zh) * | 2019-10-16 | 2021-04-16 | 戴尔产品有限公司 | 网络织物存储系统 |
CN112667529B (zh) * | 2019-10-16 | 2024-02-13 | 戴尔产品有限公司 | 网络织物存储系统 |
TWI761748B (zh) * | 2020-01-06 | 2022-04-21 | 慧榮科技股份有限公司 | 多階層映射資訊管理之資料儲存裝置以及非揮發式記憶體控制方法 |
US11416151B2 (en) | 2020-01-06 | 2022-08-16 | Silicon Motion, Inc. | Data storage device with hierarchical mapping information management, and non-volatile memory control method |
CN114077559A (zh) * | 2020-08-11 | 2022-02-22 | 慧荣科技股份有限公司 | 存储装置的存取管理的方法及设备 |
CN114077559B (zh) * | 2020-08-11 | 2023-08-29 | 慧荣科技股份有限公司 | 存储装置的存取管理的方法及设备 |
US11797194B2 (en) | 2020-08-11 | 2023-10-24 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information |
CN114153379A (zh) * | 2021-10-29 | 2022-03-08 | 尧云科技(西安)有限公司 | 一种高性能的混合ftl方法及固态存储设备 |
WO2024022205A1 (en) * | 2022-07-29 | 2024-02-01 | Beijing Tenafe Electronic Technology Co., Ltd. | Processor-dependent address translation for host memory buffer |
Also Published As
Publication number | Publication date |
---|---|
TW201729105A (zh) | 2017-08-16 |
WO2017066601A1 (en) | 2017-04-20 |
US20170109089A1 (en) | 2017-04-20 |
US10331364B2 (en) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108139902A (zh) | 用于提供混合模式来访问ssd驱动器的方法和装置 | |
US10871900B2 (en) | Memory system and method of controlling memory system | |
CN106874211B (zh) | 存储器系统及非易失性存储器的控制方法 | |
CN102460400B (zh) | 基于管理程序的本地和远程虚拟内存页面管理 | |
CN106874217B (zh) | 存储器系统及控制方法 | |
US10126964B2 (en) | Hardware based map acceleration using forward and reverse cache tables | |
US20170024326A1 (en) | Method and Apparatus for Caching Flash Translation Layer (FTL) Table | |
JP5907739B2 (ja) | 不揮発性記憶装置 | |
US10061710B2 (en) | Storage device | |
US10496334B2 (en) | Solid state drive using two-level indirection architecture | |
CN110678836A (zh) | 用于键值存储的持久性存储器 | |
US10503647B2 (en) | Cache allocation based on quality-of-service information | |
KR20140111588A (ko) | 시스템 재부팅을 통해 개선된 캐시 램프업을 달성하기 위하여 캐시 저장부를 관리하기 위한 시스템, 방법 및 컴퓨터-판독 가능한 매체 | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
CN104731717A (zh) | 存储器装置及存储器管理方法 | |
US20160092113A1 (en) | Host-managed non-volatile memory | |
US20170357462A1 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
CN107797934A (zh) | 处理去分配命令的方法与存储设备 | |
KR20210039163A (ko) | 메모리 시스템 및 그것의 동작방법 | |
CN107797938A (zh) | 加快去分配命令处理的方法与存储设备 | |
CN114077389A (zh) | 控制器、存储器系统以及数据处理系统 | |
US9699254B2 (en) | Computer system, cache management method, and computer | |
CN107273306A (zh) | 一种固态硬盘的数据读取、数据写入方法及固态硬盘 | |
US20150121033A1 (en) | Information processing apparatus and data transfer control method | |
CN109840048A (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: 20180608 |