CN111417933B - 基于偏移的逻辑块映射 - Google Patents

基于偏移的逻辑块映射 Download PDF

Info

Publication number
CN111417933B
CN111417933B CN201880077317.1A CN201880077317A CN111417933B CN 111417933 B CN111417933 B CN 111417933B CN 201880077317 A CN201880077317 A CN 201880077317A CN 111417933 B CN111417933 B CN 111417933B
Authority
CN
China
Prior art keywords
group
block
physical
blocks
memory
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.)
Active
Application number
CN201880077317.1A
Other languages
English (en)
Other versions
CN111417933A (zh
Inventor
A·马尔谢
K·D·舒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN111417933A publication Critical patent/CN111417933A/zh
Application granted granted Critical
Publication of CN111417933B publication Critical patent/CN111417933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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)
  • Memory System (AREA)

Abstract

可基于与系统块相关联的存储器系统的特性来确定偏移。所述系统块对应于逻辑块。可将所述存储器系统的第一群组的物理块指派给所述系统块的所述多个逻辑块的群组。可在基于所述偏移及所述第一群组的物理块的位置处,识别所述存储器系统的第二群组的物理块。此外,可将所述存储器系统的所述第二群组的物理块指派给与所述系统块相关联的所述多个逻辑块的另一群组。可通过使用所述系统块而运用所述第一群组及第二群组的物理块来存储数据。

Description

