CN115516433A - 用于改进存储器装置中的连续存储器存取的预载技术 - Google Patents
用于改进存储器装置中的连续存储器存取的预载技术 Download PDFInfo
- Publication number
- CN115516433A CN115516433A CN202080100016.3A CN202080100016A CN115516433A CN 115516433 A CN115516433 A CN 115516433A CN 202080100016 A CN202080100016 A CN 202080100016A CN 115516433 A CN115516433 A CN 115516433A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory access
- access command
- command
- determining
- 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
- 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/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供用于改进存储器装置的存储器存取操作的装置及技术。在实例中,一种方法可包含响应于确定存储器存取命令的LBA不在包含映射高速缓存的LBA到物理地址(L2P)区内而将L2P表的多个L2P区从存储器装置的存储器阵列加载到映射高速缓存。当所述存储器存取命令是连续命令时,加载到所述映射高速缓存的所述多个L2P区可提供经改进存储器存取性能。
Description
优先权申请
本申请案主张2020年3月15日申请的序列号为PCT/CN2020/07414的国际申请案的优先权权益,所述国际申请案以全文引用的方式并入本文中。
技术领域
本文中描述的实施例大体上涉及用于改进快闪存储器装置的存取命令的处理量的***及方法。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器需要电力来维持其数据,且包含呈各种形式的随机存取存储器(RAM),例如动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等。非易失性存储器可在未供电时保存所存储的数据(在一些情况中,可实施为只读存储器(ROM)),且可包含一或多种存储技术,例如快闪存储器(例如NAND或NOR快闪)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、铁电RAM(FeRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器(例如相变随机存取存储器(PCRAM))、电阻性随机存取存储器(RRAM)、磁阻性随机存取存储器(MRAM)或3D XPointTM存储器等。
快闪存储器用作各种电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储密度、高可靠性及低功耗的一或多个群组的单晶体管、浮动栅极或电荷俘获存储器胞元。两种常见类型的快闪存储器阵列架构包含以其中布置每一者的基本存储器胞元配置的逻辑形式命名的NAND及NOR架构。存储器阵列的存储器胞元通常布置成矩阵。在实例中,阵列的行中的每一浮动栅极存储器胞元的栅极耦合到存取线(例如字线)。在NOR架构中,阵列的列中的每一存储器胞元的漏极耦合到数据线(例如位线)。在NAND架构中,阵列的串中的每一存储器胞元的漏极一起源极到漏极串联耦合于源极线与位线之间。
存储器装置的存取速度是常见问题,尤其当当前及较新电子装置包含越来越快处理器且应用拥有更快且更准确实时信息反馈时。因此,促进存储器装置改进速度的改进可提供显著技术及实践优势。
附图说明
在不一定按比例绘制的图式中,相同元件符号可描述不同视图中的类似组件。具有不同字母后缀的相同元件符号可表示类似组件的不同例子。图式通常通过实例而非通过限制来说明本发明中论述的各个实施例。
图1说明根据本发明的包含存储器装置的环境的实例的概念化图。
图2大体上说明根据本发明的可在存储器装置(例如UFS装置)的操作期间定位的映射表数据的框图。
图3A大体上说明与常规快闪装置中的读取命令相关联的三个主延迟。
图3B大体上说明根据本发明的包含L2P区预载的实例读取序列。
图4大体上说明根据本发明的操作快闪存储器装置的实例方法。
图5大体上说明根据本发明的在L2P高速缓存未命中之后将多个L2P区加载到L2P高速缓存的实例方法的流程图。
图6是说明其上可实施一或多个实施例的机器的实例的框图。
具体实施方式
存储器装置包含个别存储器裸片,其可例如包含包括实施一种(或多种)选定存储技术的一或多个存储器胞元阵列的存储区。此存储器裸片通常将包含用于操作存储器阵列的支持电路***。其它实例(有时通常称为“受管理存储器装置”)包含与经配置以控制一或多个存储器裸片的操作的存储器控制器功能性相关联的一或多个存储器裸片的组合件。此存储器控制器功能性可简化与外部装置(例如本文中稍后论述的“主机”)的互操作性,且进一步促进(通常)多个离散存储器装置的管理。在此类受管理存储器装置中,控制器功能性可实施于还并入存储器阵列的一或多个裸片上或单独裸片上。在其它存储器装置中,一或多个存储器装置可与存储器控制器功能性组合以形成固态硬盘(SSD)存储卷。
本公开的实例实施例在实施NAND快闪存储器胞元的受管理存储器装置(称为“受管理NAND”装置)的实例中描述。然而,这些实例不限制本公开的范围,其可用实施其它存储器存储技术(例如先前本文中论述的非限制性实例)的存储器装置实施。受管理NAND装置可用作呈各种形式的电子装置的主或辅助存储器且常用于移动装置中。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器胞元可经编程到两个或更多个编程状态。举例来说,单电平胞元(SLC)可表示两个编程状态(例如1或0)中的一者,表示一个数据位。快闪存储器胞元还可表示多于两个编程状态,从而允许在不增加存储器胞元数目的情况下制造更高密度存储器,因为每一胞元可表示多于一个二进制数字(例如多于一个位)。此类胞元可称为多状态存储器胞元、多数字胞元或多电平胞元(MLC)。在某些实例中,MLC可指代每胞元可存储两个数据位(例如四个编程状态中的一者)的存储器胞元,TLC可指代每胞元可存储三个数据位(例如八个编程状态中的一者)的存储器胞元,且QLC可每胞元存储四个数据位。MLC在本文中用于更广义地指代每胞元可存储多于一个数据位的任何存储器胞元(即,其可表示多于两个编程状态;因此,术语MLC在本文中用于更广义地通称为每一胞元存储2个、3个、4个或更多个数据位的存储器胞元)。
受管理存储器装置可根据公认行业标准进行配置及操作。举例来说,受管理NAND装置可为(作为非限制性实例)通用快闪存储(UFSTM)装置、嵌入式MMC装置(eMMCTM)等。举例来说,在上述实例的情况中,UFS装置可根据联合电子装置工程委员会(JEDEC)标准(例如标题为“JEDEC UFS快闪存储装置3.0(JEDEC UFS Flash Storage 3.0)”的JEDEC标准JESD223D及/或此标准的更新或后续版本)进行配置。类似地,经识别eMMC装置可根据标题为“JEDEC eMMC标准5.1(JEDEC eMMC standard 5.1)”的JEDEC标准JESD84-A51及/或此标准的更新或后续版本进行配置。经识别标准仅被提供为其中可利用所描述方法及结构的实例环境,但此类方法及结构可用于经识别标准(或任何其它实际或提出标准)外的各种环境中,本文中明确指示的除外。
SSD尤其可用作计算机的主存储装置,且在例如性能、大小、重量、耐久性、操作温度范围及功耗方面提供相较于具有移动零件的传统硬盘的优点。举例来说,SSD可具有相对于常规磁盘驱动减少的寻道时间、延时或其它延迟。SSD使用非易失性存储器胞元(例如快闪存储器胞元),因此允许驱动更通用及紧凑。
SSD及受管理存储器装置两者可包含数个存储器装置(包含数个裸片或逻辑单元(例如逻辑单元号或LUN)),且通常包含包括处理电路***的存储器控制器,处理电路***通常将包含执行逻辑功能以操作存储器装置或对接外部***的一或多个处理器。此类SSD及受管理存储器装置可包含一或多个快闪存储器裸片,其上包含数个存储器阵列及***电路***。快闪存储器阵列可包含组织成数个物理页或分块的数个存储器胞元块。在一些实例中,SSD还可包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)例如作为控制器的部分。类似地,受管理NAND装置可包含与NAND存储阵列分离且在控制器内或与控制器分离的一或多个易失性及/或非易失性存储器阵列。SSD及受管理NAND装置两者可从主机接收与存储器操作相关联的命令,例如在存储器装置与主机之间传送数据(例如用户数据及相关联完整性数据,例如错误数据及地址数据等)的读取或写入操作或从一或多个存储器装置擦除数据的擦除操作。
本发明实施例将主要参考根据UFS标准构造及操作的受管理NAND装置进行描述。尽管此类受管理NAND装置及UFS标准仅表示相关实例配置,但本发明方法及结构可用实施其它存储技术及/或实施其它标准或操作协议的存储器装置实施。
本描述述及存储器装置、方法及用于管理包含经配置以从主机装置接收指令的存储器控制器的存储器装置的机器可读媒体的实例。存储器控制器经配置以执行包含以下的操作:在存储器管理操作期间将存储器控制器置于低功率模式中;及在许多实例中,基于存储器管理操作的预测完成时间设置唤醒时间(其可由例如与存储器阵列通信的存储器通信接口提供)。存储器控制器还操作以在例如以下中的至少一者之后将存储器控制器切出低功率模式:接收另一存储器管理操作;唤醒时间期满;及从一或多个选定硬件资源接收中断。在样本实施例中,存储器阵列是NAND存储器阵列且存储器管理操作是以下中的一者:对NAND存储器阵列的部分进行编程、擦除NAND存储器阵列的部分及从NAND存储器阵列读取。
图1说明包含经配置以经由通信接口111通信的主机装置105及存储器装置110的环境100的实例。主机装置105或存储器装置110可包含于各种产品150(例如物联网(IoT)装置(例如冰箱或其它电器、传感器、电动机或致动器、移动通信装置、汽车、无人机等))中以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115及存储器阵列120,存储器阵列120包含例如数个个别存储器裸片(例如3D NAND裸片堆叠)。在实例中,存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可为与主机装置105的一或多个其它组件一起堆叠或否则包含的集成电路(例如单芯片***(SOC)等)的部分。在这些实例中,存储器装置110经由通信接口111与主机装置105组件通信。因此,如本文中描述,即使存储器装置110集成到主机装置105中,但主机或主机装置105操作与存储器装置110的操作相异。
各种形式的通信接口可用于在存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、***组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或一或多个其它连接器或接口。主机装置105可包含主机***、电子装置、处理器、存储卡读取器或存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参考图11的机器1100论述的组件的某部分或全部的机器。
存储器控制器115可从主机105接收指令,且可与存储器阵列120通信以(例如)传送(例如写入)数据到存储器阵列120的存储器胞元、平面、子块、块或页中的一或多者或从存储器阵列120的存储器胞元、平面、子块、块或页中的一或多者传送(例如读取)数据或擦除存储器阵列120的存储器胞元、平面、子块、块或页中的一或多者。举例来说,存储器控制器115包含包括一或多个处理器的处理电路***,一或多个处理器在存在时操作以执行存储于存储器装置中的指令。为了本发明实例,尽管指令也可作为软件存在,但指令将被论述为固件;且所描述功能的全部或某部分还可实施于包含一或多个组件或集成电路的电路***中。
举例来说,存储器控制器115可包含经配置以控制跨存储器阵列120的存取及提供主机105与存储器装置110之间的转译层的一或多个存储器控制单元、电路或组件。另外,存储器控制器可包含用于对接相关联存储器装置的存储器接口。在一些实例中,存储器接口可为开放NAND快闪接口(ONFI)。尽管存储器控制器115在此说明为存储器装置110封装的部分,但可采用其它配置,例如存储器控制器115作为主机105的组件(例如,作为与存储器服务110分离的主机105的单芯片***上的离散封装)或甚至经由主机105的中央处理单元(CPU)实施。
存储器管理器125可尤其包含用于与各种存储器管理功能相关联的执行的多个组件或集成电路及/或指令。在一些实施例中,存储器管理器125的功能由执行固件的指令的控制器(或处理器)实施,在一些实例中,固件的指令将存储于存储器控制器115内。在其它实例中,存储器管理器125可至少部分由存储器控制器115内的一或多个处理器实施,存储器控制器115可执行存储于存储器阵列120中的指令。类似地,管理表130(例如映射表或逻辑块到物理地址(L2P)表)可存储于存储器控制器115上或存储器阵列120中。在此类实例中,指令及/或管理表130可存储于NAND裸片堆叠120的某些块中且在操作期间加载到存储器控制器115的工作存储器中。
为了本描述,实例存储器操作及管理功能将在NAND存储器的上下文中描述。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似存储器操作或管理功能。此类NAND管理功能包含损耗均衡、废弃项目收集、回收、错误检测或校正、块引退或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如从主机接收的命令)剖析或格式化成装置命令(例如与存储器阵列120的操作相关联的命令等)或产生用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,用于完成各种存储器管理功能)。此类内部产生操作(例如废弃项目收集、损耗均衡等)可导致执行操作,其可以外部引导存储器操作提供的相同方式为本文中描述的功率管理操作提供机会。
存储器管理器125可包含经配置以维持与存储器装置110的一或多个组件相关联的各种信息(例如与耦合到存储器控制器115的存储器阵列或一或多个存储器胞元相关联的各种信息)的一组管理表130。举例来说,管理表130可包含关于耦合到存储器控制器115的存储器胞元的一或多个块的块年限、块擦除计数、错误历史或一或多个错误计数(例如写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果错误计数中的一或多者的检测到的错误的数目高于阈值,那么位错误可称为不可校正位错误。管理表130尤其可维持可校正或不可校正位错误的计数。在实例中,管理表130可包含转译表或逻辑到物理(L2P)表或其一部分。
阵列控制器135可进一步尤其包含经配置以控制与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器胞元、从所述一或多个存储器胞元读取数据或擦除所述一或多个存储器胞元相关联的存储器操作的电路***或组件。存储器操作可基于例如从主机105接收或由存储器管理器125内部产生(例如,与损耗均衡、错误检测或校正等相关联)的主机命令。
阵列控制器135可进一步包含错误校正码(ECC)组件140,其可尤其包含经配置以检测或校正与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器胞元或从所述一或多个存储器胞元读取数据相关联的错误的ECC引擎或其它电路***。存储器控制器115可经配置以基于由阵列控制器135维持的ECC数据主动检测与数据的各种操作或存储相关联的错误发生(例如位错误、操作错误等)及从所述错误发生恢复。此使存储器控制器115能够维持在主机105与存储器装置110之间传送的数据的完整性或维持所存储数据的完整性。此完整性维持的部分可包含移除(例如引退)失效存储器资源(例如存储器胞元、存储器阵列、页、块等)以防止未来错误。
存储器阵列120可包含布置成(例如)装置、平面、子块、块或页的若干存储器胞元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592个数据字节(B)(16,384+2208个字节)、每块1536页、每平面548个块及每装置4个或更多个平面。作为另一实例,32GB MLC存储器装置(每胞元存储两个数据位(即,4个可编程状态))可包含每页18,592个数据字节(B)(16,384+2208个字节)、每块1024页、每平面548个块及每装置4个平面,但具有对应TLC存储器装置的一半所需写入时间及两倍编程/擦除(P/E)循环。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其一部分可选择性在SLC模式或期望MLC模式(例如TLC、QLC等)中操作。
在操作中,数据通常以页写入到NAND存储器装置110或从NAND存储器装置110读取且以块擦除。然而,一或多个存储器操作(例如读取、写入、擦除等)可视期望对较大或较小群组的存储器胞元执行。NAND存储器装置110的数据传送大小通常称为页,而主机的数据传送大小通常称为扇区。
在一些实例中,存储器阵列可包括数个NAND裸片且用于特定NAND裸片的存储器控制器115的一或多个功能可实施于所述特定裸片上的裸片上控制器上。还可利用控制功能性的其它组织及描述,例如用于每一裸片、平面、超级块、块、页及类似物的控制器。
尽管数据页可包含用户数据(例如包含数个数据扇区的数据有效负载)及其对应元数据的数个字节,但页的大小通常仅指代用于存储用户数据的字节数目。作为实例,具有4KB页大小的数据页可包含4KB用户数据(例如呈现512B扇区大小的8个扇区)及对应于用户数据的数个字节(例如32B、54B、224B等)元数据,例如完整性数据(例如错误检测或校正码数据)、地址数据(例如逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器胞元或存储器阵列120可提供不同页大小或需要与其相关联的不同元数据量。举例来说,不同存储器装置类型可具有不同位错误率,其可导致确保数据页的完整性所需的不同元数据量(例如,具有较高位错误率的存储器装置需要比具有较低位错误率的存储器装置更多的错误校正码数据字节)。作为实例,MLC NAND快闪装置可具有高于对应SLC NAND快闪装置的位错误率。因而,MLC装置需要比对应SLC装置更多的元数据字节用于错误数据。在某些实例中,存储器阵列可包含完整映射表或L2P表161。
图2大体上说明可在存储器装置110(例如UFS装置)的操作期间定位的映射表数据或L2P表数据的框图。在某些实例中,完整映射表161可存储于存储器装置110的存储器阵列中,且映射表161的部分可由存储器控制器115根据需要来检索。映射表161可分成多个L2P区260n。在每一L2P区260n中,存在多个连续LBA(例如256个LBA、512个LBA、1024个LBA、2048个LBA等)的物理地址(PA)。L2P区可为加载及更新自/到快闪的基本单位。
针对读取命令,存储器控制器115可进行LBA转译以找到与读取命令相关联的一或多个LBA的一或多个物理地址(Pa)。如果所需映射数据在存储器控制器115内的管理表130的L2P高速缓存中,那么存储器控制器115可很快得到物理地址。然而,由于L2P高速缓存大小有限,L2P高速缓存命中率可能很低,其意味着读取命令的大量执行要用于从快闪存储器120加载适当L2P区260n。从快闪存储器120到L2P高速缓存的L2P映射加载的开销是可能抑制存储器装置110的读取性能的一个因素。
如上文论述,L2P区可为从快闪阵列传送到L2P高速缓存的基本单位。当L2P高速缓存中没有适当L2P区可用于转译接收到的读取命令的LBA(例如L2P高速缓存未命中)时,常规存储器装置的存储器控制器将一个L2P区从快闪传送到L2P高速缓存。
尽管不限于此,但L2P区大小可为2KB或4KB。针对连续读取,一旦一个L2P区从快闪加载到L2P高速缓存,则L2P区可服务2MB或4MB主机读取。因而,存储器控制器通常可在每个2MB或4MB主机读取之后从快闪加载一个L2P区。加载L2P区的开销包含用于从快闪加载L2P区的读取时间及与用于调度L2P加载任务的存储器控制器开销相关联的延迟时间。因此,常规快闪存储器装置的读取处理量可由于加载映射数据的开销而达不到潜在最高处理量速度。
图3A大体上说明与上文论述的常规快闪装置中的读取命令相关联的三个主延迟。延迟可包含读取所请求数据370(例如2到4MB用户数据)、调度及执行L2P区从快闪阵列传送到L2P高速缓存的存储器控制器开销371及与L2P区从快闪阵列到L2P高速缓存的实际传送372相关联的延迟。
图3B大体上说明包含L@P区预载的实例读取序列。为了降低L2P区加载的开销,在某些实例中,存储器控制器可预载多个L2P区用于连续读取。在某些实例中,当存储器控制器检测到连续读取模式时,存储器控制器可加载多个L2P区(例如8个L2P区)而非仅一个。举例来说,如果8个4KB L2P区加载到L2P高速缓存,那么所述区可提供到32MB用户数据的映射。
再次参考图3A,针对读取32MB数据的常规装置,存储器控制器调度L2P区加载任务8次。然而,如图3B中展示,根据本发明的读取32MB用户数据的存储器装置可调度L2P区加载任务一次且可将多个L2P区从快闪阵列加载到L2P高速缓存以支持与连续读取相关联的许多LBA转译。因而,可降低存储器控制器开销。
另外,常规装置花费8xtR(tR=快闪读取时间)来加载8个L2P区。然而,使用L2P区预载的实例装置可分批将8个快闪读取命令发送到快闪。这些命令可跨所有快闪裸片分布。由于不同裸片上的快闪命令可并行执行,因此最好情况是其仅花费一个快闪读取时间(tR)读取所有8个L2P区。最坏情况是所有8个快闪读取命令以相同裸片为目标,接着其将花费8xtR来加载8个L2P区。总之,分批加载8个L2P区的总时间将小于逐一加载8个L2P区。
表1说明针对单电平胞元(SLC)及三电平胞元(TLC)两者的在没有预载多个L2P区的情况下与在预载多个L2P区的情况下操作实例存储器装置之间的性能改进。
容量 | 快闪类型 | 常规处理量(MB/s) | 处理量w/预载(MB/s) | 改进 |
256GB | SLC | 1845 | 2020 | 9.5% |
256GB | TLC | 1730 | 1950 | 12.7% |
表1
在一些实例中,仅在检测到连续读取模式时进行L2P高速缓存的多个L2P区加载。当未检测到连续读取模式时,存储器控制器在L2P高速缓存未命中事件上加载单个L2P区。在某些实例中,预载更多L2P区用于连续读取可使连续读取性能提高约10%。
图4大体上说明操作快闪存储器装置的实例方法400。在401,快闪存储器装置的存储器控制器或主机接口可从主机接收存储器存取命令。在403,可确定与存储器存取命令一起接收的第一LBA是否编索引于L2P高速缓存内的L2P区中,“L2P高速缓存命中”。在405,如果第一LBA未编索引于L2P高速缓存中的LBA到物理地址(L2P)表的部分中,那么可将完整L2P表的多个L2P区从快闪存储器加载到L2P高速缓存。在407,可基于L2P高速缓存内的第一LBA及多个L2P区中的L2P区确定快闪存储器的物理地址。在409,可使用物理地址执行存储器存取命令。在某些实例中,仅响应于确定存储器存取命令是连续读取命令而执行多个L2P区加载到L2P高速缓存。如果确定存储器存取命令不是连续读取命令且存储器控制器遭遇L2P高速缓存未命中,那么将对应于与存储器存取命令一起接收的LBA的单个L2P区从快闪存储器加载到L2P高速缓存。
如果响应于确定存储器存取命令是连续读取命令而进行多个L2P区从快闪阵列加载到L2P高速缓存,那么存储器控制器可实现更高数据读取处理量,因为与连续读取相关联的后续读取命令不会遭遇L2P高速缓存未命中。
图5大体上说明根据本发明的在L2P高速缓存未命中之后将多个L2P区加载到L2P高速缓存的实例方法505的流程图。在某些实例中且如上文关于图4的方法论述,加载多个L2P区可仅在L2P高速缓存未命中之后且在确定存储器存取命令是连续读取命令(多个L2P区内的连续读取命令)之后进行。方法505可响应于L2P高速缓存未命中而在511启动。在511,可评估命令以确定存储器存取命令是否为读取命令。如果命令不是读取命令,那么方法可继续到513且可将单个L2P区加载到L2P高速缓存。如果确定当前命令是读取命令,那么可评估历史命令信息。在某些实例中,如果紧接在前命令不是读取命令,那么当前命令不被视作连续读取命令。在一些实例中,在将当前命令视作潜在连续读取命令之前,最小数目个紧接在前命令(例如最近4个命令)需要是读取命令。在515,任选地,如果最小数目个紧接在前命令不是读取命令,那么方法继续到513且将单个L2P区加载到L2P高速缓存。在517,可根据最小大小任选地评估数据分块大小或由当前读取命令读取的LBA数目或由当前读取命令读取的读取数据长度。如果当前读取命令的数据分块大小不等于或高于最小大小(例如最大分块或页大小),那么方法可继续到513且将单个L2P区加载到L2P高速缓存。
在519,可关于紧接在前读取命令的参数来评估当前读取命令的起始LBA。作为实例,如果在前命令的LBA加先前读取命令的数据分块大小等于当前读取命令的LBA,那么可确定当前读取命令是连续读取命令。在某些实例中,在前命令的LBA与在前命令的数据大小的相加可指向邻近于当前命令的LBA的LBA以满足确定当前读取命令是连续读取命令。如果当前命令及在前命令的LBA及数据分块参数的评估不对准于支持连续读取,那么方法可继续到513且将单个L2P区加载到L2P高速缓存。
在521,在通过步骤511、515、517或519中的一或多者评估当前命令可为连续读取命令之后,可将多个LBA加载到L2P高速缓存以支持当前读取命令以及任何紧接在后读取命令。在523,可保存当前命令的参数以提供历史命令信息。
图6说明其上可执行本文中论述的技术(例如方法论)中的任一或多者的实例机器600的框图。举例来说,机器600内的存储器***(主存储器604、静态存储器606及大容量存储装置621)中的任何者可实施本文中关于图1到4论述的经改进存储器存取命令执行。在替代性实施例中,机器600可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器600可充当服务器-客户端网络环境中的服务器机器或客户端机器或两者。在实例中,机器600可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器600可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、IoT装置、汽车***或能够(循序或以其它方式)执行指定由机器采取的动作的指令的任何机器。此外,虽然仅说明单个机器,但术语“机器”还应被视为包含个别或联合执行一组(或多组)指令以执行本文中论述的方法论中的任一或多者(例如云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文中描述,实例可包含逻辑、组件、装置、封装或机构或可由逻辑、组件、装置、封装或机构操作。电路***是实施于包含硬件(例如简单电路、门、逻辑等)的有形实体中的电路集合(例如电路组)。电路***成员资格可随时间及基础硬件可变性而灵活变化。电路***包含可在操作时单独或组合地执行特定任务的成员。在实例中,电路***的硬件可经不变设计以实施特定操作(例如硬连线)。在实例中,电路***的硬件可包含可变连接的物理组件(例如执行单元、晶体管、简单电路等),其包含经物理修改(例如磁性、电性、不变质量粒子的可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电性质(例如)从绝缘体改变到导体,或反之亦然。指令使参与硬件(例如执行单元或负载机构)能够经由可变连接产生硬件中电路***的成员以在操作中实施特定任务的部分。因此,当装置操作时,计算机可读媒体通信地耦合到电路***的其它组件。在实例中,物理组件中的任何者可用于多于一个电路***的多于一个成员中。举例来说,在操作下,执行单元可在一时间点用于第一电路***的第一电路中且在一不同时间由第一电路***中的第二电路或第二电路***中的第三电路再用。
机器(例如计算机***)600(例如主机装置105、存储器装置110等)可包含硬件处理器602(例如中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器错误!未找到参考源.04及静态存储器606,其中一些或全部可经由互连(例如总线)608彼此通信。机器600可进一步包含显示器单元错误!未找到参考源.10、字母数字输入装置612(例如键盘)及用户接口(UI)导航装置614(例如鼠标)。在实例中,显示器单元610、输入装置612及UI导航装置614可为触摸屏显示器。机器600可另外包含存储装置(例如驱动单元)621、信号产生装置618(例如扬声器)、网络接口装置620及一或多个传感器616,例如全球定位***(GPS)传感器、指南针、加速度计或其它传感器。机器600可包含输出控制器628,例如用于通信或控制一或多个***装置(例如打印机、读卡器等)的串行(例如通用串行总线(USB)、并行或其它有线或无线(例如红外(IR)、近场通信(NFC)等)连接。
存储装置616可包含机器可读媒体622,其上存储体现本文中描述的技术或功能中的任一或多者或由本文中描述的技术或功能中的任一或多者利用的一或多组数据结构或指令624(例如软件)。指令624还可在其由机器600执行期间完全或至少部分驻留于主存储器604内、静态存储器606内或硬件处理器602内。在实例中,硬件处理器602、主存储器604、静态存储器606或存储装置616中的一者或任何组合可构成机器可读媒体622。
虽然机器可读媒体622被说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令624的单个媒体或多个媒体(例如集中式或分布式数据库或相关联高速缓存及服务器)。
术语“机器可读媒体”可包含能够存储、编码或载送由机器600执行的指令且致使机器600执行本公开的技术中的任一或多者或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器及光学及磁性媒体。在实例中,集结型机器可读媒体包括具有含不变(例如静止)质量的多个粒子的机器可读媒体。因此,集结型机器可读媒体不是暂时性传播信号。集结型机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内部硬盘及可卸除式磁盘;磁光盘;及CD-ROM及DVD-ROM磁盘。
指令624(例如软件、程序、操作***(OS)等)或其它数据经存储于存储装置621上,可由存储器604存取以供处理器602使用。存储器604(例如DRAM)通常是快速但易失性的,且因此是不同于存储装置621(例如SSD)的存储类型,存储装置621适于长期存储(包含在“断电”条件下)。由用户或机器600使用的指令624或数据通常加载于存储器604中供处理器602使用。当存储器604已满时,可分配来自存储装置621的虚拟空间来补充存储器604;然而,因为存储装置621通常慢于存储器604且写入速度通常比读取速度慢至少1倍,所以使用虚拟存储器会由于存储装置延时而大幅降低用户体验(相比于存储器604,例如DRAM)。此外,将存储装置621用于虚拟存储器会大幅缩减存储装置621的可用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如内核特征“ZRAM”)使用存储器的部分作为经压缩块存储装置以避免分页到存储装置621。分页发生于经压缩块中,直到需要将此数据写入到存储装置621。虚拟存储器压缩增大存储器604的可用大小,同时减少存储装置621上的损耗。
经优化用于移动电子装置或移动存储装置的存储装置通常包含MMC固态存储装置(例如微型安全数字(microSDTM)卡等)。MMC装置包含与主机装置的数个并行接口(例如8位并行接口),且通常为可从主机装置卸除及分离的组件。相比而言,eMMCTM装置经附接到电路板且被视为主机装置的组件,其具有匹敌基于串行ATATM(串行AT(高级技术)附件或SATA)的SSD装置的读取速度。然而,对移动装置性能的需求不断增加以例如完全实现虚拟或增强现实装置、利用提高网络速度等。响应于此需求,存储装置已从并行通信接口转换到串行通信接口。通用快闪存储(UFS)装置(包含控制器及固件)使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,从而进一步提高读取/写入速度。
指令624可进一步通过通信网络626使用传输媒体经由利用数个传送协议中的任一者(例如帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)的网络接口装置620进行传输或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、简易老式电话(POTS)网络及无线数据网络(例如美国电气及电子工程师协会(IEEE)802.11系列标准(称为)、IEEE 802.16系列标准(称为)、IEEE 802.15.4系列标准、对等(P2P)网络等)。在实例中,网络接口装置620可包含一或多个物理插孔(例如以太网络、同轴或电话插孔)或一或多个天线以连接到通信网络626。在实例中,网络接口装置620可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者无线通信。术语“传输媒体”应被视为包含能够存储、编码或载送由机器600执行的指令的任何无形媒体,且包含促进此软件通信的数字或模拟通信信号或其它无形媒体。
额外实例:
在实例1中,一种方法可包含:从主机接收存储器存取命令;确定包含与所述存储器存取命令一起接收的第一LBA的L2P区是否在映射高速缓存内;响应于确定包含所述存储器存取命令的所述LBA的所述L2P区不在所述映射高速缓存内,将LBA到物理地址(L2P)表的多个L2P区从快闪存储器加载到所述映射高速缓存;基于所述映射高速缓存内的所述第一LBA及所述多个L2P区中的第一L2P区确定所述快闪存储器的物理地址;及执行所述存储器存取命令。
在实例2中,根据实例1所述的方法任选地包含:接收第二存储器存取命令;及确定所述映射高速缓存的第二L2P区包含与所述第二存储器存取命令一起接收的第二LBA。
在实例3中,根据实例1到2中任一或多者所述的方法任选地包含在所述接收所述第二存储器存取命令之后,执行所述第二存储器存取命令且无需先将所述L2P表的部分从所述快闪存储器传送到所述映射高速缓存。
在实例4中,根据实例1到3中任一或多者所述的接收所述存储器存取命令任选地包含确定所述存储器存取命令是连续读取命令。
在实例5中,根据实例1到4中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定所述存储器存取命令是读取命令。
在实例6中,根据实例1到5中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定多个紧接在前存储器存取命令是专门读取命令。
在实例7中,根据实例1到6中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定所述存储器存取命令是具有等于最大数据分块大小的数据分块大小的读取命令。
在实例8中,根据实例1到7中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定来自紧接在前读取命令的起始LBA与所述紧接在前读取命令的数据分块大小的总和指向所述存储器存取命令的起始LBA。
在实例9中,根据实例1到8中任一或多者所述的LTP表的L2P区任选地经配置以将多于1000个LBA映射到所述快闪存储器的对应物理地址。
在实例10中,根据实例1到9中任一或多者所述的加载多个L2P区任选地包含将所述L2P表的至少三个L2P区从所述快闪存储器加载到所述存储器高速缓存。
在实例11中,一种存储器装置可包含存储器阵列(例如快闪存储器阵列)及存储器控制器。所述存储器控制器可经配置以从主机装置接收命令。所述存储器控制器可包含包括一或多个处理器的处理电路***,且可经配置以执行包含以下的操作:从主机接收存储器存取命令;确定包含与所述存储器存取命令一起接收的第一LBA的L2P区是否在映射高速缓存内;响应于确定包含所述存储器存取命令的所述LBA的所述L2P区不在所述映射高速缓存内,将LBA到物理地址(L2P)表的多个L2P区从快闪存储器加载到所述映射高速缓存;基于所述映射高速缓存内的所述第一LBA及所述多个L2P区中的第一L2P区确定所述快闪存储器的物理地址;及执行所述存储器存取命令。
在实例12中,根据实例1到11中任一或多者所述的存储器装置的所述操作任选地包含:接收第二存储器存取命令;及确定所述映射高速缓存的第二L2P区包含与所述第二存储器存取命令一起接收的第二LBA。
在实例13中,根据实例1到12中任一或多者所述的存储器装置的所述操作任选地包含在所述接收所述第二存储器存取命令之后,执行所述第二存储器存取命令且无需先将所述L2P表的部分从所述快闪存储器传送到所述映射高速缓存。
在实例14中,根据实例1到13中任一或多者所述的存储器装置的所述操作任选地包含确定所述存储器存取命令是连续读取命令。
在实例15中,根据实例1到14中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定所述存储器存取命令是读取命令。
在实例16中,根据实例1到15中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定多个紧接在前存储器存取命令是专门读取命令。
在实例17中,根据实例1到16中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定所述存储器存取命令是具有等于最大数据分块大小的数据分块大小的读取命令。
在实例18中,根据实例1到17中任一或多者所述的确定所述存储器存取命令是连续读取命令任选地包含确定来自紧接在前读取命令的起始LBA与所述紧接在前读取命令的数据分块大小的总和指向所述存储器存取命令的起始LBA。
在实例19中,根据实例1到18中任一或多者所述的LTP表的L2P区任选地包含经配置以将多于1000个LBA映射到所述快闪存储器的对应物理地址。
在实例20中,根据实例1到19中任一或多者所述的加载多个L2P区的操作任选地包含将所述L2P表的至少三个L2P区从所述快闪存储器加载到所述存储器高速缓存。
实例21是一种至少一个机器可读媒体,其包含在由处理电路***执行时致使所述处理电路***执行实施实例1到20中的任何者的操作的指令。
实例22是一种设备,其包括用于实施实例1到20中的任何者的构件。
实例23是一种***,其用于根据实例1到20中的任何者。
实例24是一种方法,其用于实施实例1到20中的任何者。
以上详细描述包含参考构成详细描述的一部分的附图。图式通过说明来展示其中可实践本发明的特定实施例。这些实施例在本文中还称为“实例”。此类实例可包含除所展示或描述元件之外的元件。然而,本发明者还考虑其中仅提供所展示或描述的那些元件的实例。此外,本发明者还考虑使用关于特定实例(或其一或多个方面)或关于本文中展示或描述的其它实例(或其一或多个方面)展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本发明中,专利档案中常见的术语“一”用于包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或用法。在本发明中,术语“或”用于指代非排他性“或”,使得“A或B”可包含“A但非B”、“B但非A”及“A及B”,除非另有指示。在所附权利要求书中,术语“包含”及“其中(in which)”用作相应术语“包括”及“其中(wherein)”的普通英语等效形式。而且,在所附权利要求书中,术语“包含”及“包括”是开放式的,即,包含除权利要求中此术语之后所列的元件之外的元件的***、装置、物品或过程仍被认为落于所述权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标记,且不希望对其对象强加数字要求。
在各个实例中,本文中描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路***或固件。如本文中使用,“处理器”意味着任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路(包含处理器或多核心装置群组)。
如本发明中使用,术语“水平”经定义为平行于衬底的常规平面或表面的平面(例如晶片或裸片下的平面),与衬底在任何时间点的实际定向无关。术语“垂直”指代垂直于上文定义的水平的方向。介词(例如“在…上”、“在…上方”及“在…下方”)相对于常规平面或表面定义为在衬底的顶部或暴露表面上,与衬底的定向无关;而“在…上”希望表明一个结构相对于所述结构位于其“上”的另一结构的直接接触(如果没有明确相反指示);术语“在…上方”及“在…下方”明确地希望识别结构(或层、特征等)的相对放置,其明确包含(但不限于)经识别结构之间的直接接触,除非明确如此识别。类似地,术语“在…上方”及“在…下方”不限于水平定向,因为如果在某个时间点结构是所论述的构造的最外部分,那么其可在参考结构“上方”,即使此结构相对于参考结构垂直延伸,而非在水平定向上。
术语“晶片”及“衬底”在本文中通常用于指代其上形成集成电路的任何结构,且也指代在集成电路制造的各个阶段期间的此类结构。因此,以下详细描述不应被视为意在限制,且各个实施例的范围仅由所附权利要求书及此权利要求书所授权的等效物的全范围定义。
根据本公开及本文中描述的各个实施例包含利用垂直结构的存储器胞元(例如NAND存储器胞元串)的存储器。如本文中使用,方向性形容词将被视为相对于其上形成存储器胞元的衬底的表面(即,垂直结构将被视为延伸远离衬底表面,垂直结构的底端将被视为最靠近衬底表面的端且垂直结构的顶端将被视为最远离衬底表面的端)。
如本文中使用,方向性形容词(例如水平、竖立、法向、平行、垂直等)可指代相对定向,且不希望要求严格遵守特定几何性质,除非另有说明。举例来说,如本文中使用,竖立结构无需严格垂直于衬底的表面,而是可大体上垂直于衬底的表面,且可与衬底的表面形成一锐角(例如,在60到120度之间等)。
在本文中描述的一些实施例中,不同掺杂配置可应用于源极侧选择门(SGS)、控制栅极(CG)及漏极侧选择门(SGD),其中每一者在此实例中可由多晶硅形成或至少包含多晶硅,结果使得这些层(例如多晶硅等)可在暴露于蚀刻溶液时具有不同蚀刻率。举例来说,在3D半导体装置中形成单块柱的过程中,SGS及CG可形成凹部,而SGD可保持较少凹入或甚至不凹入。因此,这些掺杂配置可通过使用蚀刻溶液(例如氢氧化四甲基铵(TMCH))来实现选择性蚀刻到3D半导体装置中的相异层(例如SGS、CG及SGD)中。
如本文中使用,操作存储器胞元包含从存储器胞元读取、写入到存储器胞元或擦除存储器胞元。使存储器胞元处于预期状态中的操作在本文中称为“编程”,且可包含写入到存储器胞元或从存储器胞元擦除两者(例如,存储器胞元可经编程到经擦除状态)。
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如处理器、控制器、固件等)能够确定(例如选择、设置、调整、计算、改变、清除、通信、调适、导出、定义、利用、修改、应用等)一定数量的损耗循环或损耗状态(例如记录损耗循环、计数存储器装置的操作(在其发生时)、在存储器装置启动时最终其操作、评估对应于损耗状态的存储器装置特性等)。
根据本公开的一或多个实施例,存储器存取装置可经配置以用每一存储器操作将损耗循环信息提供到存储器装置。存储器装置控制电路***(例如控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能变化。存储器装置可接收损耗循环信息且响应于损耗循环信息而确定一或多个操作参数(例如值、特性)。
应理解,当元件被称为“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在所述另一元件上、直接连接到所述另一元件或直接与所述另一元件耦合或可存在中介元件。相比而言,当元件被称为“直接在另一元件上”、“直接连接到另一元件”或“直接与另一元件耦合”时,不存在中介元件或层。如果两个元件在图式中展示为用线将其连接,那么两个元件可耦合或直接耦合,除非另有指示。
本文中描述的方法实例可至少部分经机器或计算机实施。一些实例可包含用可操作以配置电子装置执行上文实例中描述的方法的指令编码的计算机可读媒体或机器可读媒体。此类方法的实施方案可包含代码,例如微代码、汇编语言代码、高级语言代码或类似物。此代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,代码可有形地存储于一或多个易失性或非易失性有形计算机可读媒体上,例如在执行期间或在其它时间。这些有形计算机可读媒体的实例可包含(但不限于)硬盘、可卸除式磁盘、可卸除式光盘(例如光盘及数字视频磁盘)、卡式磁带、存储卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态硬盘(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。
上文描述希望具说明性而非限制性。举例来说,上述实例(或其一或多个方面)可彼此组合使用。例如,所属领域的一般技术人员可在检视上文描述之后使用其它实施例。在提交时应理解,其不会用于解译或限制权利要求书的范围或含义。而且,在具体实施方式中,各种特征可分组在一起以简化本公开。此不应被解译为希望未主张的公开特征是任何权利要求必不可少的。确切来说,本发明可具有特定公开实施例的非全部特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求自身作为单独实施例,且预期此类实施例可以各种组合或排列彼此组合。应参考所附权利要求书连同此权利要求书所授权的等效物的全范围来确定本发明的范围。
Claims (20)
1.一种由存储器装置执行的方法,所述方法包括:
从主机接收第一存储器存取命令,所述第一存储器存取命令用于存取所述存储器装置的存储器阵列;
确定映射高速缓存的LBA到物理地址(L2P)区是否包含与所述第一存储器存取命令一起接收的第一LBA;
响应于确定所述第一存储器存取命令的所述LBA不在所述映射高速缓存的所述L2P区内,将L2P表的多个L2P区加载到所述映射高速缓存;
基于所述映射高速缓存内的所述第一LBA及所述多个L2P区中的第一L2P区确定所述存储器阵列的第一物理地址;及
基于所述第一物理地址执行所述第一存储器存取命令。
2.根据权利要求1所述的方法,其包含:
接收第二存储器存取命令;及
确定所述映射高速缓存的第二L2P区包含与所述第二存储器存取命令一起接收的第二LBA。
3.根据权利要求2所述的方法,其包含在所述接收所述第二存储器存取命令之后,执行所述第二存储器存取命令且无需先将所述L2P表的部分从所述存储器阵列传送到所述映射高速缓存。
4.根据权利要求1所述的方法,其中接收所述第一存储器存取命令包含确定所述第一存储器存取命令是连续读取命令。
5.根据权利要求4所述的方法,其中确定所述第一存储器存取命令是连续读取命令包含确定所述第一存储器存取命令是读取命令。
6.根据权利要求4所述的方法,其中确定所述第一存储器存取命令是连续读取命令包含确定多个紧接在前存储器存取命令是专门读取命令。
7.根据权利要求4所述的方法,其中确定所述第一存储器存取命令是连续读取命令包含确定所述第一存储器存取命令是具有等于最大数据分块大小的数据分块大小的读取命令。
8.根据权利要求4所述的方法,其中确定所述第一存储器存取命令是连续读取命令包含确定来自紧接在前读取命令的起始LBA与所述紧接在前读取命令的数据分块大小的总和指向所述第一存储器存取命令的起始LBA。
9.根据权利要求1所述的方法,其中所述LTP表的L2P区经配置以将多于1000个LBA映射到快闪存储器的对应物理地址。
10.根据权利要求1所述的方法,其中所述加载多个L2P区包含将所述L2P表的至少三个L2P区从所述快闪存储器加载到所述存储器高速缓存。
11.一种存储器装置,其包括:
存储器阵列;及
存储器控制器,其经配置以从主机装置接收命令,所述存储器控制器包含包括一或多个处理器的处理电路***且经配置以执行包含以下的操作:
从主机接收第一存储器存取命令,所述第一存储器存取命令用于存取所述存储器装置的存储器阵列;
确定L2P高速缓存的LBA到物理地址(L2P)区是否包含与所述第一存储器存取命令一起接收的第一LBA;
响应于确定所述L2P高速缓存的所述L2P区不包含所述第一存储器存取命令的所述LBA,将L2P表的多个L2P区加载到所述L2P高速缓存;
基于所述L2P高速缓存内的所述第一LBA及所述多个L2P区中的第一L2P区确定所述存储器阵列的第一物理地址;及
基于所述第一物理地址执行所述第一存储器存取命令。
12.根据权利要求11所述的存储器装置,其中所述操作包含:
接收第二存储器存取命令;及
确定所述L2P高速缓存的第二L2P区包含与所述第二存储器存取命令一起接收的第二LBA。
13.根据权利要求12所述的存储器装置,其中所述操作包含在所述接收所述第二存储器存取命令之后,执行所述第二存储器存取命令且无需先将所述L2P表的部分从所述存储器阵列传送到所述L2P高速缓存。
14.根据权利要求11所述的存储器装置,其中接收所述第一存储器存取命令的所述操作包含确定所述第一存储器存取命令是连续读取命令。
15.根据权利要求14所述的存储器装置,其中确定所述第一存储器存取命令是连续读取命令包含确定所述第一存储器存取命令是读取命令。
16.根据权利要求14所述的存储器装置,其中确定所述第一存储器存取命令是连续读取命令包含确定多个紧接在前存储器存取命令是专门读取命令。
17.根据权利要求14所述的存储器装置,其中确定所述第一存储器存取命令是连续读取命令包含确定所述第一存储器存取命令是具有等于最大读取数据长度的读取数据长度的读取命令。
18.根据权利要求14所述的存储器装置,其中确定所述第一存储器存取命令是连续读取命令包含确定来自紧接在前读取命令的起始LBA与所述紧接在前读取命令的读取数据长度的总和指向所述第一存储器存取命令的起始LBA。
19.根据权利要求11所述的存储器装置,其中所述L2P表的L2P区经配置以将多于1000个LBA映射到快闪存储器的对应物理地址。
20.根据权利要求11所述的存储器装置,其中加载多个L2P区的所述操作包含将所述L2P表的至少三个L2P区从所述存储器阵列加载到所述L2P高速缓存。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2020/079414 | 2020-03-15 | ||
PCT/CN2020/079414 WO2021184141A1 (en) | 2020-03-15 | 2020-03-15 | Pre-load techniques for improved sequential read |
PCT/CN2020/116462 WO2021184714A1 (en) | 2020-03-15 | 2020-09-21 | Pre-load techniques for improved sequential memory access in a memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115516433A true CN115516433A (zh) | 2022-12-23 |
Family
ID=77767977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080100016.3A Pending CN115516433A (zh) | 2020-03-15 | 2020-09-21 | 用于改进存储器装置中的连续存储器存取的预载技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11868245B2 (zh) |
CN (1) | CN115516433A (zh) |
DE (1) | DE112020006908T5 (zh) |
WO (2) | WO2021184141A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021184141A1 (en) | 2020-03-15 | 2021-09-23 | Micron Technology, Inc. | Pre-load techniques for improved sequential read |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569363B2 (en) * | 2009-03-30 | 2017-02-14 | Via Technologies, Inc. | Selective prefetching of physically sequential cache line to cache line that includes loaded page table entry |
US8161246B2 (en) * | 2009-03-30 | 2012-04-17 | Via Technologies, Inc. | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry |
CN202007414U (zh) | 2011-03-10 | 2011-10-12 | 上海市水产研究所 | 连续梁式锚基 |
US9235346B2 (en) * | 2012-05-04 | 2016-01-12 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Dynamic map pre-fetching for improved sequential reads of a solid-state media |
JP6243745B2 (ja) | 2014-01-27 | 2017-12-06 | 株式会社スギノマシン | 流体ノズル |
US9858008B2 (en) * | 2014-10-30 | 2018-01-02 | ScaleFlux | Method to reduce flash memory IOs with host maintained address mapping table |
US20170024326A1 (en) | 2015-07-22 | 2017-01-26 | CNEX-Labs, Inc. | Method and Apparatus for Caching Flash Translation Layer (FTL) Table |
US20170024145A1 (en) * | 2015-07-23 | 2017-01-26 | Qualcomm Incorporated | Address translation and data pre-fetch in a cache memory system |
CN106681654B (zh) * | 2016-09-29 | 2019-08-27 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
TWI603335B (zh) * | 2016-10-19 | 2017-10-21 | 合肥兆芯電子有限公司 | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |
CN106569961B (zh) * | 2016-10-31 | 2023-09-05 | 珠海市一微半导体有限公司 | 一种基于访存地址连续性的cache模块及其访存方法 |
CN107273053A (zh) * | 2017-06-22 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种数据读取的方法与装置 |
KR20190057887A (ko) * | 2017-11-21 | 2019-05-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN108319556B (zh) * | 2017-12-28 | 2019-01-18 | 湖北经济学院 | 一种新的面向刷新的内存预取控制器及方法 |
US10649776B2 (en) * | 2018-06-29 | 2020-05-12 | Western Digital Technologies, Inc. | System and method for prediction of multiple read commands directed to non-sequential data |
US10732848B2 (en) * | 2018-06-29 | 2020-08-04 | Western Digital Technologies, Inc. | System and method for predictive read of random data |
US10824568B2 (en) * | 2018-07-25 | 2020-11-03 | Western Digital Technologies, Inc. | Speculative pre-fetching of flash translation layer tables for use with solid state systems |
CN109918023A (zh) * | 2019-02-22 | 2019-06-21 | 深圳忆联信息***有限公司 | 基于内存受限ssd的预读取方法、装置和计算机设备 |
US11010299B2 (en) * | 2019-05-20 | 2021-05-18 | Western Digital Technologies, Inc. | System and method for performing discriminative predictive read |
WO2021184141A1 (en) | 2020-03-15 | 2021-09-23 | Micron Technology, Inc. | Pre-load techniques for improved sequential read |
-
2020
- 2020-03-15 WO PCT/CN2020/079414 patent/WO2021184141A1/en active Application Filing
- 2020-09-21 CN CN202080100016.3A patent/CN115516433A/zh active Pending
- 2020-09-21 US US17/272,113 patent/US11868245B2/en active Active
- 2020-09-21 DE DE112020006908.7T patent/DE112020006908T5/de active Pending
- 2020-09-21 WO PCT/CN2020/116462 patent/WO2021184714A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
DE112020006908T5 (de) | 2022-12-29 |
US11868245B2 (en) | 2024-01-09 |
WO2021184714A1 (en) | 2021-09-23 |
WO2021184141A1 (en) | 2021-09-23 |
WO2021184714A8 (en) | 2022-10-13 |
US20220300409A1 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11635899B2 (en) | SLC cache management | |
US10996867B2 (en) | Managing partial superblocks in a NAND device | |
US11403013B2 (en) | Managed NVM adaptive cache management | |
US11720489B2 (en) | Scheme to improve efficiency of device garbage collection in memory devices | |
US11726919B2 (en) | Dynamic L2P cache | |
US11922053B2 (en) | NAND logical-to-physical table region tracking | |
US11341041B2 (en) | Synchronizing NAND logical-to-physical table region tracking | |
US11720278B2 (en) | Data removal marking in a memory device | |
US11868245B2 (en) | Pre-load techniques for improved sequential memory access in a memory device |
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 |