CN115729848A - 直接逻辑到物理地址映射 - Google Patents
直接逻辑到物理地址映射 Download PDFInfo
- Publication number
- CN115729848A CN115729848A CN202211041512.3A CN202211041512A CN115729848A CN 115729848 A CN115729848 A CN 115729848A CN 202211041512 A CN202211041512 A CN 202211041512A CN 115729848 A CN115729848 A CN 115729848A
- Authority
- CN
- China
- Prior art keywords
- data set
- memory system
- data
- sequential
- logical address
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/60—Details of cache memory
- G06F2212/6024—History based prefetching
-
- 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
Abstract
本申请涉及直接逻辑到物理地址映射。存储器系统可基于接收到多个写入命令而将数据写入到所述存储器系统的顺序物理地址,其中所述顺序物理地址可与顺序逻辑地址相关联。基于写入所述数据,所述存储器系统可接收针对存储于所述存储器系统中的数据的读取命令,其中所述读取命令可包含逻辑地址。所述存储器系统可基于接收到的逻辑地址、在所述存储器系统处写入的最后一个逻辑地址以及与所述最后一个逻辑地址相关联的序列号群组而确定其中存储所述数据的所述存储器系统的物理地址。基于确定所述物理地址,所述存储器系统可读取存储在所述物理地址处的所述数据。
Description
交叉引用
本专利申请要求德里西(Drissi)等人于2021年8月30日提交的标题为“直接逻辑到物理地址映射(DIRECT LOGICAL-TO-PHYSICAL ADDRESS MAPPING)”的第17/461,469号美国专利申请的优先权,所述申请转让给本受让人且以引用的方式明确并入本文中。
技术领域
技术领域涉及直接逻辑到物理地址映射。
背景技术
存储器装置广泛用于在各种电子装置中存储信息,例如计算机、用户装置、无线通信装置、相机、数字显示器等等。信息是通过将存储器装置内的存储器单元编程到各个状态来存储的。例如,二进制存储器单元可编程成两个支持状态中的一个,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持超过两个可能状态,其中任一状态可由存储器单元存储。为了存取由存储器装置存储的信息,组件可以读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。易失性存储器单元(例如,DRAM单元)可随时间推移而丢失它们的编程状态,除非它们通过外部电源周期性地刷新。非易失性存储器单元(例如,NAND存储器单元)可将它们的编程状态维持很长一段时间,即使在不存在外部电源的情况下也如此。
发明内容
描述一种设备。所述设备可包含存储器装置和控制器,所述控制器与所述存储器装置耦合且配置成使所述设备:接收将多个数据集写入到存储器系统的多个写入命令;至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包括指令的代码,所述指令在由电子装置的处理器执行时可使所述电子装置:接收将多个数据集写入到存储器系统的多个写入命令;至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
描述一种方法。所述方法可包含:接收将多个数据集写入到存储器系统的多个写入命令;至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
附图说明
图1示出根据本文所公开的实例的支持直接逻辑到物理地址映射的系统的实例。
图2示出根据本文所公开的实例的支持直接逻辑到物理地址映射的资源图的实例。
图3示出根据本文所公开的实例的支持直接逻辑到物理地址映射的过程流的实例。
图4和5示出根据本文所公开的实例的支持直接逻辑到物理地址映射的操作图的实例。
图6示出根据本文所公开的实例的支持直接逻辑到物理地址映射的存储器系统的框图。
图7示出根据本文所公开的实例的流程图,示出了支持直接逻辑到物理地址映射的一或多种方法。
具体实施方式
存储器系统可使用L2P表来跟踪存储器系统的哪些逻辑地址映射到哪些物理地址。存储器系统可将L2P表存储在存储器中,并且可基于在从主机系统接收到的命令中引用的逻辑地址而将L2P表的部分移入和移出高速存储器位置(例如,静态随机存取存储器(SRAM))。将L2P表的部分移入和移出高速存储器位置可能会增加与存取存储于存储器装置中的信息相关联的时延。并且,移动L2P表的部分可能会增加用于存储L2P表的存储器位置的疲劳。
为了减小与确定L2P映射相关联的时延并减少用于存储L2P映射的存储器的疲劳,可以使用直接L2P方法。直接L2P方法可涉及使用与存取存储器系统相关联的信息确定逻辑到物理映射。在一些实例中,存储器系统可基于接收到多个写入命令而将数据写入到存储器系统的顺序物理地址,其中顺序物理地址可与顺序逻辑地址相关联。基于写入数据,存储器系统可接收针对存储于存储器系统中的数据的读取命令,其中读取命令可包含逻辑地址。存储器系统可基于接收到的逻辑地址、在存储器系统处写入的最后一个逻辑地址、与最后一个逻辑地址相关联的序列号群组以及写入操作的顺序性质来确定用于存储数据的存储器系统的物理地址。基于确定物理地址,存储器系统可读取存储在物理地址处的数据。
本公开的特征首先在存储器系统的上下文中描述。本公开的特征还在资源图、过程流和操作图的上下文中描述。本公开的这些和其它特征进一步由涉及直接逻辑到物理地址映射的设备图和流程图示出并且在所述设备图和流程图的上下文中描述。
图1示出根据本文所公开的实例的支持直接逻辑到物理地址映射的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置集合,其中装置或装置集合包含至少一个存储器阵列。例如,存储器系统110可以是或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可包含在计算装置中,所述计算装置例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可包含可与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106介接,所述主机系统控制器可以是配置成使主机系统105根据如本文中所描述的实例执行各种操作的控制器或控制组件的实例。主机系统105可包含一或多个装置,并且在一些情况下,可包含处理器芯片组和由处理器芯片组执行的软件堆栈。例如,主机系统105可包含配置成与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个芯、一或多个高速缓存(例如,在主机系统105本地或包含在主机系统105中的存储器)、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用存储器系统110,例如以将数据写入到存储器系统110和从存储器系统110读取数据。尽管在图1中示出一个存储器系统110,但是主机系统105可与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联的协议经由物理主机接口通信(例如,在存储器系统110和主机系统105之间交换或以其它方式传送控制、地址、数据和其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、双倍数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放式NAND快闪接口(ONFI),以及低功率双倍数据速率(LPDDR)接口。在一些实例中,一或多个此类接口可包含在主机系统105的主机系统控制器106和存储器系统110的存储器系统控制器115中或以其它方式支持在它们之间。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每个存储器装置130的相应物理主机接口或经由用于包含在存储器系统110中的每个类型的存储器装置130的相应物理主机接口而与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可包含任一类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元或其任何组合)的一或多个存储器阵列。尽管图1的实例中示出两个存储器装置130-a和130-b,但是存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含超过一个存储器装置130,那么存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合并与其通信(例如,经由物理主机接口),并且可以是配置成使存储器系统110根据如本文中所描述的实例执行各种操作的控制器或控制组件的实例。存储器系统控制器115还可与存储器装置130耦合并与其通信以执行操作,例如在存储器装置130处读取数据、写入数据、擦除数据或刷新数据——及其它这类操作——这些可统称为存取操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令,并与一或多个存储器装置130通信以执行此类命令(例如,在所述一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作,并且可将命令或操作转换成指令或适当的命令,以实现存储器装置130的所需存取。在一些情况下,存储器系统控制器115可与主机系统105及一或多个存储器装置130交换数据(例如,响应于来自主机系统105的命令或以其它方式与所述命令相关联)。例如,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的对应信号。
存储器系统控制器115可配置成用于与存储器装置130相关联的其它操作。例如,存储器系统控制器115可执行或管理操作,例如耗损均衡操作、垃圾收集操作、错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、媒体管理操作、背景刷新、健康监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬译码)逻辑以执行本文中属于存储器系统控制器115的操作的电路系统。存储器系统控制器115可以是或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。
存储器系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或其它可存储操作代码(例如,可执行指令)的存储器,所述操作代码可由存储器系统控制器115执行以执行本文中属于存储器系统控制器115的功能。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或其它可供存储器系统控制器115用于内部存储或计算的存储器,例如,与本文中属于存储器系统控制器115的功能有关的内部存储或计算。另外或替代地,本地存储器120可用作存储器系统控制器115的高速缓存。例如,如果从存储器装置130读取或向其写入,那么数据可以存储在本地存储器120中,并且数据可在本地存储器120内供主机系统105(例如,相对于存储器装置130具有减小的时延)用于后续根据高速缓存策略进行检索或操控(例如,更新)。
尽管图1中的存储器系统110的实例已经示出为包含存储器系统控制器115,但在一些情况下,存储器系统110可能不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或一或多个本地控制器135,它们可分别在存储器装置130内部,以执行本文中属于存储器系统控制器115的功能。一般来说,本文中属于存储器系统控制器115的一或多个功能在一些情况下实际可由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地受存储器系统控制器115管理的存储器装置130可被称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置130可包含一或多个非易失性存储器单元阵列。例如,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它硫族化物基存储器、铁电随机存取存储器(RAM)(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、氧化物基RRAM(OxRAM)、电可擦除可编程ROM(EEPROM)或其任何组合。另外或替代地,存储器装置130可包含一或多个易失性存储器单元阵列。例如,存储器装置130可包含RAM存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可包含(例如,在同一裸片上或在同一封装内)本地控制器135,其可在相应存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作,或者可执行本文中属于存储器系统控制器115的一或多个功能。例如,如图1中所示,存储器装置130-a可包含本地控制器135-a,且存储器装置130-b可包含本地控制器135-b。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。例如,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一片电子器件级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,每个平面165可包含相应的一组块170,其中每个块170可包含相应的一组页175,每个页175可包含一组存储器单元。
在一些情况下,NAND存储器装置130可包含配置成各自存储一个信息位的存储器单元,其可以称为(SLC)。另外或替代地,NAND存储器装置130可包含配置成各自存储多个信息位的存储器单元,如果配置成各自存储两个信息位,那么其可以称为(MLC),如果配置成各自存储三个信息位,那么可以称为三层级单元(TLC),如果配置成各自存储四个信息位,那么可以称为四层级单元(QLC),或者更一般地称为多层级存储器单元。多层级存储器单元相对于SLC存储器单元可提供更大的存储密度,但是在一些情况下,可能会涉及更窄的读取或写入裕度或支持电路系统的更大复杂性。
在一些情况下,平面165可以指块170的群组,并且在一些情况下,可在不同平面165内进行并行操作。例如,并行操作可在不同块170内的存储器单元上执行,只要所述不同块170在不同平面165中即可。在一些情况下,单独的块170可被称为物理块,并且虚拟块180可以指其内可进行并行操作的块170的群组。例如,并行操作可在分别位于平面165-a、165-b、165-c和165-d的块170-a、170-b、170-c和170-d上执行,并且块170-a、170-b、170-c和170-d可统称为虚拟块180。在一些情况下,虚拟块可包含来自不同存储器装置130的块170(例如,包含存储器装置130-a和存储器装置130-b的一或多个平面中的块)。在一些情况下,虚拟块内的块170可在它们相应的平面165内具有相同块地址(例如,块170-a可以是平面165-a的“块0”,块170-b可以是平面165-b的“块0”,以此类推)。在一些情况下,在不同平面165中执行并行操作可具有一或多个限制,例如并行操作是对在相应平面165内具有相同页地址的不同页175内的存储器单元执行的(例如,与命令解码、页地址解码电路系统或其它电路系统跨平面165共享有关)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,同一页175中的存储器单元可共享公共字线(例如,与其耦合),并且同一串中的存储器单元可共享公共数字线(其可被替代地称作位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级(例如,在页粒度级)读取和编程(例如,写入),但是可在第二粒度级(例如,在块粒度级)擦除。也就是说,页175可以是可独立编程或读取(例如,作为单个编程或读取操作的部分并行编程或读取)的最小存储器(例如,存储器单元集)单位,并且块170可以是可独立擦除(例如,作为单个擦除操作的部分并行擦除)的最小存储器(例如,存储器单元集)单位。此外,在一些情况下,NAND存储器单元可在它们可以用新数据重写之前擦除。因此,例如,在一些情况下,已用页175可直到包含页175的整个块170被擦除才更新。
在一些情况下,为了更新块170内的一些数据同时保留块170内的其它数据,存储器装置130可将要保留的数据复制到新块170,并将更新后的数据写入到新块170的一或多个其余页。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保持在旧块170中的数据标记或以其它方式表示为无效或作废,并且可更新逻辑到物理(L2P)映射表,使数据的逻辑地址(例如,LBA)与新的有效块170而不是旧的无效块170相关联。例如,在一些情况下,由于考虑到时延或耗损,可执行此类复制和重新映射,而不是擦除和重写整个旧块170。在一些情况下,L2P映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,一或多个块170或平面165内),以供本地控制器135或存储器系统控制器115使用(例如,参考和更新)。
在一些情况下,L2P表可被维持,且数据可在页粒度级别标记为有效或无效,并且页175可含有有效数据、无效数据或不含数据。无效数据可以是由于更为新近或更新后的数据版本存储在存储器装置130的不同页175中而过时的数据。无效数据先前已编程到无效页175,但是可能不再与有效逻辑地址相关联,例如主机系统105所引用的逻辑地址。有效数据可以是此类存储在存储器装置130上的最新版本的数据。不包含数据的页175可以是从未被写入或已经被擦除的页175。
系统100可包含任何数量的支持直接逻辑到物理地址映射的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或者可以其它方式存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储用于执行本文中属于主机系统105、存储器系统控制器115或存储器装置130的功能的指令(例如,固件)。例如,此类指令如果由主机系统105(例如,主机系统控制器106)、存储器系统控制器115或存储器装置130(例如,本地控制器135)执行,可使主机系统105、存储器系统控制器115或存储器装置130执行本文中所描述的一或多个相关联功能。
在一些情况下,存储器系统110可使用存储器系统控制器115提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
存储器系统110可使用L2P表跟踪存储器装置130的哪些逻辑地址映射到哪些物理地址。存储器系统110还可使用物理有效性表跟踪块170中的哪些页175正在存储有效信息,以及块170中的哪些页175正在存储无效信息。存储器系统110可在数据写入到存储器装置130时一直更新L2P和有效性表。
基于(例如,响应于)从主机系统105接收到针对数据的请求,存储器系统110可使用L2P表识别数据在存储器装置130中的位置。所述请求可包含针对存储在一逻辑地址处的数据的请求,并且存储器系统可将逻辑地址映射到存储器装置130的物理地址,数据物理地存储在所述物理地址中。存储器系统110可使用L2P表确定从逻辑地址到物理地址的映射。在一些实例中,存储器系统110将L2P表的部分加载到高速存储器位置(例如,SRAM)中——例如,如果L2P表的大小超过高速存储器位置的大小。如果存储器系统110接收当前在存储于高速存储器位置的L2P表的一部分中未引用的逻辑地址,那么存储器系统可加载包含所述逻辑地址的L2P表的部分以确定逻辑地址和对应物理地址之间的L2P映射。
将L2P表的部分移入和移出高速存储器位置可能会增加与存取存储于存储器装置中的信息相关联的时延。并且,移动L2P表的部分可能会增加用于存储L2P表的存储器位置的疲劳。
为了减小与确定L2P映射相关联的时延并减少用于存储L2P映射的存储器疲劳,可以使用直接L2P方法,例如,当信息顺序地写入到存储器装置130时。直接L2P方法可涉及使用与存取存储器系统110相关联的信息确定逻辑到物理映射。在一些实例中,存储器系统110可基于(例如,响应于)接收到多个写入命令而将数据写入到存储器装置。存储器系统110可将数据写入到存储器装置130的顺序物理地址,其中顺序物理地址可与存储器系统110的顺序逻辑地址相关联。基于将数据写入到存储器装置130(例如,在此之后),存储器系统110可接收针对存储于存储器装置130中的数据的请求,其中所述请求可包含与数据的物理地址相对应的逻辑地址。存储器系统110可基于接收到的逻辑地址、通过存储器系统110写入的最后一个逻辑地址及与最后一个逻辑地址相关联的序列号群组而确定数据的物理地址。基于确定物理地址,存储器系统110可读取存储在存储器装置130中的所述物理地址处的数据集。
通过使用直接L2P方法,可以免去将L2P表的部分加载到高速存储器位置中的操作,并且可以使用较小数量的信息来确定逻辑和物理地址之间的映射。
图2示出根据本文所公开的实例的支持直接逻辑到物理地址映射的资源图的实例。
资源图200描绘了用于存储数据的资源(例如,物理资源)的分区。资源图200可包含多个块205,其中每个块205可与资源图200的列相对应且与一序列号相关联。并且,每个块205可分割成多个页210,其中块205的每一页210可与一物理地址相关联,并且在一些实例中,与一逻辑地址相关联。在一些实例中,一次可配置最多K个逻辑地址(例如,{0,1……K-1})。
块205的集合可基于可经配置的逻辑地址数量而分组在一起。在一些实例中,块205的经分组集合可经形成,使得整个一组逻辑地址可以跨越块205的经分组集合的页210进行指派。块205的经分组集合可与序列号群组215相关联。
在执行顺序写入操作时,存储器系统可使用资源图200的布置及有关存取资源图200的资源的信息(例如,最后写入的LBA、当前序列号、当前序列号群组、经配置逻辑地址的数量等),以支持直接L2P映射技术,如本文中更详细描述。
图3示出根据本文所公开的实例的支持直接逻辑到物理地址映射的过程流300的实例。
过程流300可由主机系统305和存储器系统310执行,它们可分别为上文参考图1所描述的主机系统或存储器系统的实例。在一些实例中,过程流300示出经执行以支持直接逻辑到物理地址映射的操作的示例性序列。例如,过程流300描绘用于基于接收到的逻辑地址和所存储的存取信息确定物理地址的操作。
应理解,在过程流300中描述的一或多个操作可在过程中较早或稍晚执行、省略、被另一操作取代、补充或与另一操作组合。并且,可以包含本文所述的不包含在过程流300中的额外操作。
过程流300的各方面可由控制器及其它组件实施。另外或替代地,过程流300的各方面可实施为存储在存储器中的指令(例如,存储在与主机系统305耦合的存储器中的固件或存储在与存储器系统310耦合的存储器中的固件)。例如,所述指令在由控制器(例如,在主机系统305处)执行时可使控制器执行过程流300的操作。
在箭头315处,可由主机系统305传输且由存储器系统310接收一或多个写入命令和对应数据。所述一或多个写入命令可用于将数据写入到存储器系统310。主机系统305也可将数据发送到存储器系统310。所述一或多个写入命令可用于在存储器系统310处执行顺序写入操作。在一些实例中,所述一或多个写入命令对顺序逻辑地址进行寻址。
在框320处,可执行一或多个顺序写入操作,例如由存储器系统310执行。存储器系统310可将与所述一或多个命令相关联的数据写入到存储器系统310处的顺序物理地址。在一些实例中,存储器系统310可跟踪在一时间周期期间写入的逻辑地址的数量,其中写入到逻辑地址的每一实例可以称为LBACopy。
在框325处,可确定由存储器系统310写入的最后一个逻辑地址的索引(其可以称为LastLBA)。在一些实例中,在每个写入操作之后,存储器系统310可确定与写入操作相关联的逻辑地址。在一些实例中,存储器系统310可确定与一系列写入操作中的最后一个写入操作相关联的逻辑地址。
在框330处,可确定由存储器系统310写入的最后一个逻辑地址的全局序列号(其可以称为GSN)。全局序列号可基于一组块内写入最后一个逻辑地址的数据的块(例如,图2的块205)的位置。
在框335处,可基于全局序列号和用于含有完整一组逻辑地址的块的数量(由N表示)而确定序列号群组。在一些实例中,可通过将全局序列号除以用于含有完整一组逻辑地址的块的数量来确定序列号,例如,当逻辑地址的数量等于用于含有完整一组逻辑地址的块所支持的页的数量(其可以由P或SizeBlockInLBA表示)时。在一些实例中,可通过确定全局序列号、逻辑地址的数量以及块中所包含的页的数量来确定序列号,例如,当逻辑地址的数量不同于用于含有完整一组逻辑地址的块所支持的页的数量时。
在框340处,可由存储器系统310存储存取信息(例如,写入的最后一个逻辑地址、全局序列号、序列号群组或其任何组合)。在一些实例中,存储器系统310将存取信息存储在SRAM位置中。
在箭头345处,可由主机系统305传输且由存储器系统310接收读取命令。读取命令可包含主机系统305预期将存储数据的逻辑地址,其可以称为LBAx。
在框350处,与读取命令相关联的逻辑地址可由存储器系统310确定,例如,基于处理读取命令来确定。
在框355处,可确定存储先前针对逻辑地址写入的数据的物理地址。为确定物理地址,存储器系统310可使用在读取命令中接收到的逻辑地址和所存储的存取信息。在一些实例中,为确定物理地址,存储器系统执行用于实施以下语句的一组操作:
If语句可用于确定接收到的逻辑地址的索引是否大于存储器系统310写入的最后一个逻辑地址。如果逻辑地址大于最后一个逻辑地址,那么存储器系统310可确定用于接收到的逻辑地址的数据已使用先前序列号群组中所包含的块写入。否则,存储器系统310可确定用于接收到的逻辑地址的数据已使用当前序列号群组中所包含的块写入。存储器系统310可使用此信息确定数据写入到逻辑地址的实例(例如,LBACopy值)。
一旦确定LBACopy值,存储器系统310就可使用LBACopy值确定其中存储用于读取命令的数据的块的序列号以及块内指向其中存储用于读取命令的数据的块中的页的偏移。可基于块中所包含的页的数量来确定偏移,其中页的数量可以与可与块相关联的逻辑地址的数量相关联。因此,存储器系统310可以使用所确定的序列号来确定存储器系统310中存储接收到的逻辑地址的数据的物理块,并使用所确定的偏移来确定所确定的物理块中存储用于接收到的逻辑地址的数据的物理页。
使用所存储的存取信息确定对应于逻辑地址的物理地址(而不是L2P表)可改进随机读取性能(例如,通过避免加载和读取L2P表)、顺序写入性能(例如,通过避免更新有效性表),并且可减少表耗损(例如,通过避免将L2P表移入和移出存储器)。
在箭头360处,存储在所确定的物理地址处的数据可由存储器系统传输且由主机系统305接收。
图4示出根据本文所公开的实例的支持直接逻辑到物理地址映射的操作图的实例。
资源图400描绘了一组资源,此时数据正被写入所述一组资源。在一些实例中,基于将数据写入所述一组资源来产生直接L2P表,其中直接L2P表可以与所述一组资源类似的方式构造——例如,表格的第一列可以对应于第一块,列的条目可以对应于块405中的页410,等等。并且,列的条目可包含LBACopy值以及写入的LBA值。
在一些实例中,如图4中所示出,所述数量(其可以由K表示)的逻辑地址中的最后一个地址可映射到块405的一部分。在这些情况下,一组经重复逻辑地址可在块的非零起点(例如,中间)开始。在这些情况下,其中逻辑地址相关联的序列号群组415的计算可涉及确定每个序列号群组415的起始位置,例如,而不是将与逻辑地址相关联的序列除以用于含有所述一组逻辑地址的块405的数量。
存储器系统可将数据写入到存储器系统所支持的一组逻辑地址。在第一持续时间期间,存储器系统可将第一组数据写入到所述一组逻辑地址。第一组数据中用于第一逻辑地址(例如,LBA_0)的数据可写入到资源图400的第一块和第一页。在一些实例中,第一逻辑地址的索引和写入操作实例的索引(其可以由LBACopy_0表示)可与资源图400的第一块和第一页相关联的。这些索引(LBACopy_0·LBA_0)可输入直接L2P表的第一条目。在额外数据写入到资源图400的后续块405和页410时,类似索引可以类似方式写入到资源图400的后续块405和页410。
一旦所述一组逻辑地址中的所有逻辑地址都已经写入,就可以将第二组数据写入到所述一组逻辑地址,从起点开始。第二组数据中用于第一逻辑地址(例如,LBA_0)的数据可写入到资源图400的第N块的第五页。在一些实例中,第一逻辑地址的索引和写入操作实例的索引(其可以由LBACopy_K表示)可与资源图400的第五页的第N块相关联。这些索引(LBACopy_0·LBA_0)可输入到直接L2P表的对应于直接L2P表的第N列和第五行的条目。
存储器系统可在从主机系统接收到写入命令时继续将数据集写入到资源图400的资源并更新直接L2P表。由存储器系统写入的最后一组数据可包含针对最后LBA 425写入的数据,其中最后LBA 425可与第(3K+i)写入操作和在存储器系统处写入的最后一个逻辑地址的索引(i)相关联。这些索引(LBACopy_(3K+i)·LBA_i)可输入到直接L2P表的对应于直接L2P表的第(3N+i)列和第i行的条目。在一些实例中,先前写入到存储器系统的数据集可变为无效,例如,被框420圈住的数据到写入用于最后LBA 425的数据的时候可能是无效的。框420可包封与低于最后LBA 425的逻辑地址相关联的先前数据集中的数据。
全局序列号430可等同于与最后LBA 425相关联的序列号。也就是说,全局序列号430可等同于当前通过存储器系统写入的块的序列号。并且,与最后LBA 425相关联的序列号群组可基于全局序列号430而确定(例如,序列号群组可等于SNGroup_3)。
存储器系统可接收读取命令,其可包含与读取命令所请求的一组数据相关联的逻辑地址(其可以称为LBAx)。基于(例如,响应于)接收到读取命令,存储器系统可确定先前针对所述逻辑地址存储的数据的物理位置(例如,物理地址)。存储器系统可使用直接L2P表确定数据的物理位置。例如,存储器系统可确定与最后LBA 425相关联的当前序列号群组。存储器系统可基于全局序列号430、用于含有所述一组逻辑地址的块405的数量(例如,其可以由N表示)、所述一组逻辑地址中所包含的逻辑地址的数量(例如,其可以由K表示)以及块405中所包含的页410的数量而确定当前序列号群组。在所述一组逻辑地址中的逻辑地址的数量是块中的页410的数量(其可以由P或SizeBlockInLBA表示)的倍数的实例中,存储器系统可基于全局序列号430、用于含有所述一组逻辑地址的块的数量(例如,其可以由N表示)确定当前序列号群组,例如通过将全局序列号430的值(其可以由GSN表示)除以N的值来确定。在其它情况下,存储器系统可使用用于含有所述一组逻辑地址的块的数量(例如,其可以由N表示)、所述一组逻辑地址中所包含的逻辑地址的数量(例如,其可以由K表示)以及块405中所包含的页410的数量之间的关系来确定每个序列号群组的起点。
基于确定当前序列号群组(例如,在此之后),存储器系统可确定最后LBA 425的值是否小于LBAx的值。如果最后LBA 425的值小于LBAx的值,那么存储器系统可确定LBAx写入在先前序列号群组(例如,SNGroup_2)中。基于确定LBAx写入在先前序列号群组中,存储器系统可确定用于写入LBAx的数据的写入操作实例(例如,LBACopy),例如通过将先前序列号群组的值乘以K并与LBAx的值相加来确定,表示为:LBACopy=(CurrentSNGroup-1)*K+LBAx。
如果最后LBA 425的值大于或等于LBAx的值,那么存储器系统可确定LBAx写入在当前序列号群组(例如,SNGroup_3)中。基于确定LBAx写入在当前序列号群组中,存储器系统可确定用于写入LBAx的数据的写入操作实例(例如,LBACopy),例如通过将当前序列号群组的值乘以K并与LBAx的值相加来确定,表示为:LBACopy=(CurrentSNGroup)*K+LBAx。
基于确定用于接收到的逻辑地址的写入实例(例如,在此之后),存储器系统可确定对应于接收到的逻辑地址的序列号(其可以由SNx表示),例如通过将LBACopy的值除以块405中的页410的数量,表示为:存储器系统还可确定对应于所确定序列号的块的偏移(其可以由LBAOffsetInSN表示),例如通过采用LBACopy模SizeBlockInLBA,表示为:LBAOffsetInSNx=LBACopy mod SizeBlockInLBA。
基于确定与接收到的逻辑地址(LBAx)相关联的块(SNx)和所确定块内的偏移(LBAOffsetInSNx)(例如,在此之后),存储器系统可确定其中用于存储所述逻辑地址的数据的物理地址。因此,存储器系统可存取存储在块(SNx)和对应于偏移(LBAOffsetInSNx)的页中的数据,并将数据输出到主机系统。
图5示出根据本文所公开的实例的支持直接逻辑到物理地址映射的操作图的实例。资源图500描绘一组资源,此时数据正被写入所述一组资源。资源图可以是图4的资源图400的实例。在图5的实例中,所述一组逻辑地址中的逻辑地址的数量(其可以表示为K)可等于一组块中用于含有所述一组逻辑地址的页410的数量。在这些情况下,与逻辑地址相关联的序列号群组515可以通过将全局SN 530除以构成用于含有所述一组逻辑地址的一组块的块的数量(其可以表示为N)来获得。
图6示出根据本文所公开的实例的支持直接逻辑到物理地址映射的存储器系统620的框图600。存储器系统620可以是参考图1到4所描述的存储器系统的各方面的实例。存储器系统620或其各种组件可以是用于执行本文所述的直接逻辑到物理地址映射的各个方面的构件的实例。例如,存储器系统620可包含命令组件625、数据组件630、映射组件635或其任何组合。这些组件中的每一个可直接或间接地彼此通信(例如,经由一或多个总线)。
命令组件625可配置为或以其它方式支持用于接收将多个数据集写入到存储器系统的多个写入命令的构件。数据组件630可配置为或以其它方式支持用于至少部分地基于所述多个写入命令而将所述多个数据集写入到与存储器系统的顺序逻辑地址相关联的存储器系统的顺序物理地址的构件。在一些实例中,命令组件625可配置为或以其它方式支持用于至少部分地基于将所述多个数据集写入到顺序物理地址而接收针对来自顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令的构件。映射组件635可配置为或以其它方式支持用于至少部分地基于数据集的逻辑地址、在存储器系统处写入的最后一个数据集的逻辑地址以及与在存储器系统处写入的最后一个数据集相关联的序列号群组而确定数据集的物理地址的构件。在一些实例中,数据组件630可配置为或以其它方式支持用于至少部分地基于所述确定而从存储器系统的物理地址读取数据集的构件。
在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于逻辑地址和在存储器系统处写入的最后一个数据集的序列号群组,确定与数据集的逻辑地址相关联且与存储器系统的对应块相关联的序列号。在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:针对用于序列号,确定与数据集的逻辑地址相关联且与对应块的对应于数据集的物理地址的对应部分相关联的偏移。
在一些实例中,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于接收到读取命令,确定在存储器系统处写入的最后一个数据集的逻辑地址和与在存储器系统处写入的最后一个数据集相关联的序列号。在一些实例中,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于与在存储器系统处写入的最后一个数据集相关联的序列号和顺序逻辑地址的数量,确定与在存储器系统处写入的最后一个数据集相关联的序列号群组。
在一些实例中,为了支持确定与在存储器系统处写入的最后一个数据集相关联的序列号群组,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于块的大小和顺序逻辑地址的数量,确定用于存储顺序逻辑地址的数据的存储器系统的块的数量,其中与在存储器系统处写入的最后一个数据集相关联的序列号群组至少部分地基于将与在存储器系统处写入的最后一个数据集相关联的序列号除以块的数量得到的结果。
在一些实例中,为了支持写入所述多个数据集,数据组件630可配置为或以其它方式支持用于以下的构件:将所述多个数据集中的第一数据集写入到顺序物理地址中与存储器系统的顺序逻辑地址和序列号群组相关联的第一顺序物理地址。在一些实例中,为了支持写入所述多个数据集,数据组件630可配置为或以其它方式支持用于以下的构件:在第一数据集之前将所述多个数据集中的第二数据集写入到顺序物理地址中与存储器系统的顺序逻辑地址的重叠部分和先前序列号群组相关联的先前顺序物理地址。
在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于数据集的逻辑地址和在存储器系统处写入的最后一个数据集的逻辑地址,确定数据集的逻辑地址是与第一顺序物理地址相关联还是与先前顺序物理地址相关联。
在一些实例中,为了支持确定数据集的逻辑地址是与第一顺序物理地址相关联还是与先前顺序物理地址相关联,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于数据集的逻辑地址小于在存储器系统处写入的最后一个数据集的逻辑地址,确定数据集的逻辑地址与第一顺序物理地址相关联。在一些实例中,为了支持确定数据集的逻辑地址是与第一顺序物理地址相关联还是与先前顺序物理地址相关联,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于数据集的逻辑地址大于在存储器系统处写入的最后一个数据集的逻辑地址,确定数据集的逻辑地址与先前顺序物理地址相关联。
在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于确定数据集的逻辑地址与先前顺序物理地址相关联,确定与数据集的逻辑地址相关联的块。在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于确定与块中对应于数据集的逻辑地址的部分相关联的块内偏移的构件。
在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于确定数据集的逻辑地址与第一顺序物理地址相关联,至少部分地基于序列号群组、顺序逻辑地址的数量以及数据集的逻辑地址,确定在所述多个数据集的一系列写入操作内数据集的先前写入操作的位置。在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于确定数据集的逻辑地址与先前顺序物理地址相关联,至少部分地基于先前序列号群组、顺序逻辑地址的数量以及数据集的逻辑地址,确定在所述多个数据集的所述一系列写入操作内数据集的先前写入操作的位置。
在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于将数据集的先前写入操作的位置除以存储器系统的块的大小得到的结果,确定与数据集的逻辑地址相关联的序列号,所述序列号与存储器系统的对应块相关联。在一些实例中,为了支持确定数据集的物理地址,映射组件635可配置为或以其它方式支持用于以下的构件:针对所述序列号,至少部分地基于通过将数据集的先前写入操作的位置除以存储器系统的块的大小得到的余数,确定与数据集的逻辑地址相关联的偏移,所述偏移与对应块的对应于数据集的物理地址的对应部分相关联。
在一些实例中,映射组件635可配置为或以其它方式支持用于以下的构件:至少部分地基于将所述多个数据集的相应部分写入到顺序物理地址的相应部分,产生对应于顺序物理地址的相应部分的相应映射条目集合。
在一些实例中,相应条目集合与顺序逻辑地址的连续集合和存储器系统的相应块相关联,相应条目集合中的连续条目与顺序逻辑地址的连续逻辑地址相关联,并且相应条目集合中的每一条目与所述多个数据集的一系列写入操作内相应数据集的写入操作的位置相关联。
在一些实例中,所述多个数据集存储在包含与非存储器单元的第一存储器中。
在一些实例中,数据集的物理地址不使用物理页表确定。
在一些实例中,序列号群组包含存储器系统的足以存储每个顺序逻辑地址的相应数据集的块群组。
图7示出根据本文所公开的实例的流程图,示出了支持直接逻辑到物理地址映射的方法700。方法700的操作可由本文所述的存储器系统或其组件实施。例如,方法700的操作可由参考图1到6所描述的存储器系统执行。在一些实例中,存储器系统可执行一组指令,以控制装置的功能元件执行所描述的功能。另外或替代地,存储器系统可使用专用硬件执行所述功能的各方面。
在705处,所述方法可包含接收将多个数据集写入到存储器系统的多个写入命令。操作705可根据本文所公开的实例执行。在一些实例中,操作705的各方面可由参考图6所描述的命令组件625执行。
在710处,所述方法可包含至少部分地基于所述多个写入命令,将所述多个数据集写入到与存储器系统的顺序逻辑地址相关联的存储器系统的顺序物理地址。操作710可根据本文所公开的实例执行。在一些实例中,操作710的各方面可由参考图6所描述的数据组件630执行。
在715处,所述方法可包含至少部分地基于将所述多个数据集写入到顺序物理地址,接收针对来自顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令。操作715可根据本文所公开的实例执行。在一些实例中,操作715的各方面可由参考图6所描述的命令组件625执行。
在720处,所述方法可包含至少部分地基于数据集的逻辑地址、在存储器系统处写入的最后一个数据集的逻辑地址以及与在存储器系统处写入的最后一个数据集相关联的序列号群组,确定数据集的物理地址。操作720可根据本文所公开的实例执行。在一些实例中,操作720的各方面可由参考图6所描述的映射组件635执行。
在725处,所述方法可包含至少部分地基于所述确定,从存储器系统的物理地址读取数据集。操作725可根据本文所公开的实例执行。在一些实例中,操作725的各方面可由参考图6所描述的数据组件630执行。
在一些实例中,本文所述的设备可执行一或多种方法,例如方法700。所述设备可包含用于以下的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收将多个数据集写入到存储器系统的多个写入命令;至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
在方法700和本文所述设备的一些实例中,确定所述数据集的所述物理地址可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述序列号群组,确定与所述数据集的所述逻辑地址相关联且与所述存储器系统的对应块相关联的序列号;以及针对所述序列号,确定与所述数据集的所述逻辑地址相关联且与所述对应块的对应于所述数据集的所述物理地址的对应部分相关联的偏移。
方法700和本文所述设备的一些实例可进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于接收到所述读取命令,确定在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址和与在所述存储器系统处写入的所述最后一个数据集相关联的序列号;以及至少部分地基于与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号和所述顺序逻辑地址的数量,确定与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组。
在方法700和本文所述设备的一些实例中,确定与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于所述块的大小和所述顺序逻辑地址的所述数量,确定用于存储所述顺序逻辑地址的数据的所述存储器系统的块的数量,其中与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组可至少部分地基于将与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号除以所述块的所述数量得到的结果。
在方法700和本文所述设备的一些实例中,写入所述多个数据集可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:将所述多个数据集中的第一数据集写入到所述顺序物理地址中可与所述存储器系统的所述顺序逻辑地址和所述序列号群组相关联的第一顺序物理地址;以及在所述第一数据集之前,将所述多个数据集中的第二数据集写入到所述顺序物理地址中可与所述存储器系统的所述顺序逻辑地址的重叠部分和先前序列号群组相关联的先前顺序物理地址。
在方法700和本文所述设备的一些实例中,确定所述数据集的所述物理地址可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于所述数据集的所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址是可与所述第一顺序物理地址相关联还是可与所述先前顺序物理地址相关联。
在方法700和本文所述设备的一些实例中,确定所述数据集的所述逻辑地址是可与所述第一顺序物理地址相关联还是可与所述先前顺序物理地址相关联可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于所述数据集的所述逻辑地址小于在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址可与所述第一顺序物理地址相关联,并且至少部分地基于所述数据集的所述逻辑地址大于在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址可与所述先前顺序物理地址相关联。
在方法700和本文所述设备的一些实例中,确定所述数据集的所述物理地址可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于确定所述数据集的所述逻辑地址可与所述先前顺序物理地址相关联,确定与所述数据集的所述逻辑地址相关联的块,并确定与所述块中对应于所述数据集的所述逻辑地址的部分相关联的所述块内的偏移。
在方法700和本文所述设备的一些实例中,确定所述数据集的所述物理地址可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于确定所述数据集的所述逻辑地址可与所述第一顺序物理地址相关联,至少部分地基于所述序列号群组、所述顺序逻辑地址的数量以及所述数据集的所述逻辑地址,确定在所述多个数据集的一系列写入操作内所述数据集的先前写入操作的位置;以及至少部分地基于确定所述数据集的所述逻辑地址可与所述先前顺序物理地址相关联,至少部分地基于所述先前序列号群组、所述顺序逻辑地址的所述数量以及所述数据集的所述逻辑地址,确定在所述多个数据集的所述一系列写入操作内所述数据集的先前写入操作的所述位置。
在方法700和本文所述设备的一些实例中,确定所述数据集的所述物理地址可包含用于以下的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于将所述数据集的所述先前写入操作的所述位置除以所述存储器系统的块的大小得到的结果,确定与所述数据集的所述逻辑地址相关联的序列号,所述序列号与所述存储器系统的对应块相关联;以及针对所述序列号,至少部分地基于通过将所述数据集的所述先前写入操作的所述位置除以所述存储器系统的所述块的所述大小得到的余数,确定与所述数据集的所述逻辑地址相关联的偏移,所述偏移与所述对应块的对应于所述数据集的所述物理地址的对应部分相关联。
在方法700和本文所述设备的一些实例中,方法、设备和非暂时性计算机可读媒体可包含用于以下的其它操作、特征、电路系统、逻辑、构件或指令:至少部分地基于将所述多个数据集的所述相应部分写入到所述顺序物理地址的所述相应部分,产生对应于所述顺序物理地址的所述相应部分的相应映射条目集合。
在方法700和本文所述设备的一些实例中,所述相应条目集合可与所述顺序逻辑地址的连续集合和所述存储器系统的相应块相关联,所述相应条目集合中的连续条目可与所述顺序逻辑地址中的连续逻辑地址相关联,并且所述相应条目集合中的每一条目可与所述多个数据集的一系列写入操作内相应数据集的写入操作的位置相关联。
在方法700和本文所述设备的一些实例中,所述多个数据集可存储在包含与非存储器单元的第一存储器中。
在方法700和本文所述设备的一些实例中,所述数据集的所述物理地址可不使用物理页表确定。
在方法700和本文所述设备的一些实例中,所述序列号群组包含所述存储器系统的足以存储所述顺序逻辑地址中的每一个的相应数据集的块群组。
应注意,上文所描述的方法描述可能实施方案,并且操作和步骤可以重新布置或以其它方式修改,且其它实施方案是可能的。此外,可组合来自所述方法中的两个或更多个的部分。
描述另一设备。所述设备可包含存储器装置和控制器,所述控制器与所述存储器装置耦合且配置成使所述设备:接收将多个数据集写入到存储器系统的多个写入命令;至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
在一些实例中,为了确定所述数据集的所述物理地址,所述控制器可进一步配置成使所述设备:至少部分地基于所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述序列号群组,确定与所述数据集的所述逻辑地址相关联且与所述存储器系统的对应块相关联的序列号;以及针对所述序列号,确定与所述数据集的所述逻辑地址相关联且与所述对应块的对应于所述数据集的所述物理地址的对应部分相关联的偏移。
在一些实例中,所述控制器可进一步配置成使所述设备:至少部分地基于接收到所述读取命令,确定在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址和与在所述存储器系统处写入的所述最后一个数据集相关联的序列号;以及至少部分地基于与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号和所述顺序逻辑地址的数量,确定与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组。
在一些实例中,为了写入所述多个数据集,所述控制器可进一步配置成使所述设备:将所述多个数据集中的第一数据集写入到所述顺序物理地址中可与所述存储器系统的所述顺序逻辑地址和所述序列号群组相关联的第一顺序物理地址;以及在所述第一数据集之前,将所述多个数据集中的第二数据集写入到所述顺序物理地址中可与所述存储器系统的所述顺序逻辑地址的重叠部分和先前序列号群组相关联的先前顺序物理地址。
在一些实例中,为了确定所述数据集的所述物理地址,所述控制器可进一步配置成使所述设备:至少部分地基于所述数据集的所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址是可与所述第一顺序物理地址相关联还是可与所述先前顺序物理地址相关联。
在一些实例中,为了确定所述数据集的所述物理地址,所述控制器可进一步配置成使所述设备:至少部分地基于确定所述数据集的所述逻辑地址可与所述先前顺序物理地址相关联,确定与所述数据集的所述逻辑地址相关联的块;以及确定与所述块中对应于所述数据集的所述逻辑地址的部分相关联的所述块内的偏移。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号示出为单个信号;然而,所述信号可表示信号总线,其中总线可具有多种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持信号在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含例如开关、晶体管或其它组件等中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件中断所连接组件之间的信号流动一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传送,在闭路关系中,信号能够通过导电路径在组件之间传送。如果例如控制器的一组件将其它组件耦合在一起,那么所述组件引发允许信号通过导电路径在所述其它组件之间流动的改变,所述导电路径先前不允许信号流动。
术语“隔离”是指信号当前无法在组件之间流动的组件之间的关系。如果组件之间存在断路,那么它们彼此隔离。例如,由定位在两个组件之间的开关间隔开的组件在开关断开时彼此隔离。如果控制器将两个组件隔离,控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当…时”、“基于”,或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当…时”、“基于”或“至少部分地基于”用于描述条件性动作、条件性过程或过程的部分之间的连接,那么所述术语可互换。
术语“响应于”可指由于先前条件或动作而至少部分地(如果不完全地)发生的一个条件或动作。例如,可执行第一条件或动作,并且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
本文中所论述的包含存储器阵列的装置可形成于半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含(但不限于)磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文所论述的开关组件或晶体管可表示场效应晶体管(FET),并且包括包含源极、漏极和栅极的三端装置。端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂(例如简并)半导体区。源极与漏极可由轻掺杂的半导体区或沟道间隔开。如果沟道是n型(即,大部分载体为电子),那么FET可被称作n型FET。如果沟道是p型(即,大部分载体为空穴),那么FET可被称作p型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可导致沟道变得导电。如果大于或等于晶体管的阈值电压的电压被施加到晶体管栅极,那么晶体管可“接通”或“激活”。如果小于晶体管的阈值电压的电压被施加到晶体管栅极,那么晶体管可“断开”或“撤销激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示例性”是指“充当实例、例子或说明”,且不比其它实例“优选”或“有利”。详细描述包含特定细节,以便提供对所描述技术的理解。然而,这些技术可在没有这些特定细节的情况下实践。在一些例子中,以框图的形式展示众所周知的结构和装置以免混淆所描述实例的概念。
在附图中,类似组件或特征可以具有相同参考标记。此外,可通过在参考标记之后跟着连字符及区分类似组件的第二标记来区分为相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一个,而与第二参考标记无关。
本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合来实施。如果以由处理器执行的软件来实施,那么可以将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体来传输。其它实例及实施方案在本公开及所附权利要求书的范围内。例如,由于软件的本质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一个的组合来实施。实施功能的特征也可物理上位于各个位置处,包含经分布以使得功能的各部分在不同物理位置处实施。
例如,结合本文中的公开内容所描述的各种说明性块和组件可使用经设计以执行本文中所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何处理器、控制器、微控制器或状态机。处理器可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置)。
如本文中(包含在权利要求书中)所使用,项目的列表(例如,以例如“中的至少一个”或“中的一或多个”的短语结尾的项目的列表)中所使用的“或”指示包含性列表,使得(例如)A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。并且,如本文中所使用,短语“基于”不应被理解为提及一组封闭条件。例如,在不脱离本公开的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。
计算机可读媒体包含非暂时性计算机存储装置媒体和通信媒体两者,通信媒体包含有助于将计算机程序从一个地方传递到另一地方的任何媒体。非暂时性存储媒体可以是任何可用的媒体,它可以由通用或专用计算机存取。举例来说且不加限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可用于载送或存储呈指令或数据结构形式的所要程序代码构件且可以通过通用或专用计算机或通用或专用处理器存取的非暂时性媒体。并且,任何连接被适当地称为计算机可读媒体。例如,如果软件从网站、服务器或其它远程源使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或红外、无线电和微波等无线技术传输,那么同轴电缆、光纤电缆、双绞线、DSL或红外、无线电和微波等无线技术包含在媒体的定义中。如本文中所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。上述各项的组合同样包含在计算机可读媒体的范围内。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本发明不限于本文中所描述的实例和设计,而是被赋予与本文中所公开的原理和新颖特征一致的最宽范围。
Claims (25)
1.一种方法,其包括:
接收将多个数据集写入到存储器系统的多个写入命令;
至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;
至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;
至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及
至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
2.根据权利要求1所述的方法,其中确定所述数据集的所述物理地址包括:
至少部分地基于所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述序列号群组,确定与所述数据集的所述逻辑地址相关联且与所述存储器系统的对应块相关联的序列号;以及
针对所述序列号,确定与所述数据集的所述逻辑地址相关联且与所述对应块的对应于所述数据集的所述物理地址的对应部分相关联的偏移。
3.根据权利要求1所述的方法,其进一步包括:
至少部分地基于接收到所述读取命令,确定在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址和与在所述存储器系统处写入的所述最后一个数据集相关联的序列号;以及
至少部分地基于与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号和所述顺序逻辑地址的数量,确定与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组。
4.根据权利要求3所述的方法,其中确定与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组包括:
至少部分地基于所述块的大小和所述顺序逻辑地址的所述数量,确定用于存储所述顺序逻辑地址的数据的所述存储器系统的块的数量,
其中与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组至少部分地基于将与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号除以所述块的所述数量得到的结果。
5.根据权利要求1所述的方法,其中写入所述多个数据集包括:
将所述多个数据集中的第一数据集写入到所述顺序物理地址中与所述存储器系统的所述顺序逻辑地址和所述序列号群组相关联的第一顺序物理地址;以及
在所述第一数据集之前将所述多个数据集中的第二数据集写入到所述顺序物理地址中与所述存储器系统的所述顺序逻辑地址的重叠部分和先前序列号群组相关联的先前顺序物理地址。
6.根据权利要求5所述的方法,其中确定所述数据集的所述物理地址包括:
至少部分地基于所述数据集的所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址是与所述第一顺序物理地址相关联还是与所述先前顺序物理地址相关联。
7.根据权利要求6所述的方法,其中确定所述数据集的所述逻辑地址是与所述第一顺序物理地址相关联还是与所述先前顺序物理地址相关联包括:
至少部分地基于所述数据集的所述逻辑地址小于在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址与所述第一顺序物理地址相关联;或
至少部分地基于所述数据集的所述逻辑地址大于在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址与所述先前顺序物理地址相关联。
8.根据权利要求6所述的方法,其中确定所述数据集的所述物理地址包括:
至少部分地基于确定所述数据集的所述逻辑地址与所述先前顺序物理地址相关联,确定与所述数据集的所述逻辑地址相关联的块;以及
确定与所述块中对应于所述数据集的所述逻辑地址的部分相关联的所述块内的偏移。
9.根据权利要求6所述的方法,其中确定所述数据集的所述物理地址包括:
至少部分地基于确定所述数据集的所述逻辑地址与所述第一顺序物理地址相关联,至少部分地基于所述序列号群组、所述顺序逻辑地址的数量以及所述数据集的所述逻辑地址,确定在所述多个数据集的一系列写入操作内所述数据集的先前写入操作的位置;或
至少部分地基于确定所述数据集的所述逻辑地址与所述先前顺序物理地址相关联,至少部分地基于所述先前序列号群组、所述顺序逻辑地址的所述数量以及所述数据集的所述逻辑地址,确定在所述多个数据集的所述一系列写入操作内所述数据集的先前写入操作的所述位置。
10.根据权利要求9所述的方法,其中确定所述数据集的所述物理地址包括:
至少部分地基于将所述数据集的所述先前写入操作的所述位置除以所述存储器系统的块的大小得到的结果,确定与所述数据集的所述逻辑地址相关联的序列号,所述序列号与所述存储器系统的对应块相关联;以及
针对所述序列号,至少部分地基于通过将所述数据集的所述先前写入操作的所述位置除以所述存储器系统的所述块的所述大小得到的余数,确定与所述数据集的所述逻辑地址相关联的偏移,所述偏移与所述对应块的对应于所述数据集的所述物理地址的对应部分相关联。
11.根据权利要求1所述的方法,其中写入所述多个数据集包括将所述多个数据集的相应部分写入到所述顺序物理地址的相应部分,所述顺序物理地址的所述相应部分对应于所述存储器系统的相应块,其中所述方法进一步包括:
至少部分地基于将所述多个数据集的所述相应部分写入到所述顺序物理地址的所述相应部分,产生对应于所述顺序物理地址的所述相应部分的相应映射条目集合。
12.根据权利要求11所述的方法,其中:
所述相应条目集合与所述顺序逻辑地址的连续集合和所述存储器系统的相应块相关联,
所述相应条目集合中的连续条目与所述顺序逻辑地址中的连续逻辑地址相关联,且
所述相应条目集合中的每一条目与所述多个数据集的一系列写入操作内相应数据集的写入操作的位置相关联。
13.根据权利要求11所述的方法,其中:
所述多个数据集存储在包括与非存储器单元的第一存储器中,且
所述映射存储在包括静态随机存取存储器单元的第二存储器中。
14.根据权利要求1所述的方法,其中所述数据集的所述物理地址不使用物理页表确定。
15.根据权利要求1所述的方法,其中所述序列号群组包括所述存储器系统的足以存储所述顺序逻辑地址中的每一个的相应数据集的块群组。
16.一种设备,其包括:
存储器装置;以及
控制器,其与所述存储器装置耦合且配置成使所述设备:
接收将多个数据集写入到存储器系统的多个写入命令;
至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;
至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;
至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及
至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
17.根据权利要求16所述的设备,其中为了确定所述数据集的所述物理地址,所述控制器进一步配置成使所述设备:
至少部分地基于所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述序列号群组,确定与所述数据集的所述逻辑地址相关联且与所述存储器系统的对应块相关联的序列号;以及
针对所述序列号,确定与所述数据集的所述逻辑地址相关联且与所述对应块的对应于所述数据集的所述物理地址的对应部分相关联的偏移。
18.根据权利要求16所述的设备,其中所述控制器进一步配置成使所述设备:
至少部分地基于接收到所述读取命令,确定在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址和与在所述存储器系统处写入的所述最后一个数据集相关联的序列号;以及
至少部分地基于与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号和所述顺序逻辑地址的数量,确定与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组。
19.根据权利要求16所述的设备,其中为了写入所述多个数据集,所述控制器进一步配置成使所述设备:
将所述多个数据集中的第一数据集写入到所述顺序物理地址中与所述存储器系统的所述顺序逻辑地址和所述序列号群组相关联的第一顺序物理地址;以及
在所述第一数据集之前将所述多个数据集中的第二数据集写入到所述顺序物理地址中与所述存储器系统的所述顺序逻辑地址的重叠部分和先前序列号群组相关联的先前顺序物理地址。
20.根据权利要求19所述的设备,其中为了确定所述数据集的所述物理地址,所述控制器进一步配置成使所述设备:
至少部分地基于所述数据集的所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址,确定所述数据集的所述逻辑地址是与所述第一顺序物理地址相关联还是与所述先前顺序物理地址相关联。
21.根据权利要求20所述的设备,其中为了确定所述数据集的所述物理地址,所述控制器进一步配置成使所述设备:
至少部分地基于确定所述数据集的所述逻辑地址与所述先前顺序物理地址相关联,确定与所述数据集的所述逻辑地址相关联的块;以及
确定与所述块中对应于所述数据集的所述逻辑地址的部分相关联的所述块内的偏移。
22.一种非暂时性计算机可读媒体,其存储包括指令的代码,所述指令在由电子装置的处理器执行时使所述电子装置:
接收将多个数据集写入到存储器系统的多个写入命令;
至少部分地基于所述多个写入命令,将所述多个数据集写入到与所述存储器系统的顺序逻辑地址相关联的所述存储器系统的顺序物理地址;
至少部分地基于将所述多个数据集写入到所述顺序物理地址,接收针对来自所述顺序逻辑地址中的一逻辑地址的所述多个数据集中的一数据集的读取命令;
至少部分地基于所述数据集的所述逻辑地址、在所述存储器系统处写入的最后一个数据集的逻辑地址以及与在所述存储器系统处写入的所述最后一个数据集相关联的序列号群组,确定所述数据集的物理地址;以及
至少部分地基于所述确定,从所述存储器系统的所述物理地址读取所述数据集。
23.根据权利要求22所述的非暂时性计算机可读媒体,其中为了确定所述数据集的所述物理地址,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置:
至少部分地基于所述逻辑地址和在所述存储器系统处写入的所述最后一个数据集的所述序列号群组,确定与所述数据集的所述逻辑地址相关联且与所述存储器系统的对应块相关联的序列号;以及
针对所述序列号,确定与所述数据集的所述逻辑地址相关联且与所述对应块的对应于所述数据集的所述物理地址的对应部分相关联的偏移。
24.根据权利要求22所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置:
至少部分地基于接收到所述读取命令,确定在所述存储器系统处写入的所述最后一个数据集的所述逻辑地址和与在所述存储器系统处写入的所述最后一个数据集相关联的序列号;以及
至少部分地基于与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号和所述顺序逻辑地址的数量,确定与在所述存储器系统处写入的所述最后一个数据集相关联的所述序列号群组。
25.根据权利要求22所述的非暂时性计算机可读媒体,其中为了写入所述多个数据集,
所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置:
将所述多个数据集中的第一数据集写入到所述顺序物理地址中与所述存储器系统的所述顺序逻辑地址和所述序列号群组相关联的第一顺序物理地址;以及
在所述第一数据集之前将所述多个数据集中的第二数据集写入到所述顺序物理地址中与所述存储器系统的所述顺序逻辑地址的重叠部分和先前序列号群组相关联的先前顺序物理地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/461,469 US20230068324A1 (en) | 2021-08-30 | 2021-08-30 | Direct logical-to-physical address mapping |
US17/461,469 | 2021-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729848A true CN115729848A (zh) | 2023-03-03 |
Family
ID=85286088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211041512.3A Pending CN115729848A (zh) | 2021-08-30 | 2022-08-29 | 直接逻辑到物理地址映射 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230068324A1 (zh) |
CN (1) | CN115729848A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868649B2 (en) * | 2022-01-28 | 2024-01-09 | Micron Technology, Inc. | Memory systems for secure sequential storage devices |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3592640B2 (ja) * | 2001-01-09 | 2004-11-24 | 株式会社東芝 | ディスク制御システムおよびディスク制御方法 |
US6671791B1 (en) * | 2001-06-15 | 2003-12-30 | Advanced Micro Devices, Inc. | Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms |
US7464216B2 (en) * | 2006-09-29 | 2008-12-09 | Sandisk Corporation | Method for phased garbage collection with state indicators |
US7937521B2 (en) * | 2008-01-29 | 2011-05-03 | Cadence Design Systems, Inc. | Read disturbance management in a non-volatile memory system |
US8755226B2 (en) * | 2012-08-07 | 2014-06-17 | Kabushiki Kaisha Toshiba | Storage device and control method of nonvolatile memory |
US9229813B2 (en) * | 2014-03-06 | 2016-01-05 | HGST Netherlands B.V. | Error correction with on-demand parity sectors in magnetic data storage devices |
KR20210077230A (ko) * | 2019-12-17 | 2021-06-25 | 에스케이하이닉스 주식회사 | 메모리 시스템의 동작 방법 및 장치 |
JP2021149769A (ja) * | 2020-03-23 | 2021-09-27 | キオクシア株式会社 | メモリシステムおよびシフトレジスタ型メモリ |
US11507319B2 (en) * | 2021-02-04 | 2022-11-22 | Silicon Motion, Inc. | Memory controller having a plurality of control modules and associated server |
-
2021
- 2021-08-30 US US17/461,469 patent/US20230068324A1/en active Pending
-
2022
- 2022-08-29 CN CN202211041512.3A patent/CN115729848A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230068324A1 (en) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537527B2 (en) | Dynamic logical page sizes for memory devices | |
US20220075732A1 (en) | Data alignment for logical to physical table compression | |
US11907556B2 (en) | Data relocation operation techniques | |
CN114822670A (zh) | 有效数据感知媒体可靠性扫描 | |
CN114627916A (zh) | 用于存储器装置的状态信息检索 | |
CN115729848A (zh) | 直接逻辑到物理地址映射 | |
CN116610251A (zh) | 执行写入操作的技术 | |
US11755490B2 (en) | Unmap operation techniques | |
US11625333B2 (en) | Configurable flush operation speed | |
CN115951932A (zh) | 用于命令序列调整的技术 | |
US20230297501A1 (en) | Techniques for accessing managed nand | |
CN114647378A (zh) | 用于垃圾收集的有效数据标识 | |
CN114443514A (zh) | 用于存储器系统的存储器单元存取技术 | |
US11797380B2 (en) | Host-configurable error protection | |
WO2022193120A1 (en) | Logical-to-physical mapping compression techniques | |
US11954336B2 (en) | Dynamic memory management operation | |
EP4060501A1 (en) | Redundant array management techniques | |
WO2022193143A1 (en) | Validity mapping techniques | |
US20240086070A1 (en) | Read disturb management for memory | |
WO2022193271A1 (en) | Techniques for afragment cursor | |
US20230393779A1 (en) | Plane balancing in a memory system | |
US20240078031A1 (en) | Dividing blocks for special functions | |
WO2022193233A1 (en) | Memory write performance techniques | |
US20240053925A1 (en) | Caching for multiple-level memory device | |
WO2022193212A1 (en) | Memory read performance techniques |
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 |