基于偏移的逻辑块映射
技术领域
本发明大体上涉及一种存储器系统,且更明确来说,涉及基于存储器系统中的偏移的逻辑块映射。
背景技术
存储器系统可为存储系统(例如固态硬盘(SSD)),且可包含存储数据的一或多个存储器装置。存储器系统可包含例如非易失性存储器装置及易失性存储器装置的存储器装置。一般来说,主机系统可利用存储器系统以将数据存储于存储器系统的存储器装置处及从存储器系统的存储器装置检索数据。
附图说明
从下文给出的详细描述及本发明的各种实施方案的随附图式将更充分理解本发明。
图1说明根据本发明的一些实施例的包含存储器系统的实例计算环境。
图2是根据一些实施例的将存储器系统的物理块指派给系统块的逻辑块的实例方法的流程图。
图3A说明根据本发明的一些实施例的用于系统块的实例块映射。
图3B说明根据本发明的一些实施例的用于另一系统块的另一实例块映射。
图3C说明根据本发明的一些实施例的用于另一系统块的另一实例块映射。
图3D说明根据本发明的一些实施例的用于另一系统块的另一实例块映射。
图4是根据一些实施例的基于偏移及第一群组的物理块的位置识别第二群组的物理块的实例方法的流程图。
图5是其中本发明的实施方案可操作的实例计算机系统的框图。
具体实施方式
主机系统可利用包含一或多个存储器装置的存储器系统。主机系统可提供写入请求以将数据存储于存储器系统处,且可提供读取请求以检索存储器系统处的数据。主机系统可使用逻辑块到存储器装置的物理块的映射以将数据写入到存储器系统及从存储器系统读取数据。例如,每一逻辑块可映射到存储器系统的特定存储器装置处的特定物理块。当主机系统识别特定逻辑块的地址以将数据写入到其或从其读取数据时,数据可被写入到映射到所述经识别逻辑块的物理块或从所述物理块读取。因此,主机系统可识别逻辑块以存储或检索数据,且对应数据可被存储于映射到所述逻辑块的物理块处或从所述物理块检索。不同逻辑块可映射到包含于存储器系统中的不同存储器装置处的不同物理块。
常规存储器系统可管理由主机系统指定的逻辑块与存储器装置的物理块之间的映射。例如,存储器系统可确定应将哪些物理块映射到特定逻辑块。存储器系统可进一步通过使用系统块(其是逻辑块群组)而管理数据从主机系统到存储器系统的存储器装置的写入。系统块可对应于作为群组由存储器系统操作的逻辑块。此类操作可包含(但不限于)擦除操作,在对系统块执行擦除操作时,其可导致对映射到系统块的逻辑块的每一物理块执行擦除操作。系统块可为由存储器系统管理的数据条带。例如,条带可为已从主机系统接收且作为一群组存储于存储器系统处的一序列用户数据块。因此,系统块可为已由存储器系统分组在一起的用户数据的逻辑块。
在存储器系统接收到来自主机系统的写入请求时,可将数据存储于指派给特定系统块的逻辑块内。一旦指派给所述特定系统块的逻辑块各自用于将数据存储于对应物理块处(例如,所述特定系统块已满),存储器系统便可将后续数据存储在新系统块处。例如,新逻辑块可映射到用于所述新系统块的新物理块。因而,数据可以不同群组的逻辑块存储于存储器系统的存储器装置处。
如先前描述,逻辑块可映射到包含于存储器系统中的存储器装置的物理块。逻辑块可按跨常规存储器系统中的存储器装置的顺序映射到物理块。例如,逻辑块可按跨存储器装置(例如,跨存储器装置的一行物理块)的物理块的物理位置的顺序映射到物理块。特定存储器装置可包含制造缺陷,其中作为制造过程的部分,特定物理块可能是有缺陷的且无法存储数据。如果系统块的逻辑块按物理块定位于存储器装置的一行中的顺序映射到物理块,且如果彼此靠近的物理块的群组因制造缺陷而无法存储数据,那么系统块的大量逻辑块可映射到无法存储数据的大量有缺陷物理块。包含大量有缺陷物理块的系统块可与降低的性能相关联,这是因为存储器系统的处理能力可因有缺陷物理块而降低。例如,当指派给特定系统块的逻辑块的有缺陷物理块的数目超过阈值数目时,可运用其它逻辑块到其它物理块的另一映射将指派给所述特定系统块的逻辑块的剩余物理块处的数据重新分配到另一系统块。数据从所述物理块到映射到另一系统块的其它逻辑块的其它物理块的此重新分配可花费大量时间,在此期间可能无法响应于主机系统所提供的读取操作存取正重新分配的数据。此外,数据的重新分配可对应于将数据从先前物理块写入到其它物理块的一者,此可导致因为常规存储器系统执行数据从所述先前物理块的到另一物理块的写入操作而延迟主机系统所提供的其它写入操作。
本发明的方面通过在逻辑块与物理块之间指派对角块映射或布置使得指派给系统块的逻辑块的物理块跨存储器装置的不同部分或多个存储器装置的不同部分分布而解决上述及其它缺陷。例如,代替将逻辑块按跨存储器装置的行(或列或其它此布置)的物理顺序映射到物理块,对角块映射可将系统块的逻辑块映射到跨存储器装置内的不同位置的物理块。例如,将逻辑块映射到跨不同存储器装置处的不同位置的物理块可导致系统块的第一数目个逻辑块映射到第一存储器装置处的第一数目个物理块,其中所述第一数目个物理块定位于所述第一存储器装置的第一位置或行中。第二数目个逻辑块可映射到第二存储器装置处的第二数目个物理块,其中所述第二数目个物理块定位于所述第二存储器装置的第二位置或行中。因此,系统块可包含映射到跨不同存储器装置的不同行或位置分布的物理块的逻辑块。
在另一实例中,对角块映射可将系统块的逻辑块映射到跨单个存储器装置的不同平面的物理块。存储器装置的每一平面可对应于存储器装置的一部分(例如,物理块的一部分)且可能够独立执行同时发生的相同操作(例如,对相同平面中的物理块的写入操作、读取操作或擦除操作)。此对角块映射可导致系统块的第一数目个逻辑块映射到第一存储器装置处的第一数目个物理块,其中所述第一数目个物理块定位于所述第一存储器装置的第一群组的平面处的第一位置或行中。第二数目个逻辑块可映射到相同第一存储器装置处的第二数目个物理块,其中所述第二数目个物理块可定位于相同第一存储器装置的第二群组的平面处的第二位置或行中。随后,第三数目个逻辑块可映射到不同第二存储器装置处的第三位置或行(例如,不同于第一或第二行)处的第三数目个物理块。因此,指派给单个系统块的逻辑块可包含在不同存储器装置的不同平面处的物理块。下文描述关于将逻辑块映射到物理块的另外细节。
基于对角块映射将逻辑块映射到物理块可基于偏移,所述偏移是基于存储器系统的特性而确定。例如,可基于包含于每一存储器装置中的物理块的数目及包含于每一存储器装置中的平面的数目来确定偏移。偏移可用于确定用于系统块的对角块映射的形状或路径。在一些实施例中,对角映射可基于定义可将存储器装置的哪些部分指派给系统块的存储器装置偏移、可定义将平面的哪些部分指派给系统块的平面偏移,及/或可定义将平面及存储器装置的哪些部分指派给系统块的对角偏移。例如,此类偏移值可指定指派给系统块的不同群组的物理块的位置或行。
本发明的优点包含(但不限于)存储器系统的改进性能。例如,对角块映射可导致有缺陷物理块更均匀地分布于各个系统块之间,这是因为此类有缺陷物理块可在单个存储器装置内的单个位置处彼此接近。因此,可执行较少重新分配操作,这是因为在阈值数目个有缺陷物理块已被指派给对应系统块时,可指示较少系统块不可用。因此,存储器系统的处理能力可提高(例如,可更快地执行写入、读取或擦除操作),且可在可未指示指派给系统块的物理块无法频繁地存储数据时利用存储器系统的额外容量。
图1说明根据本发明的一些实施方案的包含存储器系统110的实例计算环境100。存储器系统110可包含媒体,例如存储器装置112A到112N。存储器装置112A到112N可为易失性存储器装置、非易失性存储器装置或此类的组合。在一些实施例中,存储器系统是存储系统。存储系统的实例是SSD。一般来说,计算环境100可包含使用存储器系统110的主机系统120。在一些实施方案中,主机系统120可将数据写入到存储器系统110及从存储器系统110读取数据。在一些实施例中,存储器系统110是混合存储器/存储系统。
主机系统120可为计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置,或包含存储器及处理装置的此计算装置。主机系统120可包含或经耦合到存储器系统110,使得主机系统120可从存储器系统110读取数据或将数据写入到存储器系统110。主机系统120可经由物理主机接口耦合到存储器系统110。如本文中所使用,“经耦合到”大体上指代组件之间的连接,所述连接可为间接通信连接或直接通信连接(例如,无中介组件),无论有线或无线,其包含例如电连接、光学连接、磁性连接等的连接。物理主机接口的实例包含(但不限于)串行高级附接技术(SATA)接口、外围组件快速互连(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)等。物理主机接口可被用于在主机系统120与存储器系统110之间传输数据。主机系统120可进一步利用NVM快速(NVMe)接口以在存储器系统110是通过PCIe接口与主机系统120耦合时存取存储器装置112A到112N。物理主机接口可提供用于在存储器系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。
存储器装置112A到112N可包含不同类型的非易失性存储器装置,及/或易失性存储器装置的任何组合。非易失性存储器装置的实例包含“与非”(NAND)型快闪存储器。存储器装置112A到112N中的每一者可包含存储器单元(例如单电平单元(SLC)或多电平单元(MLC)(例如,三电平单元(TLC)或四电平单元(QLC)))的一或多个阵列。在一些实施方案中,特定存储器装置可包含存储器单元的SLC部分及MLC部分两者。存储器单元中的每一者可存储供主机系统120使用的数据位(例如,数据块)。尽管描述非易失性存储器装置(例如NAND型快闪存储器),但存储器装置112A到112N可为基于任何其它类型的存储器,例如易失性存储器。在一些实施方案中,存储器装置112A到112N可为(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁性随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM),及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉栅格式(cross-gridded)数据存取阵列一起基于体电阻的变化来执行位存储。另外,与许多基于快闪的存储器相反,交叉点非易失性存储器可执行就地写入操作,其中可在先前未擦除非易失性存储器单元的情况下编程所述非易失性存储器单元。此外,存储器装置112A到112N的存储器单元可被分组为可指代用于存储数据的存储器装置的单位的存储器页或数据块。
控制器115可与存储器装置112A到112N通信以执行操作,例如在存储器装置112A到112N处读取数据、写入数据或擦除数据,及其它此类操作。控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。控制器115可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它适合处理器。控制器115可包含经配置以执行经存储于本地存储器119中的指令的处理器(处理装置)117。在所说明实例中,控制器115的本地存储器119包含经配置以存储用于执行控制存储器系统110的操作(包含处置存储器系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程及例程的指令的嵌入式存储器。在一些实施例中,本地存储器119可包含存储存储器指针、经提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器系统110已被说明为包含控制器115,但在本发明的另一实施例中,存储器系统110可不包含控制器115,且可代替性地依赖于外部控制(例如,由外部主机或由与存储器系统分离的处理器或控制器提供)。
一般来说,控制器115可接收来自主机系统120的命令或操作且可将命令或操作转换成指令或适当命令以实现对存储器装置112A到112N的所要存取。控制器115可负责其它操作,例如损耗平衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速存取操作,及逻辑块地址与相关联于存储器装置112A到112N的物理块地址之间的地址变换。控制器115可进一步包含经由物理主机接口与主机系统120通信的主机接口电路。主机接口电路可将从主机系统接收的命令转换成用以存取存储器装置112A到112N的命令指令以及将与存储器装置112A到112N相关联的响应转换成用于主机系统120的信息。
存储器系统110可包含执行本文中描述的操作的映射113(例如,电路、专用逻辑、可编程逻辑、固件等)。在一些实施方案中,映射组件113可确定在将系统块的逻辑块映射到存储器装置112A到112N的物理块时将使用的偏移。例如,映射组件113可识别存储器装置112A到112N中的物理块的数目及/或存储器装置112A到112N中的平面的数目。随后,可使用物理块的经识别数目及/或平面的数目来指定用于将对角位置中的物理块映射到系统块的逻辑块的偏移。
存储器系统110还可包含未说明的额外电路或组件。在一些实施方案中,存储器系统110可包含高速缓存或缓冲器(例如,DRAM)及可从控制器115接收地址且解码所述地址以存取存储器装置112A到112N的地址电路(例如,行解码器及列解码器)。
图2是根据本发明的一些实施例的将存储器系统的物理块指派给系统块的逻辑块的实例方法200的流程图。方法200可通过可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑来执行。在一些实施例中,方法200可由图1的映射组件113执行。
如图2中展示,在框210,处理逻辑可接收将与存储器系统相关联的物理块的群组分配给系统块的逻辑块的指示。所述指示可为主机系统正提供待写入到存储器系统的一或多个存储器装置处的物理块的数据。在一些实施例中,所述指示可为先前系统块的逻辑块中的每一者已用于存储来自主机系统的数据。系统块可为映射到存储主机系统所提供的数据的物理块的一群组的逻辑块。
在框220,处理逻辑可识别与存储器系统相关联的第一群组的物理块。第一群组的物理块当前可能未存储来自主机系统的数据。在一些实施例中,存储器系统可包含多个存储器装置,且第一群组的物理块可来自包含于存储器系统中的所述多个存储器装置的单个存储器装置。
在框230,处理逻辑可基于存储器系统的特性确定偏移。偏移可用于指定另一物理块相对于第一群组的物理块的位置的位置。在一些实施例中,偏移可基于包含于存储器系统中的每一存储器装置中的物理块的数目及包含于每一存储器装置中的平面的数目。在相同或替代实施例中,偏移可基于包含于存储器系统中的存储器装置或裸片的数目。下文进一步描述偏移的使用。
参考图2,在框240,处理逻辑可基于偏移识别与存储器系统相关联的第二群组的物理块。来自第二群组的物理块当前可能未存储来自主机系统的数据。此外,第二群组的数据块可在存储器系统中相对于第一群组的数据块的地点(position)或位置(location)的地点或位置处。例如,第二群组的第一物理块的位置可基于第一群组的最后物理块的位置及偏移。偏移可用于指定特定存储器装置的特定行处的物理块应包含于相对于第一群组的位置的第二群组中。第二群组的位置可在不同存储器装置、存储器装置的不同平面及/或不同行处,如关于图3A到3D进一步详细描述。
在框250,处理逻辑可随后将第一群组及第二群组的物理块指派给系统块的逻辑块。因此,将物理块指派给系统块的逻辑块可基于偏移及已指派给逻辑块的先前群组的物理块的位置。
在框260,处理逻辑可进一步将系统块的逻辑块到第一群组及第二群组的物理块的映射提供到主机系统。例如,在将物理块群组指派给系统块的逻辑块中的每一者之后,系统块可用于存储来自主机系统的数据。例如,在从主机系统接收新数据以存储于存储器系统处时,新数据可被存储于指派给系统块的逻辑块的物理块处。随后,主机系统可接着通过识别指派给物理块的对应逻辑块的逻辑块地址而检索存储于物理块处的数据。
尽管图2描述将第一群组及第二群组的物理块指派给系统块的逻辑块,但可将任何数目个群组的物理块指派给系统块的逻辑块。
图3A说明根据本发明的一些实施例的用于系统块的实例块映射300。块映射300可由图1的映射组件113执行。
如图3A中展示,块映射300可表示存储器系统的存储器装置处的指派给系统块的逻辑块的物理块。例如,存储器系统可包含多个存储器装置,例如存储器装置301(例如,如由顶部行表示的存储器装置“0”)、存储器装置302(例如,存储器装置“1”)、存储器装置303(例如,存储器装置“2”)及存储器装置304(例如,存储器装置“3”)。存储器装置301、302、303及304中的每一者可包含映射到系统块的逻辑块的物理块行。例如,存储器装置301的行“0”处的第一群组的物理块310可指派给系统块的前四个逻辑块。
块映射300的偏移可指定指派给系统块的接下来的物理块可在相对于第一群组的物理块310的下一存储器装置的下一行(或指示存储器装置内的特定位置的另一此索引位置)处。例如,偏移可指定下一存储器装置302及从行“0”递增值的行“1”处的第二群组的物理块311是指派给系统块的接下来的四个逻辑块的接下来的物理块。类似地,偏移可指定应将下一存储器装置303处的下一行“2”处的第三群组的物理块312指派给系统块的接下来的四个逻辑块,且应将相对于第三群组的物理块312在下一存储器装置304及下一行“3”处的第四群组的物理块313指派给系统块的后四个逻辑块。因此,偏移可指定应将相对于先前指派群组的物理块在下一存储器装置处的下一递增列处的后续群组的物理块指派为系统块的接下来的逻辑块。
此外,在已将系统块的每一逻辑块指派给存储器装置301、302、303及304的物理块之后,可将另一系统块的逻辑块指派给其它群组的物理块。例如,其它群组的物理块可在物理块群组310、311、312及313下方的行处。例如,可将存储器装置301的行“1”、存储器装置302的行“2”、存储器装置303的行“3”及存储器装置304的行“4”指派给另一系统块的逻辑块。
图3B说明根据本发明的一些实施例的另一系统块的另一实例块映射320。块映射320可由图1的映射组件113执行。如所展示,偏移可指定待指派给另一系统块的逻辑块的后续群组的物理块应定位于下一存储器装置及来自已指派给系统块的逻辑块的先前群组的物理块的两个行处。因此,偏移可用于指定待指派给逻辑块的不同行的物理块。
图3C说明根据本发明的一些实施例的可由图1的映射组件113执行的另一系统块的另一实例块映射330。如所展示,偏移可指定待指派给系统块的逻辑块的后续群组的物理块应定位于相对于已指派给系统块的逻辑块的先前群组的物理块的下一行处。偏移可进一步指定下一行可在包含先前群组的物理块的相同存储器装置内的不同平面处。例如,每一存储器装置可包含待指派给系统块的两个群组的物理块,其中第一群组在存储器装置内的特定行处及所述存储器装置的两个平面(例如,如由第二行表示的平面“0”及平面“1”)处,且第二群组在相同存储器装置内的下一行处及相同存储器装置的另外两个平面(例如,平面“2”及“3”)处。接着,后续群组可在相对于在与第一群组的物理块类似的平面(例如,下一存储器装置的平面“0”及“1”)处的第二群组的下一存储器装置的下一行处。此外,指派给系统块的逻辑块中的每一群组中的物理块的数目可基于偏移。例如,如所展示,偏移可进一步指定每一群组的物理块的大小为两个物理块,与如图3B及3A说明的大小为四个物理块不同。
如先前描述,存储器装置的每一平面可对应于所述存储器装置的物理块的一部分且可能够独立执行同时发生的相同操作。在来自图3A到3D的存储器装置的表示中,平面可由存储器装置的每一列表示。例如,物理块“0”、“4”、“8”、“12”、“16”、“20”、“24”及“28”可在特定存储器装置的相同平面内。
图3D说明根据本发明的一些实施例的另一系统块的另一实例块映射340。块映射340可由图1的映射组件113执行。如所展示,偏移可指定待指派给系统块的逻辑块的后续物理块应定位于从已指派给所述系统块的先前逻辑块的先前物理块的下一平面中的两个行处。在一些实施例中,偏移可指定在已将来自存储器装置的每一平面的物理块指派给系统块的逻辑块之后,接着可将下一存储器装置的第一平面处的物理块指派给系统块的下一逻辑块。
因而,偏移可指定用于指定指派给系统块的逻辑块的下一群组的物理块群组的下一存储器装置的存储器装置偏移、可用于指定待指派的下一群组的物理块的存储器装置中的下一平面的平面偏移,及/或可用于指定待指派的下一群组的物理块的存储器装置中的新行的行偏移中的一或两者。因此,偏移可用于指定一群组的物理块与下一群组的物理块之间的不同索引位置(例如,行)。
图4是根据本发明的一些实施例的基于偏移及第一群组的物理块的位置来识别第二群组的物理块的实例方法400的流程图。方法400可由可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑来执行。在一些实施例中,方法400可由图1的映射组件113执行。
如图4中展示,在框410,处理逻辑可基于偏移来识别具有已经指派给存储器系统的物理块的逻辑块的第一系统块。例如,第一系统块的每一逻辑块可被映射到存储器系统的物理块。
在框420,处理逻辑可接收将物理块指派给第二系统块的逻辑块的请求。所述请求可响应于第一系统块的逻辑块中的每一者而被指派给存储器系统的物理块。例如,可在第一系统块已经指派给存储器系统的物理块之后,识别第二系统块。
在框430,处理逻辑可随后识别指派给第一系统块的逻辑块的第一群组的物理块的位置。例如,可识别包含第一群组的物理块的第一存储器装置的行。第一群组的物理块可被指派给第一系统块的第一逻辑块。
在框440,处理逻辑可基于经指派给第一系统块的逻辑块的第一群组的物理块的位置而将另一群组的物理块指派给第二系统块的逻辑块。例如,经指派给第二系统块的逻辑块的另一群组的物理块可在相同的第一存储器装置内的经指派给第一系统块的第一物理块下方的行处。此外,另一群组的物理块可被指派给第二系统块的第一逻辑块。第一群组的物理块及另一群组的物理块可包含相同数目个物理块。
在框450,处理逻辑可基于偏移来确定后续群组的物理块,以指派给第二系统块的后续逻辑块。用于将物理块指派给第二系统块的后续逻辑块的偏移可为用于识别指派给第一系统块的逻辑块的物理块的相同偏移。因而,相同偏移可被用于识别用于不同系统块的后续群组的物理块。例如,偏移可用于识别后续群组的物理块相对于用于后续系统块的先前群组的物理块的位置的位置。
图5说明计算机系统500的实例机器,可在所述机器内执行用于引起所述机器执行本文中论述的方法论中的任一或多者的指令集。在一些实施方案中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含或利用存储器系统(例如,图1的存储器系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的映射组件113的操作)。在替代实施方案中,机器可连接(例如,联网)到LAN、内部网络、外部网络及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器机器或客户端机器的身份操作,在对等(或分布式)网络环境中操作为对等机器,或在云端计算基础设施或环境中操作为服务器或客户端机器。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或能够执行指定待由所述机器采取的动作的指令集(循序或以其它方式)的任何机器。此外,虽然说明单个机器,但术语“机器”也应被视为包含个别或联合执行的一(或多个)指令集以执行本文中论述的方法论的任一或多者的任何机器集合。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等)及数据存储系统518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、极长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置502经配置以执行用于执行本文中论述的操作及步骤的指令526。计算机系统500可进一步包含经由网络520通信的网络接口装置508。
数据存储系统518可包含其上存储器现本文中描述的方法论或功能中的任一或多者的一或多个指令集或软件526的机器可读存储媒体524(也被称为计算机可读媒体)。指令526也可完全或至少部分驻留在主存储器504内及/或在其由计算机系统500执行期间驻留在处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器系统110。
在一个实施方案中,指令526包含实施对应于映射组件(例如,图1的映射组件113)的功能性的指令。虽然机器可读存储媒体524在实例实施方案中展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”也应被视为包含能够存储或编码由机器执行且引起机器执行本发明的方法论中的任一或多者的指令集的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已在对计算机存储器内的数据位的操作的算法及符号表示方面呈现前文详细描述的一些部分。这些算法描述及表示是数据处理领域的技术人员用于最有效地向所属领域的其它技术人员传达其工作要旨的方式。算法在此处且一般被设想为导致所要结果的自行一致操作序列。所述操作是需要物理操纵物理量的操作。通常但不一定地,这些量采取能够被存储、组合、比较及以其它方式操纵的电信号或磁信号的形式。已经证实,主要因常用的原因,将这些信号称作位、值、元件、符号、字符、术语、数字或类似物有时是方便的。
然而,应牢记,所有这些及类似术语应与适当物理量相关联且仅为应用于这些量的方便标记。本发明可涉及操纵表示为计算机系统的寄存器及存储器内的物理(电子)量的数据且将其转变成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
本发明还涉及一种用于执行本文中的操作的设备。此设备可专门为预期目的而建构,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光学卡,或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中呈现的算法及显示并非固有地与任何特定计算机或其它设备有关。各种通用系统可结合根据本文中的教示的程序使用,或可证实建构更专门设备来执行方法是方便的。用于多种这些系统的结构将呈现为下文描述中所陈述。另外,本发明未参考任何特定编程语言描述。将了解,多种编程语言可用于实施如本文中描述的本发明的教示。
本发明可提供为可包含其上存储有指令的机器可读媒体的计算机程序产品或软件,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本发明的程序。机器可读媒体包含用于存储呈可由机器(例如,计算机)读取的形式的信息的任何机构。在一些实施方案中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,本发明的实施方案已参考其特定实例实施方案进行描述。将显而易见,可在不脱离如以下权利要求书中陈述的本发明的实施方案的更广精神及范围的情况下对其进行各种修改。因此,说明书及图式应被视为具说明性意义而非限制性意义。

Claims (17)

1.一种方法,其包括:
由处理装置,基于与对应于多个逻辑块的系统块相关联的存储器系统的特性来确定偏移,其中所述存储器系统的所述特性对应于包含在所述存储器系统中的存储器装置的数目且对应于包含在所述存储器装置中的每一者中的平面的数目,且其中所述存储器装置中的每一者包括多个平面;
由所述处理装置,将所述存储器系统的第一群组的物理块指派给对应于所述系统块的所述多个逻辑块的群组;
由所述处理装置,在基于所述偏移及所述第一群组的物理块的位置处识别所述存储器系统的第二群组的物理块;
由所述处理装置,将所述存储器系统的所述第二群组的物理块指派给对应于所述系统块的所述多个逻辑块的另一群组;及
由所述处理装置,通过使用所述系统块而运用所述经指派的第一群组及第二群组的物理块来存储数据。
2.根据权利要求1所述的方法,其中所述偏移指定所述第二群组的物理块相对于所述存储器系统的所述第一群组的物理块的位置的位置。
3.根据权利要求1所述的方法,其中所述指派所述第一群组的物理块及所述第二群组的物理块包括:
在所述存储器系统的存储器装置的第一裸片处识别所述第一群组的物理块;及
在第二裸片处识别所述第二群组的物理块,其中所述第二裸片处的所述第二群组的物理块是在不同于所述第一群组的物理块的索引位置处,所述不同索引位置是基于所述偏移。
4.根据权利要求3所述的方法,其中所述不同索引位置对应于相对于包含所述第一群组的物理块的所述第一裸片的行的所述第二裸片处的不同行。
5.根据权利要求1所述的方法,其中所述指派所述第一群组的物理块及所述第二群组的物理块包括:
在所述存储器系统的存储器装置的第一平面处识别所述第一群组的物理块;及
在所述存储器装置的第二平面处识别所述第二群组的物理块,其中所述第二平面处的所述第二群组的物理块是在不同于所述第一平面处的所述第一群组的物理块的索引位置处,所述不同索引位置是基于所述偏移。
6.根据权利要求1所述的方法,其进一步包括:
识别对应于另外多个逻辑块的后续系统块;及
基于经指派给所述系统块的多个逻辑块的所述群组的所述第一群组的物理块的位置,将特定群组的物理块指派给所述另外多个逻辑块的一部分。
7.一种系统,其包括:
存储器;及
处理装置,其与所述存储器可操作地耦合以:
基于与对应于多个逻辑块的系统块相关联的存储器系统的特性来确定偏移,其中所述存储器系统的所述特性对应于包含在所述存储器系统中的存储器装置的数目且对应于包含在所述存储器装置中的每一者中的平面的数目,且其中所述存储器装置中的每一者包括多个平面;
将所述存储器系统的第一群组的物理块指派给对应于所述系统块的所述多个逻辑块的群组;
在基于所述偏移及所述第一群组的物理块的位置处,识别所述存储器系统的第二群组的物理块;
将所述存储器系统的所述第二群组的物理块指派给对应于所述系统块的所述多个逻辑块的另一群组;及
通过使用所述系统块而运用所述经指派的第一群组及第二群组的物理块来存储数据。
8.根据权利要求7所述的系统,其中所述偏移指定所述第二群组的物理块相对于所述存储器系统的所述第一群组的物理块的位置的位置。
9.根据权利要求7所述的系统,其中为指派所述第一群组的物理块及所述第二群组的物理块,所述处理装置进一步:
在所述存储器系统的存储器装置的第一裸片处,识别所述第一群组的物理块;及
在第二裸片处识别所述第二群组的物理块,其中所述第二裸片处的所述第二群组的物理块是在不同于所述第一群组的物理块的索引位置处,所述不同索引位置是基于所述偏移。
10.根据权利要求9所述的系统,其中所述不同索引位置对应于相对于包含所述第一群组的物理块的所述第一裸片的行的所述第二裸片处的不同行。
11.根据权利要求7所述的系统,其中为指派所述第一群组的物理块及所述第二群组的物理块,所述处理装置进一步:
在所述存储器系统的存储器装置的第一平面处,识别所述第一群组的物理块;及
在所述存储器装置的第二平面处识别所述第二群组的物理块,其中所述第二平面处的所述第二群组的物理块是在不同于所述第一平面处的所述第一群组的物理块的索引位置处,所述不同索引位置是基于所述偏移。
12.根据权利要求7所述的系统,其中所述处理装置进一步:
识别对应于另外多个逻辑块的后续系统块;及
基于经指派给所述系统块的多个逻辑块的所述群组的所述第一群组的物理块的位置,将特定群组的物理块指派给所述另外多个逻辑块的一部分。
13.一种包括指令的非暂时性计算机可读媒体,所述指令在由处理装置执行时引起所述处理装置执行包括以下各者的操作:
基于与系统块相关联的存储器系统的特性来确定偏移,其中所述系统块对应于多个逻辑块,其中所述存储器系统的所述特性对应于包含在所述存储器系统中的存储器装置的数目且对应于包含在所述存储器装置中的每一者中的平面的数目,且其中所述存储器装置中的每一者包括多个平面;
基于所述偏移,将所述存储器系统的多个群组的物理块指派给所述系统块的所述多个逻辑块;
识别对应于另外多个逻辑块的新系统块;
基于所述偏移及与所述多个群组的物理块相关联的位置来识别所述存储器系统的另外多个群组的物理块;及
将所述另外多个群组的物理块指派给对应于所述新系统块的所述另外多个逻辑块。
14.根据权利要求13所述的非暂时性计算机可读媒体,其中所述偏移指定多个群组的特定群组的物理块相对于多个群组的先前群组的物理块的位置的位置。
15.根据权利要求13所述的非暂时性计算机可读媒体,其中为基于所述偏移及与所述多个群组的物理块相关联的所述位置来识别所述存储器系统的另外多个群组的物理块,所述操作进一步包括:
识别经指派给所述系统块的所述多个逻辑块的所述多个群组的初始群组的物理块的位置;及
识别所述另外多个群组的特定群组的物理块相对于所述初始群组的物理块的所述位置的位置。
16.根据权利要求15所述的非暂时性计算机可读媒体,其中为基于所述偏移及与所述多个群组的物理块相关联的所述位置来识别所述存储器系统的另外多个群组的物理块,所述操作进一步包括:
基于所述偏移及所述特定群组的所述位置来识别所述另外多个群组的后续群组的物理块。
17.根据权利要求13所述的非暂时性计算机可读媒体,其中所述操作进一步包括:
使用所述系统块及所述新系统块,以将从主机系统接收的数据存储到所述存储器系统的所述物理块。
CN201880077317.1A 2017-12-01 2018-11-30 基于偏移的逻辑块映射 Active CN111417933B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762593758P 2017-12-01 2017-12-01
US62/593,758 2017-12-01
US16/191,364 2018-11-14
US16/191,364 US10977182B2 (en) 2017-12-01 2018-11-14 Logical block mapping based on an offset
PCT/US2018/063463 WO2019109030A1 (en) 2017-12-01 2018-11-30 Logical block mapping based on an offset

Publications (2)

Publication Number Publication Date
CN111417933A CN111417933A (zh) 2020-07-14
CN111417933B true CN111417933B (zh) 2024-05-10

Family

ID=66658484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880077317.1A Active CN111417933B (zh) 2017-12-01 2018-11-30 基于偏移的逻辑块映射

Country Status (6)

Country Link
US (1) US10977182B2 (zh)
EP (1) EP3718013A4 (zh)
KR (1) KR20200084901A (zh)
CN (1) CN111417933B (zh)
TW (1) TW201935244A (zh)
WO (1) WO2019109030A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416170B2 (en) * 2019-01-17 2022-08-16 Intel Corporation Technologies for efficiently accessing data columns and rows in a memory
US10839878B1 (en) 2019-08-28 2020-11-17 Micron Technology, Inc. Memory sub-system managing remapping for misaligned memory components

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101099125A (zh) * 2004-12-16 2008-01-02 桑迪士克股份有限公司 群集的自动对准
CN101233481A (zh) * 2005-08-03 2008-07-30 桑迪士克股份有限公司 通过逻辑地址空间且以直接数据文件为基础操作的介接系统
CN102341793A (zh) * 2009-03-04 2012-02-01 美光科技公司 存储器块选择
CN105849706A (zh) * 2013-12-04 2016-08-10 桑迪士克科技有限责任公司 用于管理逻辑到物理地址映射的储存模块和方法
CN106708424A (zh) * 2015-11-13 2017-05-24 三星电子株式会社 对用户数据执行选择性底层暴露映射的设备和方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490264A (en) * 1993-09-30 1996-02-06 Intel Corporation Generally-diagonal mapping of address space for row/column organizer memories
US5943693A (en) * 1995-03-29 1999-08-24 Intel Corporation Algorithmic array mapping to decrease defect sensitivity of memory devices
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7631162B2 (en) * 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US8566504B2 (en) * 2007-09-28 2013-10-22 Sandisk Technologies Inc. Dynamic metablocks
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8095765B2 (en) * 2009-03-04 2012-01-10 Micron Technology, Inc. Memory block management
US8612718B2 (en) * 2009-08-19 2013-12-17 Seagate Technology Llc Mapping alignment
US8732431B2 (en) 2011-03-06 2014-05-20 Micron Technology, Inc. Logical address translation
US9176810B2 (en) * 2011-05-27 2015-11-03 SanDisk Technologies, Inc. Bit error reduction through varied data positioning
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
KR101997623B1 (ko) 2013-02-26 2019-07-09 삼성전자주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
US9465732B2 (en) * 2013-03-15 2016-10-11 Sandisk Technologies Llc Binning of blocks for dynamic linking
US9501400B2 (en) * 2013-11-13 2016-11-22 Sandisk Technologies Llc Identification and operation of sub-prime blocks in nonvolatile memory
US9798620B2 (en) * 2014-02-06 2017-10-24 Sandisk Technologies Llc Systems and methods for non-blocking solid-state memory
US9003109B1 (en) * 2014-05-29 2015-04-07 SanDisk Technologies, Inc. System and method for distributed computing in non-volatile memory
US20160048457A1 (en) 2014-08-13 2016-02-18 The Boeing Company Dynamic memory address remapping in computing systems
US9870153B2 (en) * 2014-12-29 2018-01-16 Sandisk Technologies Llc Non-volatile memory systems utilizing storage address tables
US10222990B2 (en) 2015-07-24 2019-03-05 Sandisk Technologies Llc Optimistic read operation
US9875049B2 (en) * 2015-08-24 2018-01-23 Sandisk Technologies Llc Memory system and method for reducing peak current consumption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101099125A (zh) * 2004-12-16 2008-01-02 桑迪士克股份有限公司 群集的自动对准
CN101233481A (zh) * 2005-08-03 2008-07-30 桑迪士克股份有限公司 通过逻辑地址空间且以直接数据文件为基础操作的介接系统
CN102341793A (zh) * 2009-03-04 2012-02-01 美光科技公司 存储器块选择
CN105849706A (zh) * 2013-12-04 2016-08-10 桑迪士克科技有限责任公司 用于管理逻辑到物理地址映射的储存模块和方法
CN106708424A (zh) * 2015-11-13 2017-05-24 三星电子株式会社 对用户数据执行选择性底层暴露映射的设备和方法

Also Published As

Publication number Publication date
EP3718013A1 (en) 2020-10-07
WO2019109030A1 (en) 2019-06-06
TW201935244A (zh) 2019-09-01
KR20200084901A (ko) 2020-07-13
EP3718013A4 (en) 2021-08-25
US10977182B2 (en) 2021-04-13
CN111417933A (zh) 2020-07-14
US20190171576A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
CN114097033A (zh) 存储器子系统的被取消映射分配单元的管理
CN114174976B (zh) 从多个写入操作模式选择写入操作模式
US11776615B2 (en) Sequential SLC read optimization
US20220342813A1 (en) Storing highly read data at low impact read disturb pages of a memory device
US11688475B2 (en) Performing read operation prior to two-pass programming of storage system
US11733892B2 (en) Partial superblock memory management
CN111417933B (zh) 基于偏移的逻辑块映射
US11817152B2 (en) Generating embedded data in memory cells in a memory sub-system
US11646077B2 (en) Memory sub-system grading and allocation
US11436154B2 (en) Logical block mapping based on an offset
US11861225B2 (en) Management unit based media management operations in memory devices
US11941276B2 (en) Incomplete superblock management for memory systems
US20240192875A1 (en) Remapping bad blocks in a memory sub-system
US11934685B2 (en) Performing memory access operations based on quad-level cell to single-level cell mapping table
CN113539342B (zh) 主动读取干扰缓解
US20240192893A1 (en) Managing distribution of page addresses and partition numbers in a memory sub-system
US20230393745A1 (en) Die family management on a memory device using block family error avoidance
US20230058232A1 (en) Partition command queues for a memory device
US10628044B2 (en) Dynamic allocation of volatile memory to storage management components of a non-volatile storage device
CN113010101A (zh) 使用编程时间接近度管理存储器装置中数据单元的读取电压电平
CN117999547A (zh) 用于存储器子系统中的两遍次编程的虚拟管理单元方案
CN112328508A (zh) 多层存储器中的层交错

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant