CN113625943A - 用于顺序地存储的数据的经压缩逻辑到物理映射 - Google Patents
用于顺序地存储的数据的经压缩逻辑到物理映射 Download PDFInfo
- Publication number
- CN113625943A CN113625943A CN202110473320.9A CN202110473320A CN113625943A CN 113625943 A CN113625943 A CN 113625943A CN 202110473320 A CN202110473320 A CN 202110473320A CN 113625943 A CN113625943 A CN 113625943A
- Authority
- CN
- China
- Prior art keywords
- logical block
- addresses
- physical
- entries
- data
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 66
- 230000015654 memory Effects 0.000 claims description 223
- 230000004044 response Effects 0.000 abstract description 22
- 238000003860 storage Methods 0.000 abstract description 22
- 238000000034 method Methods 0.000 description 48
- 238000012005 ligant binding assay Methods 0.000 description 19
- 238000007667 floating Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 239000000758 substrate Substances 0.000 description 9
- 238000003491 array Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003989 dielectric material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000012212 insulator Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012777 electrically insulating material Substances 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- BHEPBYXIRTUNPN-UHFFFAOYSA-N hydridophosphorus(.) (triplet) Chemical compound [PH] BHEPBYXIRTUNPN-UHFFFAOYSA-N 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- 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/061—Improving I/O performance
-
- 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
-
- 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/04—Addressing variable-length words or parts of words
-
- 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/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请案是针对用于顺序地存储的数据的经压缩逻辑到物理映射。存储器装置可使用逻辑到物理映射表的分级集合以用于将由主机装置生成的逻辑块地址映射到所述存储器装置的物理地址。所述存储器装置可确定终端逻辑到物理映射表的所有条目是否为连续物理地址。响应于确定所有条目含有连续物理地址,存储器装置可将所述连续物理地址的开始物理地址连同旗标存储为较高层级表中的条目,所述旗标指示所述条目直接指向所述存储器装置中的数据而非指向终端逻辑到物理映射表。对于存储在所述连续物理地址中的一或多个中的数据的后续读取,所述存储器装置可略过终端表来读取所述数据。
Description
交叉引用
本专利申请案要求由卡列罗(Cariello)等人于2020年5月8日提交的标题为“用于顺序地存储的数据的经压缩逻辑到物理映射(COMPRESSED LOGICAL-TO-PHYSICAL MAPPINGFOR SEQUENTIALLY STORED DATA)”的第16/870,674号美国专利申请案的优先权,所述美国专利申请案转让给本受让人,并且明确地以全文引用的方式并入本文中。
技术领域
技术领域涉及用于顺序地存储的数据的经压缩逻辑到物理映射。
背景技术
下文大体上涉及一或多个存储器系统,且更具体地说,涉及用于循序存储的数据的经压缩逻辑到物理映射。
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程到各种状态来存储信息。例如,二进制存储器单元可编程到两个支持状态中的一个,常常由逻辑1或逻辑0来标示。为了存取所存储信息,组件可读取或感测存储器装置中的至少一个所存储状态。为了存储信息,组件可在存储器装置中写入状态或对状态进行编程。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D Xpoint)、快闪存储器(例如浮动栅极快闪装置和电荷捕集快闪装置,其可用于“或非”(NOR)或“与非”(NAND)存储器装置中)等。存储器装置可为易失性或非易失性的。非易失性存储器单元(例如快闪存储器单元)即使在不存在外部电源的情况下仍可维持其所存储逻辑状态达很长一段时间。易失性存储器单元(例如DRAM单元)除非它们被外部电源周期性地刷新,否则可能随时间推移而丢失其所存储状态。基于快闪的存储器装置与其它非易失性和易失性存储器装置相比可具有不同的性能。
发明内容
描述一种设备。所述设备可包含存储器阵列和控制组件,所述控制组件与存储器阵列耦合且被配置成使得设备:从主机装置接收读取命令,所述读取命令包括与存储在设备中的数据的至少一部分的位置相关联的第一逻辑块地址,其中数据跨越多个连续物理地址;至少部分地基于第一逻辑块地址而确定用于将包括第一逻辑块地址的第一多个逻辑块地址映射到对应的第一多个物理地址的第一多个条目的存储器位置;至少部分地基于第一逻辑块地址而读取第一多个条目中的第一条目,第一条目包括多个连续物理地址中的第一物理地址和旗标的第一值;至少部分地基于第一物理地址和旗标的第一值而从多个连续物理地址中的第二物理地址读取数据的至少部分;以及将数据发射到主机装置。
描述一种设备。所述设备可包含存储器阵列和控制组件,所述控制组件与存储器阵列耦合且被配置成使得设备:从主机装置接收用于将数据写入到设备的多个写入命令,多个写入命令包括:第一写入命令,其包括对应于用于将多个连续逻辑块地址映射到对应的多个物理地址的一定数量的条目中的第一条目的第一逻辑块地址,以及多个写入命令中的多个其余写入命令,其各自包括相应连续逻辑块地址;至少部分地基于接收多个写入命令而将数据存储在设备中在从第一物理地址开始的多个连续物理地址处;确定包括第一逻辑块地址和相应逻辑块地址的逻辑块地址的数量是否匹配条目的数量;以及至少部分地基于确定逻辑块地址的数量匹配条目的数量而将第一物理地址和旗标的第一值存储在用于将包括所述数量的逻辑块地址的多个逻辑块地址映射到包括多个连续物理地址的对应的多个物理块地址的多个条目中的第一条目中。
描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包括指令的代码,所述指令在由电子装置的处理器执行时使得电子装置:从主机装置接收读取命令,所述读取命令包括与存储在电子装置中的数据的至少一部分的位置相关联的第一逻辑块地址,其中数据跨越多个连续物理地址;至少部分地基于第一逻辑块地址而确定用于将包括第一逻辑块地址的第一多个逻辑块地址映射到对应的第一多个物理地址的第一多个条目的存储器位置;至少部分地基于第一逻辑块地址而读取第一多个条目中的第一条目,第一条目包括多个连续物理地址中的第一物理地址和旗标的第一值;至少部分地基于第一物理地址和旗标的第一值而从多个连续物理地址中的第二物理地址读取数据的至少部分;以及将数据发射到主机装置。
附图说明
图1说明根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的存储器装置的实例。
图2说明根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的NAND电路的实例。
图3说明根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的系统的实例。
图4说明根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的操作流程的实例。
图5说明根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的操作流程的实例。
图6说明根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的过程的实例。
图7展示根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的存储器装置的框图。
图8和9展示说明根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的一或多个方法的流程图。
具体实施方式
存储器装置,例如包含快闪存储器的装置,以及其它实例,可与主机装置耦合,并且可从主机装置接收用于读取或写入数据的命令(例如,读取和写入命令)。快闪存储器通常组织成页和块,其中每一块可含有多个页。可在页层级处读取和写入快闪存储器单元,但可在块层级处擦除快闪存储器单元。在一些实例中,快闪存储器单元可不在不首先擦除的情况下重新写入。因此,在快闪存储器装置更新数据页(例如,响应于来自主机装置的命令)时,存储器装置可将新数据写入到不同页且将旧页标记为过时而非擦除存储器块且在块中重新写入任何有效页。
对于写入操作,主机装置可使用逻辑块地址(LBA)指代存储在存储器装置中的数据的位置以识别数据页的逻辑(例如,概念性)位置。LBA可映射到其处存储数据的存储器装置的存储器页的物理地址。因为数据的物理地址可改变(例如,在通过将更新后的数据写入到不同页而更新数据时),一些存储器装置维持将由主机装置生成的LBA映射到存储器装置中的页的对应物理地址的一或多个逻辑到物理(L2P)表。以此方式,主机装置可请求使用与用于写入数据的LBA相同的LBA从存储器装置读取数据,即使数据已移动到不同的物理地址也是如此。在一些实例中,物理地址可包含指示页的具体子集的偏移索引。例如,如果存储器装置具有16kB的页大小,则每一页可进一步被分割成可基于物理地址的偏移索引而存取的四个4kB页子集。
具有相对较大存储容量的存储器装置可使用具有多个层级表的分级L2P表架构来识别将读取的数据页的位置,例如双层级架构或三层级架构。在一些实例中,存储器装置可使用多层级L2P表逐步回到快闪存储器中的数据页的位置。例如,三层级L2P表架构可包含相对较小的第一层级表,其可包含指向多个第二层级L2P表的位置的物理地址的列表。第二层级L2P表可包含指向多个第三层级L2P表的位置的物理地址的列表。第三层级L2P表可包含指向快闪存储器中的数据页的物理地址的列表;例如,其可为分级结构中的终端(例如,最后一个)表。因此,为了存取快闪存储器中的数据,存储器装置可导航通过三个层级以识别所请求数据页的位置。此类方法可允许将相对较小的第一层级L2P表存储在存储器装置上的SRAM中以用于快速存取和更新,但可通过引入额外操作,例如两个额外读取(例如,用于读取第一层级表和第二层级表中的条目)而增加读取时延,以识别数据的物理地址。
第三层级表可包含可由对应LBA索引排序的物理地址的列表。也就是说,第三层级表中的第一条目可包含对应于LBA0的物理地址,第二条目可包含对应于LBA 1的物理地址等。物理地址可能并非在所有情况下都是顺序的。然而,在主机数据顺序地写入到快闪存储器(例如,数据写入到顺序物理地址)时,类似于对应LBA,第三层级L2P表中的物理地址也可为顺序的。此类顺序写入可比非顺序写入快,并且可例如在下载或流式传输数据时发生。
在一些实例中,第三层级L2P表可含有在512字节与4kB的物理地址之间(取决于架构),由此在快闪存储器中的2与16MB的用户数据之间映射。
在一些实例中,如果顺序地存储第三层级表的数据页(例如,表中的物理地址是顺序的),则可随后基于第三层级表的第一物理地址(例如,对应于表的第一LBA的开始物理地址)而读取由第三层级表映射的数据页。例如,存储器装置可基于第一物理地址而计算顺序地存储的数据的页中的任何页的物理地址,或可从第一物理地址开始读取数据的多个顺序页。此类顺序地存储的数据可为数据流的实例或被称为数据流。
如本文中所描述,顺序地存储的数据的开始物理地址可存储为第二层级L2P表中的条目(例如,而非将指针存储到第三层级L2P表的条目),并且可直接指向顺序数据。在此实例中,存储器装置可通过遍历前两个层级的L2P表来定位数据,而不存取第三层级L2P表,进而消除L2P表读取中的一个且改善读取时延,以及其它优点。
在一些实例中,第二层级L2P可包含指向顺序用户数据的物理地址的一些条目(例如,略过对第三层级L2P表的需要),以及包含到第三层级L2P表的指针的其它条目(例如,针对非顺序地存储的数据)。在一些实例中,可有益的是,向存储器装置提供关于这两个类型的条目中的哪一个包含在第二层级L2P条目中的每一条目中的指示,以使得存储器装置能够准确地定位用户数据且在可能时略过第三层级L2P表。
在一些实例中,L2P表中的每一条目(例如,指针)可占据4字节(为了便于计算),并且可指向至多16TB的快闪存储器(具有4kB存储器块)。在具有较小容量(例如,至多512GB)的存储器装置中,每一条目中的一些位不可用于L2P映射。每一条目的任何可用位可实际上用于存储额外信息,例如物理地址是否有效。在一些实例中,一或多个此类可用位可用于向存储器装置指示L2P条目是否包含到第三层级L2P表的指针或到用户数据的指针,以及其它实例。
本文中所描述的技术可提供若干益处。例如,可通过基于从第一LBA开始物理地址的偏移而计算顺序数据中的数据页的物理地址以消除终端L2P表查找来改进随机读取性能。此外,可消除终端L2P表更新,从而使得NAND快闪存储器中的可用空间更多(例如,第三层级L2P表可消耗数百MB),并且使得NAND存储器单元上用于执行不必要的操作的耗损更少。
为了优化读取电平,存储器装置可存储从编程操作(例如,写入操作)针对NAND快闪存储器中的每一页或LBA发生时开始的温度和时间代码。通过使用第二层级L2P表中的指示符来标示顺序数据,在填充整个块(例如,整个终端L2P表)时,专用SRAM表可经压缩且跳过块中的每一页的温度和时戳,这是由于顺序写入以原子方式完成。
一开始在参考图1和2所描述的存储器装置和NAND电路的上下文中描述本公开的特征。如参考图3-6所描述,在用于生成和使用用于顺序地存储的数据的L2P表中的条目的系统、过程和流程的上下文中进一步描述本公开的特征。参考设备图和流程图进一步说明且描述本公开的这些和其它特征,所述设备图和流程图涉及参考图7至9所描述的用于顺序地存储的数据的经压缩逻辑到物理映射。
图1说明根据本文所公开的实例的存储器装置100的实例。在一些实例中,存储器装置100可被称为(或可包含在)受管理存储器装置、通用快闪存储(UFS)装置、固态存储装置、存储器芯片或电子装置或设备。存储器装置100可包含一或多个存储器单元,例如存储器单元105-a和存储器单元105-b(未标记其它存储器单元)。存储器单元105可为例如快闪存储器单元(例如在图1中展示的存储器单元105-a的放大图中描绘)、DRAM存储器单元、FeRAM存储器单元、PCM存储器单元或另一类型的存储器单元。
每一存储器单元105可被编程为存储表示一或多个信息位的逻辑状态。不同存储器单元架构可以不同方式存储逻辑状态。在FeRAM架构中,例如,每一存储器单元105可包含包含用于存储表示可编程状态的电荷和/或极化的铁电材料的电容器。在DRAM架构中,每一存储器单元105可包含包含用于存储表示可编程状态的电荷的介电材料(例如,绝缘体)的电容器。在快闪存储器架构中,每一存储器单元105可包含具有用于存储表示逻辑状态的电荷的浮动栅极和/或介电材料的晶体管。例如,存储器单元105-a的放大图是包含可用于存储逻辑状态的晶体管110(例如,金属氧化物半导体(MOS)晶体管)的快闪存储器单元。晶体管110具有控制栅极115且可包含包夹在介电材料125之间的浮动栅极120。晶体管110包含第一节点130(例如,源极或漏极)和第二节点135(例如,漏极或源极)。可通过将一定数量的电子(例如,电荷)放置(例如,写入、存储)在浮动栅极120上来将逻辑状态存储在晶体管110中。将存储在浮动栅极120上的电荷的量可取决于将存储的逻辑状态。存储在浮动栅极120上的电荷可影响晶体管110的阈值电压,进而影响在晶体管110被激活时可流过晶体管110的电流量。可通过将电压施加到控制栅极115(例如,在控制节点140处)以激活晶体管110且测量(例如,检测、感测)在第一节点130与第二节点135之间流动的所得电流量来读取存储在晶体管110中的逻辑状态。
例如,感测组件170可基于来自存储器单元的电流的存在或不存在或基于电流是否高于或低于阈值电流而确定存储在快闪存储器单元上的逻辑状态。类似地,可通过将电压(例如,高于阈值的电压或低于阈值的电压)施加到存储器单元以将表示可能逻辑状态中的一个的电荷存储(或不存储)在浮动栅极上来写入快闪存储器单元。
电荷捕集快闪存储器单元可以类似于浮动栅极快闪存储器单元的方式操作,但替代(或除了)将电荷存储在浮动栅极120上,电荷捕获快闪存储器单元可将表示状态的电荷存储在控制栅极115下方的介电材料中。因此,电荷捕集快闪存储器单元可包含或可不包含浮动栅极120。
在一些实例中,存储器单元105的每一行可连接到字线160,并且存储器单元105的每一列连接到数字线165。因此,一个存储器单元105可位于字线160与数字线165的相交点处。此相交点可被称为存储器单元的地址。数字线有时被称为位线。在一些实例中,字线160和数字线165可大体上彼此垂直且可产生存储器单元105的阵列(例如,存储器阵列中)。在一些实例中,字线160和数字线165可一般被称为存取线或选择线。
在一些实例中,存储器装置100可包含三维(3D)存储器阵列,其中多个二维(1D)存储器阵列形成在彼此之上。相比于1D阵列,此可增加可放置或产生在单个裸片或衬底上的存储器单元的数量,这反过来可减少制造成本,或增加存储器阵列的性能,或这两个。在图1的实例中,存储器装置100包含多个层级的存储器阵列。在一些实例中,层级可由电绝缘材料分隔开。每一层级可经对准或定位以使得存储器单元105可在每一层级上彼此(精确地、重叠、或近似)对准,从而形成存储器单元堆叠175。在一些实例中,存储器单元堆叠175可被称为存储器单元串,参考图3更详细论述。
可通过行解码器145和列解码器150来控制对存储器单元105的存取。例如,行解码器145可从存储器控制器155(例如,控制组件)接收行地址且基于所接收行地址激活适当字线160。类似地,列解码器150可从存储器控制器155接收列地址且激活适当数字线165。因此,通过激活一个字线160和一个数字线165,可存取一个存储器单元105。
在存取之后,存储器单元105可由感测组件170读取或感测。例如,感测组件170可被配置成基于由存取存储器单元105所生成的信号而确定存储器单元105的所存储逻辑状态。信号可包含电压或电流或这两个,并且感测组件170可包含电压感测放大器、电流感测放大器或这两个。例如,可将电流或电压施加到存储器单元105(使用对应字线160和/或数字线165),并且数字线165上的所得电流或电压的量值可取决于由存储器单元105存储的逻辑状态。例如,对于快闪存储器单元,存储器单元105中的晶体管的浮动栅极上或绝缘层中所存储的电荷量可影响晶体管的阈值电压,进而影响在存取存储器单元105时流过存储器单元105中的晶体管的电流量。此类电流的差异可用于确定存储在存储器单元105上的逻辑状态。
感测组件170可包含各种晶体管或放大器以便检测和放大数字线165上的信号(例如,电流或电压)。接着可经由输入/输出块180输出存储器单元105的检测到的逻辑状态。在一些实例中,感测组件170可为列解码器150或行解码器145的一部分,或感测组件170可以其它方式与列解码器150或行解码器145连接或电子通信。
可通过类似地激活相关字线160和数字线165以使得逻辑状态(例如,表示一或多个信息位)能够存储在存储器单元105中来设置或写入存储器单元105。列解码器150或行解码器145可例如从输入/输出块180接受将写入到存储器单元105的数据。如先前论述,在快闪存储器(例如NAND和3D NAND存储器装置中使用的快闪存储器)的情况下,可通过将电子存储在浮动栅极或绝缘层中来写入存储器单元105。
存储器控制器155可通过例如行解码器145、列解码器150和感测组件170的各种组件控制存储器单元105的操作(例如,读取、写入、重新写入、刷新等)。在一些实例中,行解码器145、列解码器150和感测组件170中的一或多个可与存储器控制器155共址。存储器控制器155可生成行和列地址信号,以便激活所要字线160和数字线165。存储器控制器155还可生成和控制在存储器装置100的操作期间使用的各种电压或电流。在一些实例中,存储器控制器155或存储器装置100的另一组件可构造(例如,构建、生成和/或维持)用于将LBA(例如,由主机装置生成的LBA)映射到存储器装置100中的物理地址(例如,存储器装置100中对应于LBA的物理页的地址)的一或多个L2P表。在一些实例中,存储器装置100可生成和/或维持多个层级的L2P表,例如在三层L2P表架构中。在一些实例中,存储器装置100可确定终端L2P表(例如第三层级L2P表)是否填充有(或将填充有)顺序物理地址,例如在将数据顺序地写入到存储器装置时。在此情况下,存储器装置100可将顺序物理地址中的第一物理地址存储在较高层级L2P表(例如,第二层级L2P表)的条目中,并且可丢弃(或避免生成)终端L2P表(例如,第三层级L2P表)。存储器装置100可将条目是否包含直接到顺序物理数据的指针的指示(例如旗标的值)存储在较高层级L2P表(例如,第二层级L2P表)的一或多个条目中,进而使得存储器装置100能够略过终端L2P表(例如,第三层级L2P表),或到终端L2P表的指针。
尽管本文中的论述聚焦三层L2P表架构,但类似方法可使用在多层级L2P表架构的其它实例中,例如双层级L2P架构、四层级L2P架构等,其中如果顺序地存储由表指向的数据,则可消除(例如,丢弃、不生成、略过)终端(例如,最后一个)L2P表。
图2说明根据本公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的NAND电路200的实例。NAND电路200可为存储器装置(例如,存储器装置100)的一部分的实例。虽然图2中包含的一些元件标记有附图标记,而其它对应元件未经标记,但它们是相同的或将理解为类似的,以便增加所描绘特征的可见度和清晰度。
NAND电路200包含以NAND配置连接的多个快闪存储器单元205(其可为例如参考图1所描述的快闪存储器单元)。在NAND存储器配置(被称为NAND存储器)中,多个快闪存储器单元205彼此串联连接以形成存储器单元205的串210,其中串210中的每一快闪存储器单元205的漏极与所述串中的另一快闪存储器单元205的源极耦合。在一些实例中,以NAND配置连接以形成NAND存储器的快闪存储器单元可被称为NAND存储器单元。
存储器单元205的每一串210可与对应数字线215(例如,数字线215-a、215-b)相关联,所述对应数字线由串210中的存储器单元205共享。串210中的每一存储器单元205可与单独字线230(例如,字线230-a、230-i、230-n)相关联,使得字线230的数量可等于串210中的存储器单元205的数量。
NAND存储器可分级地组织为包含多个存储器单元205的串210、包含连接到同一字线230的一或多个存储器单元205(例如,来自多个串210的存储器单元205)的页255、包含一或多个页255的块260、包含一或多个块260的平面以及包含一或多个平面的裸片。在一些实例中,裸片可包含一个平面,或可包含可并行操作的两个平面。存储器的页可为例如4kB的存储器、8kB的存储器或另一大小。
可在可重新写入NAND存储器单元之前擦除所述NAND存储器单元。在一些实例中,可(例如,通过激活对应字线230)以页粒度级别写入和读取NAND存储器,但不可以页粒度级别进行擦除。在一些实例中,NAND存储器可实际上以较高粒度级别(例如以块粒度级别)进行擦除。也就是说,页255可为可写入的最小单元,并且块260可为在一些实例中可擦除的最小单元。不同存储器装置可具有不同的读取/写入/擦除特性。
NAND电路200中的存储器单元205的每一串210在串210的一个末端处与漏极侧选择栅极装置(SGD)晶体管220耦合,并且在串210的另一末端处与源极侧选择栅极装置(SGS)晶体管235耦合。SGD晶体管220和SGS晶体管235可用于通过分别在SGD晶体管220的栅极245处和/或SGS晶体管235的栅极240处施加电压而将存储器单元205的串210耦合到数字线215和/或源极节点250(例如,源极节点250-a、250-b)。
在NAND存储器操作期间,可施加与源节点250、与源节点250相关联的SGS晶体管235的栅极240、字线230、漏极节点225、与漏极节点225相关联的SGD晶体管220的栅极245以及数字线215相关联的各种电压电平以对串210中的至少一些NAND存储器单元执行一或多个操作(例如,编程、擦除或读取)。
在一些实例中,在读取操作期间,可将正电压施加到连接到漏极节点225的数字线215,而源极节点250可连接到接地或虚拟接地(例如,近似0V)。例如,施加到漏极节点225的电压可为1V。同时,施加到栅极245和240的电压可增加到高于与源极节点250相关联的一或多个SGS晶体管235和与漏极节点225相关联的一或多个SGD晶体管220的阈值电压,使得与串210相关联的沟道可电连接到漏极节点225和源极节点250。沟道可为通过串210中的存储器单元205(例如,通过存储器单元205中的晶体管)的电路径,其可在某些操作条件下传导电流。
同时,除所选择字线(即,与串210中的未选择单元相关联的字线)外的多个字线230(例如,字线230-a、230-i、230-n或在一些实例中,全部字线230)可连接到高于串210中的存储器单元的最高阈值电压(VT)的电压(例如,VREAD)。VREAD可使得串210中的全部未选择存储器单元“接通”,使得每一未选择存储器单元可在与其相关联的沟道中维持高电导率。在一些实例中,与所选择单元相关联的字线230可连接到电压V目标。V目标可选择为串210中的经擦除存储器单元的VT与经编程存储器单元的VT之间的值。在所选择存储器单元展现经擦除VT(例如,V目标>所选择存储器单元的VT)时,所选择存储器单元205可响应于V目标的施加而“接通”,并且因此允许电流在串210的沟道中从数字线215流动到源极250。在所选择存储器单元展现经编程VT(例如,因此V目标<所选择存储器单元的VT)时,所选择存储器单元可响应于V目标而“断开”,并且因此禁止电流在串210的沟道中从数字线215流动到源极250。电流量(或其缺乏)可由如参考图1所描述的感测组件170感测以读取串210内的所选择存储器单元205中的所存储信息。
图3为根据本公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的系统300的实例。系统300包含与存储器装置310耦合的主机装置305。
存储器装置310可为如参考图1所描述的存储器装置100的实例,例如受管理存储器装置、存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储装置(UFS)驱动器以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。
存储器装置310可包含存储器装置控制器315以及用于存储数据的一或多个存储器阵列320,所述存储器装置控制器可为参考图1所描述的存储器控制器155的实例。存储器阵列320可包含一或多个NAND存储器阵列,例如,或用于读取和写入主机装置305的数据;例如,由主机装置305提供的数据的其它类型的存储器阵列。存储器阵列320可包含用于存储用户数据的用户数据块325。
主机装置305可使用存储器装置310将数据存储在一或多个存储器阵列320中且从一或多个存储器阵列320读取数据。主机装置305可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤沟道、串行连接的SCSI(SAS)等。
在一些实例中,存储器装置310可包含例如除存储器阵列320之外的SRAM 330或可由存储器装置310用于内部存储或计算的其它类型的存储器。在一些实例中,SRAM330可包含在存储器装置控制器315内或与所述存储器装置控制器耦合。在一些实例中,存储器装置310可将第一层级L2P表(例如,条目的集合)存储(例如,写入)在SRAM 330中。
在一些实例中,存储器装置310可包含系统表块335,其可例如用于存储与存储器阵列320的块的状态相关的信息。在一些实例中,系统表块335可包含在存储器阵列320内。系统表块335可包含非易失性存储器,例如NAND存储器、DRAM、铁电存储器、其它类型的存储器或其任何组合。在一些实例中,存储器装置310可将一或多个第二层级L2P表和/或第三层级L2P表(或可被称为条目的集合的L2P表的其它层级)存储在系统表块335中。
在一些实例中,SRAM 330和系统表块335可彼此耦合,并且SRAM 330和/或系统表块335可与存储器装置控制器315耦合。
在一些实例中,存储器装置310可维持用于将由主机装置305生成的LBA映射到存储器阵列320的物理地址(例如,页地址)的条目的一或多个集合(例如,L2P查找表)。可基于从主机装置305接收各自包含用于写入数据的LBA的一或多个写入命令而生成条目的此类集合。在一些实例中,L2P表可包含具有指向第二层级L2P表的条目的第一层级L2P表,所述第二层级L2P表又可包含指向第三层级(例如,终端)L2P表或直接指向顺序地存储在存储器阵列320中的数据的条目。
在一些实例中,可按LBA索引对终端L2P表的条目进行顺序地排序。例如,终端L2P表中的第一条目(例如)可包含对应于LBAN的第一物理地址(进而将LBA N映射到第一物理地址),条目的集合中的第二(连续)条目包含对应于LBA N+1的第二物理地址,第三条目包含对应于LBA N+2的第三物理地址等。在一些实例中,如果整个终端L2P表由顺序物理地址(例如,对应于表的顺序地索引的LBA)组成,则存储器装置控制器315可将条目存储在较高层级L2P表中,所述条目包含第一物理地址(例如,对应于表的第一LBA(LBA N)的第一物理地址)连同条目直接指向存储器阵列320中的数据而非指向系统表块335中的终端L2P表的指示。
主机装置305包含主机控制器接口340。主机控制器接口340可提供用于在主机装置305与存储器装置310之间传递控制、地址、数据和其它信号的接口。主机装置305可使用主机控制器接口340将存储器存取命令(例如,读取或写入命令)发射到存储器装置310。
存储器装置控制器315可经由主机控制器接口340从主机装置305接收信号,并且可使得存储器装置310响应于接收到此类信号而执行某些操作。例如,存储器装置控制器315可从主机装置305接收读取或写入命令,并且作为响应,可使得存储器装置310基于所接收命令而将数据读取或将数据写入到存储器阵列320。
在一些实例中,存储器装置控制器315可在读取操作期间基于来自主机装置305的读取命令中所接收的LBA而存取SRAM 330中的第一层级L2P表中的条目。第一层级L2P表中的条目可指向系统块335的页,所述系统表块包含与读取命令中所接收的LBA相关联的第二层级L2P表。存储器装置控制器315可基于LBA而存取第二层级L2P表的条目。第二层级L2P表的条目可包含到存储器阵列320的物理地址的指针(例如,用于存取用户数据块325中的顺序地存储的数据内的数据)或到系统表块335中的第三层级(例如,终端)L2P表的指针。第二层级L2P表的条目还可包含指示条目是否指向用户数据块325中的数据或指向系统表块335中的第三层级L2P表的旗标的值。
如果第二层级L2P表中的条目指示条目指向用户数据块325中的顺序数据,则存储器装置控制器315可基于开始物理地址而读取用户数据块325中的顺序数据(例如,数据的一或多个页)中的至少一些(如果不是全部),并且可将数据发射到主机装置305。
如果第二层级L2P表中的条目指示条目指向系统表块335中的第三层级(终端)L2P表,则存储器装置控制器315可读取系统表块335中的第三层级L2P表的条目以识别用户数据块325中的数据的物理地址。存储器装置控制器315可基于物理地址而读取用户数据块325中的数据(例如,数据页),并且可将数据发射到主机装置305。
图4说明根据本文所公开的实例的用于使用分级L2P表(例如,L2P表405、415、430)从存储器阵列读取数据的操作流程400,所述分级L2P表支持用于顺序地存储的数据的经压缩逻辑到物理映射。在一些实例中,操作流程400可响应于(例如,基于)(例如,从主机装置305)接收到包含或涉及LBA的读取命令而由存储器装置(例如存储器装置310)执行,并且可包含或涉及将LBA映射到存储器装置的用户数据块425中的物理地址。操作流程400可说明用于读取略过终端(例如,第三层级)L2P表的数据的流程的实例。
操作流程400描绘可为参考图3所描述的系统表块335的实例的系统表块410的用途。可包含在存储器装置的SRAM(例如SRAM 330)中或与所述存储器装置的所述SRAM耦合的系统表块410。系统表块410可组织为多个裸片(例如,裸片0和裸片1),其中的每一个包含一或多个平面(例如,平面0、平面1)。每一平面可包含多个页(例如,页0至9)。在一些实例中,系统表块410的每一方形440(例如,方形440-a)可表示页或页的子集。例如,如果系统表块410的页为16kB,则每一方形440(例如,包含方形440-a)可表示页的4kB子集。
操作流程400进一步描绘可为参考图3所描述的用户数据块325的实例的用户数据块425的用途。可包含在存储器装置的存储器阵列(例如,存储器阵列320)中的用户数据块425。类似于系统表块410,用户数据块425可组织为多个裸片(例如,裸片0和裸片1),其中的每一个包含一或多个平面(例如,平面0、平面1)。每一平面可包含多个页(例如,页0至9)。用户数据块425的每一方形440(例如,包含方形440-b)可表示页或页的子集。
在一些实例中,第一层级L2P表405可存储在系统表块410中。响应于接收到包含LBA的读取命令,存储器装置可基于LBA而读取(例如,检索、查找)第一层级L2P表405中的条目405-a。在一些实例中,条目405-a可与包含读取命令中所接收的LBA的LBA的群组相关联。条目405-a可包含系统表块410的页的物理地址,所述系统表块含有(例如,存储)第二层级L2P表415。在操作流程400中,例如,条目405-a可包含指向裸片0的平面0的页5(或页5的子集)的物理地址,所述裸片可含有第二层级L2P表415。
存储器装置可接着基于LBA而读取第二层级L2P表415中的条目415-a。条目415-a可包含用户数据块425的页的物理地址,所述页对应于顺序地存储的数据的多个页中的第一页。顺序地存储的数据的多个页可包含由主机装置请求的数据页;例如,由读取命令中的LBA指示的数据页。
在操作流程400的实例中,条目415-a可为包含指向裸片1的平面0的页4(或页4的子集)的物理地址的四字节条目,其中页4可为包含顺序地存储的数据的多个页中的第一页。(取决于存储器装置的各种特性,L2P表的条目的大小可不同。)
在一些实例中,条目415-a可包含旗标420,所述旗标可设置成指示条目415-a中的物理地址直接指向用户数据块425中的数据页的第一值,或可设置成指示条目415-a中的物理地址指向系统表块410中的第三层级L2P表的第二值。在操作流程400中,旗标的值可为指示条目415-a的物理地址直接指向用户数据块425中的数据页的第一值。在一些实例中,旗标420的值可占用条目415-a中的一或多个位,例如最低有效字节(例如,字节3)中的位。
如果读取命令中包含的LBA对应于顺序地存储的数据(例如,由条目415-a中的物理地址指向的页)的开始页435(例如,第一页、初始页),则存储器装置可从开始页435读取数据且将数据发射到主机装置。
如果读取命令中包含的LBA对应于顺序地存储的数据的不同页(例如,不同于开始页的页),则存储器装置可确定(例如,计算)对应于不同页的第二物理地址,例如通过将偏移应用到条目415-a的物理地址以确定第二物理地址。存储器装置可基于确定(例如,计算)对应于不同页的第二物理地址而从由第二物理地址指示的不同页读取数据。存储器装置可将数据发射到主机装置。
图5说明根据本文所公开的实例的用于使用分级L2P表(例如,L2P表405、415、430)从存储器阵列读取数据的操作流程500,所述分级L2P表支持用于顺序地存储的数据的经压缩逻辑到物理映射。在一些实例中,操作流程500可基于(例如,从主机装置305)接收到包含LBA的读取命令而由存储器装置(例如存储器装置310)执行,并且可包含将LBA映射到存储器装置的用户数据块425中的物理地址。操作流程500可类似于操作流程400,但可说明用于读取并不略过终端(例如,第三层级)L2P表的数据的流程的实例。
响应于接收到包含不同LBA(例如,与参考操作流程400所描述的LBA不同的LBA)的读取命令。在操作流程500中,不同LBA可包含在与条目405-a相关联的LBA的群组内。因此,存储器装置可基于不同LBA而读取第一层级L2P表405中的条目405-a。如参考操作流程400所论述,条目405-a可包含含有第二层级L2P表415的系统表块410的页的物理地址。在各种实例中,不同LBA可在LBA的不同群组内,并且可因此与第一层级L2P表405的指向与第二层级L2P表415不同的第二层级L2P表的不同条目相关联。
存储器装置可基于LBA而读取第二层级L2P表415中的条目415-b。条目415-b可与包含不同LBA的LBA的群组相关联,并且可包含系统表块410的页的物理地址,所述系统表块含有用于将LBA的群组映射到物理地址的第三层级L2P表430。在操作流程500中,例如,条目415-b可包含指向裸片1的平面0的页8(或页8的子集)的物理地址,所述裸片可含有第三层级L2P表430。
在操作流程500的实例中,类似于操作流程400的条目415-a,条目415-b可为包含旗标420的四字节条目,所述旗标的值指示条目415-b中的物理地址是否直接指向用户数据块425中的数据页或指向系统表块410中的第三层级L2P表。在操作流程500中,旗标的值可指示条目415-b的物理地址指向第三层级L2P表。
存储器装置可基于LBA且基于指示物理地址指向系统表块410中的第三层级L2P表的值旗标;例如,基于LBA且响应于确定旗标的值指示物理地址指向第三层级L2P表而读取第三层级L2P表430中的条目430-a。条目430-a可包含由主机装置请求的数据;例如,与读取命令中包含的LBA相关联的数据的用户数据块425的页的物理地址。存储器装置可读取由条目430-a的物理地址指向的用户数据块425的页处的数据,并且将数据发射到主机装置。
因此,操作流程500可相对于操作流程400产生用于读取由主机装置所请求的数据的额外时延,因为在操作流程500中,存储器装置可遍历(例如,读取来自)所有三个层级的L2P表(的条目),而在操作流程400中,存储器装置可略过终端L2P表。
图6说明根据本文所公开的实例的用于构建或更新支持用于顺序地存储的数据的经压缩逻辑到物理映射的内置L2P表的流程600的实例。流程600可用于构建或更新中间L2P表(例如第二层级L2P表),所述中间L2P表可包含直接指向顺序地存储的数据的条目和指向终端L2P表的其它条目。
在605处,存储器装置可响应于(例如,基于)例如从主机装置接收到写入命令而起始用于构建或更新一或多个L2P表的过程。写入命令可包含与将数据写入到存储器装置的用户数据块相关联的LBA。
响应于接收到写入命令,在610处,存储器装置可确定顺序数据流是否打开。例如,存储器装置可确定在605处所接收的写入命令中包含的LBA是否与先前写入命令(例如,最近所接收的先前写入命令)中包含的LBA是顺序的(具有顺序索引、连续、相接),或对应于写入命令中包含的LBA的物理地址是否与对应于先前写入命令的LBA的物理地址连续,或是否存在其它条件或关系,或其任何组合。
响应于确定流不打开,在615处,存储器装置可确定写入命令中包含的LBA是否对应于终端L2P表的第一LBA (例如,第三层级L2P表)。也就是说,在后续写入命令使得存储器装置顺序地存储数据的情况下,存储器装置可确定是否可初始化新流。
响应于确定写入命令中包含的LBA并不对应于终端L2P表的第一LBA,在620处,存储器装置可在L2P表中存储(例如,写入、保存)指向响应于接收到写入命令而写入的数据的一或多个物理地址,并且可在650处结束当前过程。在一些实例中,L2P表可为终端表(例如,如果在610处确定并不打开流之后执行步骤620)或较高层级表,例如第二层级表(例如,如果在635处关闭流之后执行步骤620,如下文所描述)。
响应于确定写入命令中包含的LBA确实对应于终端L2P表的第一LBA,在625处,存储器装置可初始化流。例如,存储器装置可存储与L2P表相关联的流已打开或数据已在对应于终端L2P表的第一条目的物理地址处写入的指示。在一些实例中,存储器装置可保存L2P表中对应于已顺序地存储的页的条目的数目的指示。在一些实例中,存储器装置可将物理地址存储在终端L2P表的第一条目中。
返回到决策点610,响应于确定流打开(例如,终端L2P表的至少第一条目已写入到终端L2P表或数据已写入到对应于终端表的第一条目的物理地址处的用户数据块),在630处,存储器装置可确定流是否继续(例如,与一或多个先前过程或操作,例如存取操作相关)。例如,存储器装置可确定605处所接收的写入命令中的LBA是否与相对于响应于在流中接收到先前写入命令而写入的数据顺序地(例如,在连续物理地址处)存储数据相关联。
响应于确定流不继续,在635处,存储器装置可关闭流。例如,存储器装置可更新与L2P表相关联的流已打开的指示,以指示流现在关闭。存储器装置可继续进行到615且执行如先前所论述的流程600的其它步骤。
响应于确定流继续,在640处,存储器装置可更新流。例如,存储器装置可更新(例如,递增)对应于已顺序地存储的页的L2P表中的条目的数量的指示。
在645处,存储器装置可确定终端L2P表是否已填充有顺序地存储的物理地址。
响应于确定终端L2P表尚未填充有顺序地存储的物理地址,存储器装置可在650处结束当前过程。
响应于确定终端L2P表已填充有顺序地存储的物理地址,存储器装置可在635处关闭流,如先前所描述。在此情况下,存储器装置可在620处将终端表的第一LBA的物理地址保存在较高层级L2P表中,例如第二层级L2P表。
在一些实例中,在流打开时,存储器装置可在每次存储器装置在顺序物理地址处存储数据时继续在终端L2P表中存储条目(物理地址),并且如果存储器装置确定终端L2P表已充满顺序地存储的物理地址,则可随后丢弃(例如,擦除、覆写)终端L2P表。
因此,流程600描述用于构建或维持L2P表的过程,其可使得存储器装置能够在顺序地存储数据时略过存取(或维持)终端L2P表。
在一些实例中,存储器装置可接收写入命令的两个或更多个交错流,其中每一流包含可包含具有可使得存储器装置将每一流的数据写入到连续物理地址的对应集合的连续逻辑块地址的写入命令。在此实例中,存储器装置可识别存储器的不同块,在所述不同块处写入用于每一流的数据以使得多个流能够与第二层级L2P表中的对应条目相关联。例如,存储器装置可在存储器的第一块的连续物理地址处写入第一数据流(例如,与写入命令的第一流相关联),并且可在存储器的第二块(例如,不同于存储器的第一块)的连续物理地址处写入第二数据流(例如,与写入命令的第二流相关联)。存储器装置可将第一条目存储在包含第一流的开始物理地址的L2P表中,并且可将第二条目存储在包含第二流的开始物理地址的L2P表中。
图7展示根据本文所公开的实例支持用于顺序地存储的数据的经压缩逻辑到物理映射的存储器装置的框图700。存储器装置705可为如参考图1至5所描述的存储器装置的方面的实例。存储器装置705可包含命令组件710、位置确定组件715、数据读取组件720、数据发射组件725、数据写入组件730和表管理组件735。这些模块中的每一个可直接或间接地彼此通信(例如,经由一或多个总线)。
命令组件710可在存储器装置处从主机装置接收包含与存储在存储器装置中的数据的至少一部分的位置相关联的第一逻辑块地址的读取命令,其中数据跨越连续物理地址的集合。
在一些实例中,命令组件710可在存储器装置处从主机装置接收用于将数据写入到存储器装置的写入命令的集合,写入命令的集合包含:第一写入命令,其包含对应于用于将连续逻辑块地址的集合映射到物理地址的对应集合的一定数量的条目中的第一条目的第一逻辑块地址,以及写入命令的集合中的其余写入命令的集合,其各自包含相应连续逻辑块地址。
在一些实例中,命令组件710可在存储器装置处从主机装置接收包含与存储在存储器装置中的第二数据相关联的第二逻辑块地址的第二读取命令。
在一些实例中,命令组件710可在接收读取命令之前从主机装置接收写入命令的集合,写入命令的集合中的第一写入命令包含对应于第一物理地址的第一逻辑块地址,其中写入命令的集合与将数据写入到连续物理地址的集合相关联。
在一些实例中,命令组件710可在将第一物理地址和旗标的第一值存储在第一条目中之后在存储器装置处从主机装置接收包含连续逻辑块地址中的第三逻辑块地址的读取命令。
在一些实例中,命令组件710可在存储器装置处从主机装置接收用于将第二数据写入到存储器装置的写入命令的第二集合,写入命令的第二集合与写入命令的集合交错且包含:第二写入命令,其包含对应于用于将连续逻辑块地址的第二集合映射到物理地址的对应第二集合的第二数量的条目中的第一条目的第三逻辑块地址,以及写入命令的第二集合中的其余写入命令的第二集合,其各自包含第二相应连续逻辑块地址。
在一些实例中,第一逻辑块地址对应于第一物理地址,并且相应连续逻辑块地址中的每一个对应于连续物理地址的集合中的相应连续物理地址。
位置确定组件715可基于第一逻辑块地址而确定用于将包含第一逻辑块地址的逻辑块地址的第一集合映射到物理地址的对应第一集合的条目的第一集合的存储器位置。
在一些实例中,位置确定组件715可基于第一物理地址和旗标的第一值并基于识别出相对于第一物理地址的偏移而确定第二物理地址。
在一些实例中,位置确定组件715可基于第一逻辑块地址而确定指示条目的第一集合的位置的第三物理地址。
在一些实例中,位置确定组件715可确定基于第二逻辑块地址而确定用于将逻辑块地址的第一集合映射到物理地址的对应第一集合的条目的第一集合的存储器位置,其中逻辑块地址的第一集合包含第二逻辑块地址。
在一些实例中,位置确定组件715可基于接收写入命令的第二集合而识别不同于第一块的第二块。
在一些实例中,第三物理地址指示存储器装置的第一类型的存储器的第一页的位置,并且连续物理地址的集合指示存储器装置中的第二类型的存储器的页集合的位置。
在一些实例中,第一类型的存储器包含存储器装置的SRAM,并且第二类型的存储器包含存储器装置的NAND存储器。
数据读取组件720可基于第一物理地址和旗标的第一值而从连续物理地址的集合中的第二物理地址读取数据的至少部分。
在一些实例中,数据读取组件720可基于识别条目的第二集合中的第一条目而从第四物理地址读取第二数据。
在一些实例中,数据读取组件720可基于识别第二物理地址而从第二物理地址读取数据的第二部分。
数据发射组件725可将数据发射到主机装置。
在一些实例中,数据发射组件725可将第二数据发射到主机装置。
在一些实例中,数据发射组件725可将数据的第二部分发射到主机装置。
数据写入组件730可基于接收写入命令的集合而将数据存储在存储器装置中在从第一物理地址开始的连续物理地址的集合处。
在一些实例中,数据写入组件730可基于接收写入命令的集合而将数据存储在连续物理地址的集合处。
在一些实例中,数据写入组件730可将第二数据存储在存储器装置中在从第四物理地址开始的第二块的连续物理地址的第二集合处。
表管理组件735可基于第一逻辑块地址而读取条目的第一集合中的第一条目,第一条目包含连续物理地址的集合中的第一物理地址和旗标的第一值。
在一些实例中,表管理组件735可确定包含第一逻辑块地址和相应逻辑块地址的逻辑块地址的数量是否匹配条目的数量。
在一些实例中,表管理组件735可基于确定逻辑块地址的数量匹配条目的数量而将第一物理地址和旗标的第一值存储在用于将包含一定数量的逻辑块地址的逻辑块地址的集合映射到包含连续物理地址的集合的物理块地址的对应集合的条目的集合中的第一条目中。
在一些实例中,表管理组件735可基于确定条目的第一集合的存储器位置且基于第二逻辑块地址而读取条目的第一集合中的第二条目,第二条目包含第二物理地址和旗标的第二值,其中第二物理地址指示用于将包含第二逻辑块地址的逻辑块地址的第一集合的子集映射到物理地址的第一集合的对应子集的条目的第二集合的位置。
在一些实例中,表管理组件735可基于条目的第一集合中的第二条目而识别条目的第二集合中的第一条目,条目的第二集合中的第一条目包含指示第二数据的位置的第四物理地址。
在一些实例中,表管理组件735可在接收读取命令之前基于将数据写入到连续物理地址的集合而将旗标的第一值和连续物理地址的集合中的第一物理地址存储在条目的第一集合中的第一条目中。
在一些实例中,表管理组件735可针对写入命令的集合中的每一写入命令,存储包含一定数量的条目的条目的第二集合中的相应条目,条目的第二集合用于将一定数量的逻辑块地址映射到连续物理地址的集合。
在一些实例中,表管理组件735可基于确定逻辑块地址的数量匹配条目的数量而丢弃条目的第二集合。
在一些实例中,表管理组件735可基于接收包含第三逻辑块地址的读取命令而读取条目的集合中的第一条目以读取第一物理地址和旗标的第一值。
在一些实例中,表管理组件735可基于读取第一条目而识别连续物理地址的集合中的第二物理地址。
在一些实例中,表管理组件735可确定包含第三逻辑块地址和第二相应逻辑块地址的逻辑块地址的第二数量是否匹配条目的第二数量。
在一些实例中,表管理组件735可基于确定逻辑块地址的第二数量匹配条目的第二数量而将第四物理地址和旗标的第一值存储在用于将包含第二数量的逻辑块地址的逻辑块地址的第二集合映射到包含连续物理地址的第二集合的物理块地址的对应第二集合的条目的第二集合中的第一条目中。
在一些实例中,第一物理地址对应于页集合中的开始页,所述页集合对应于连续物理地址的集合。
在一些实例中,第一物理地址和第二物理地址为相同物理地址。
在一些实例中,旗标的第一值指示第一物理地址包含数据的至少部分的位置。
图8展示说明根据本公开的方面支持用于顺序地存储的数据的经压缩逻辑到物理映射的一或多个方法800的流程图。方法800的操作可由如本文中所描述的存储器装置或其组件实施。例如,方法800的操作可由如参考图7所描述的存储器装置执行。在一些实例中,存储器装置可执行指令集合以控制存储器装置的功能元件来执行所描述的功能。另外地或可替代地,存储器装置可使用专用硬件执行所描述的功能的方面。
在805处,存储器装置可在存储器装置处从主机装置接收包含与存储在存储器装置中的数据的至少一部分的位置相关联的第一逻辑块地址的读取命令,其中数据跨越连续物理地址的集合。可根据本文中所描述的方法来执行805的操作。在一些实例中,可由如参考图7所描述的命令组件执行805的操作的方面。
在810处,存储器装置可基于第一逻辑块地址而确定用于将包含第一逻辑块地址的逻辑块地址的第一集合映射到物理地址的对应第一集合的条目的第一集合的存储器位置。可根据本文中所描述的方法来执行810的操作。在一些实例中,可由如参考图7所描述的位置确定组件执行810的操作的方面。
在815处,存储器装置可基于第一逻辑块地址而读取条目的第一集合中的第一条目,第一条目包含连续物理地址的集合中的第一物理地址和旗标的第一值。可根据本文中所描述的方法来执行815的操作。在一些实例中,可由如参考图7所描述的表管理组件执行815的操作的方面。
在820处,存储器装置可基于第一物理地址和旗标的第一值而从连续物理地址的集合中的第二物理地址读取数据的至少部分。可根据本文中所描述的方法来执行820的操作。在一些实例中,可由如参考图7所描述的数据读取组件执行820的操作的方面。
在825处,存储器装置可将数据发射到主机装置。可根据本文中所描述的方法来执行825的操作。在一些实例中,可由如参考图7所描述的数据发射组件执行825的操作的方面。
在一些实例中,如本文中所描述的设备可执行一或多个方法,例如方法800。所述设备可包含用于以下操作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):在存储器装置处从主机装置接收读取命令,所述读取命令包含与存储在存储器装置中的数据的至少一部分的位置相关联的第一逻辑块地址,其中数据跨越连续物理地址的集合;基于第一逻辑块地址而确定用于将包含第一逻辑块地址的逻辑块地址的第一集合映射到物理地址的对应第一集合的条目的第一集合的存储器位置;基于第一逻辑块地址而读取条目的第一集合中的第一条目,第一条目包含连续物理地址的第一集合中的第一物理地址和旗标的第一值;基于第一物理地址和旗标的第一值而从连续物理地址的集合中的第二物理地址读取数据的至少部分;以及将数据发射到主机装置。
方法800和本文中所描述的设备的一些实例可进一步包含用于以下操作的操作、特征、构件或指令:基于第一物理地址和旗标的第一值并基于识别出相对于第一物理地址的偏移而确定第二物理地址。
在方法800和本文中所描述的设备的一些实例中,第一物理地址对应于页集合的开始页,所述页集合对应于连续物理地址的集合。
在方法800和本文中所描述的设备的一些实例中,第一物理地址和第二物理地址可为相同物理地址。
在方法800和本文中所描述的设备的一些实例中,确定条目的第一集合的存储器位置可包含用于以下操作的操作、特征、构件或指令:基于第一逻辑块地址而确定指示条目的第一集合的位置的第三物理地址。
在方法800和本文中所描述的设备的一些实例中,第三物理地址指示存储器装置的第一类型的存储器的第一页的位置,并且连续物理地址的集合指示存储器装置中的第二类型的存储器的页集合的位置。
在方法800和本文中所描述的设备的一些实例中,第一类型的存储器包含存储器装置的SRAM,并且第二类型的存储器包含存储器装置的NAND存储器。
方法800和本文中所描述的设备的一些实例可进一步包含用于以下操作的操作、特征、构件或指令:在存储器装置处从主机装置接收包含与存储在存储器装置中的第二数据相关联的第二逻辑块地址的第二读取命令;基于第二逻辑块地址而确定用于将逻辑块地址的第一集合映射到物理地址的对应第一集合的条目的第一集合的存储器位置,其中逻辑块地址的第一集合包含第二逻辑块地址;基于确定条目的第一集合的存储器位置且基于第二逻辑块地址而读取条目的第一集合中的第二条目,第二条目包含第二物理地址和旗标的第二值,其中第二物理地址指示用于将包含第二逻辑块地址的逻辑块地址的第一集合的子集映射到物理地址的第一集合的对应子集的条目的第二集合的位置;基于条目的第一集合中的第二条目而识别条目的第二集合中的第一条目,条目的第二集合中的第一条目包含指示第二数据的位置的第四物理地址;基于识别条目的第二集合中的第一条目而从第四物理地址读取第二数据;以及将第二数据发射到主机装置。
方法800和本文中所描述的设备的一些实例可进一步包含用于以下操作的操作、特征、构件或指令:在接收读取命令之前从主机装置接收写入命令的集合,写入命令的集合中的第一写入命令包含对应于第一物理地址的第一逻辑块地址,其中写入命令的集合可与基于接收写入命令的集合而将数据写入到连续物理地址的集合且将数据存储在连续物理地址的集合处相关联。
方法800和本文中所描述的设备的一些实例可进一步包含用于以下操作的操作、特征、构件或指令:在接收读取命令之前基于将数据写入到连续物理地址的集合而存储条目的第一集合中的第一条目的旗标的第一值和连续物理地址的集合中的第一物理地址。
在方法800和本文中所描述的设备的一些实例中,旗标的第一值指示第一物理地址包含数据的至少部分的位置。
图9展示说明根据本公开的方面支持用于顺序地存储的数据的经压缩逻辑到物理映射的一或多个方法900的流程图。方法900的操作可由如本文中所描述的存储器装置或其组件实施。例如,方法900的操作可由如参考图7所描述的存储器装置执行。在一些实例中,存储器装置可执行指令集合以控制存储器装置的功能元件来执行所描述的功能。另外地或可替代地,存储器装置可使用专用硬件执行所描述的功能的方面。
在905处,存储器装置可在存储器装置处从主机装置接收用于将数据写入到存储器装置的写入命令的集合,写入命令的集合包含。可根据本文中所描述的方法来执行905的操作。在一些实例中,可由如参考图7所描述的命令组件执行905的操作的方面。
在910处,存储器装置可基于接收写入命令的集合而将数据存储在存储器装置中在从第一物理地址开始的连续物理地址的集合处。可根据本文中所描述的方法来执行910的操作。在一些实例中,可由如参考图7所描述的数据写入组件执行910的操作的方面。
在915处,存储器装置可确定包含第一逻辑块地址和相应逻辑块地址的逻辑块地址的数量是否匹配条目的数量。可根据本文中所描述的方法来执行915的操作。在一些实例中,可由如参考图7所描述的表管理组件执行915的操作的方面。
在920处,存储器装置可基于确定逻辑块地址的数量匹配条目的数量而将第一物理地址和旗标的第一值存储在用于将包含一定数量的逻辑块地址的逻辑块地址的集合映射到包含连续物理地址的集合的物理块地址的对应集合的条目的集合中的第一条目中。可根据本文中所描述的方法来执行920的操作。在一些实例中,可由如参考图7所描述的表管理组件执行920的操作的方面。
在一些实例中,如本文中所描述的设备可执行一或多个方法,例如方法900。所述设备可包含用于以下操作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):在存储器装置处从主机装置接收用于将数据写入到存储器装置的写入命令的集合,写入命令的集合包含:第一写入命令,其包括对应于用于将多个连续逻辑块地址映射到对应的多个物理地址的一定数量的条目中的第一条目的第一逻辑块地址,以及多个写入命令中的多个其余写入命令,其各自包括相应连续逻辑块地址;基于接收写入命令的集合而将数据存储在存储器装置中在从第一物理地址开始的连续物理地址的集合处;确定包含第一逻辑块地址和相应逻辑块地址的逻辑块地址的数量是否匹配条目的数量;以及基于确定逻辑块地址的数量匹配条目的数量而将第一物理地址和旗标的第一值存储在用于将包含一定数量的逻辑块地址的逻辑块地址的集合映射到包含连续物理地址的集合的物理块地址的对应集合的条目的集合中的第一条目中。
在方法900和本文中所描述的设备的一些实例中,第一逻辑块地址对应于第一物理地址,并且相应连续逻辑块地址中的每一个对应于连续物理地址的集合中的相应连续物理地址。
方法900和本文中所描述的设备的一些实例可进一步包含用于以下操作的操作、特征、构件或指令:针对写入命令的集合中的每一写入命令,存储包含一定数量的条目的条目的第二集合中的相应条目,条目的第二集合用于将一定数量的逻辑块地址映射到连续物理地址的集合;以及基于确定逻辑块地址的数量匹配条目的数量而丢弃条目的第二集合。
方法900和本文中所描述的设备的一些实例可进一步包含用于以下操作的操作、特征、构件或指令:在将第一物理地址和旗标的第一值存储在第一条目中之后在存储器装置处从主机装置接收读取命令,所述读取命令包含连续逻辑块地址中的第三逻辑块地址;基于接收包含第三逻辑块地址的读取命令而读取条目的集合中的第一条目以读取第一物理地址和旗标的第一值;基于读取第一条目而识别连续物理地址的集合中的第二物理地址;基于识别第二物理地址而从第二物理地址读取数据的第二部分;以及将数据的第二部分发射到主机装置。
方法900和本文中所描述的设备的一些实例可进一步包含用于以下操作的操作、特征、构件或指令:在存储器装置处从主机装置接收用于将第二数据写入到存储器装置的写入命令的第二集合,写入命令的第二集合与写入命令的集合交错且包含:第二写入命令,其包括对应于用于将第二多个连续逻辑块地址映射到对应的第二多个物理地址的第二数量的条目中的第一条目的第三逻辑块地址,以及第二多个写入命令中的第二多个其余写入命令,其各自包括第二相应连续逻辑块地址;基于接收写入命令的第二集合而识别不同于第一块的第二块;将第二数据存储在存储器装置中在从第四物理地址开始的第二块的连续物理地址的第二集合处;确定包含第三逻辑块地址和第二相应逻辑块地址的逻辑块地址的第二数量是否匹配条目的第二数量;以及基于确定逻辑块地址的第二数量匹配条目的第二数量而将第四物理地址和旗标的第一值存储在用于将包含第二数量的逻辑块地址的逻辑块地址的第二集合映射到包含连续物理地址的第二集合的物理块地址的对应第二集合的条目的第二集合中的第一条目中。
应注意,本文中所描述的方法是可能的实施方案,且操作和步骤可重新布置或者被修改,并且其它实施方案是可能的。此外,可组合来自两个或更多个方法的部分。
可使用多种不同技艺和技术中的任一个来表示本文中所描述的信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。一些图式可将信号说明为单个信号;然而,所属领域的技术人员将理解,所述信号可表示信号总线,其中总线可具有多种位宽度。
本文中所论述的包含存储器阵列的装置可形成在半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底为半导体晶片。在其它情况下,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOS),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法来执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(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.根据权利要求1所述的设备,其中所述第一物理地址和所述第二物理地址为相同物理地址。
5.根据权利要求1所述的设备,其中所述控制组件被配置成使得所述设备通过至少部分地基于所述第一逻辑块地址而确定指示所述第一多个条目的所述位置的第三物理地址来确定所述第一多个条目的所述存储器位置。
6.根据权利要求5所述的设备,其中所述第三物理地址指示所述设备的第一类型的存储器的第一页的位置,并且所述多个连续物理地址指示所述设备中的第二类型的存储器的多个页的位置。
7.根据权利要求6所述的设备,其中所述第一类型的存储器包括所述设备的SRAM,并且所述第二类型的存储器包括所述设备的NAND存储器。
8.根据权利要求1所述的设备,其中所述控制组件进一步被配置成使得所述设备:
从所述主机装置接收包括与存储在所述设备中的第二数据相关联的第二逻辑块地址的第二读取命令;
至少部分地基于所述第二逻辑块地址而确定用于将所述第一多个逻辑块地址映射到所述对应的第一多个物理地址的所述第一多个条目的所述存储器位置,其中所述第一多个逻辑块地址包括所述第二逻辑块地址;
至少部分地基于确定所述第一多个条目的所述存储器位置且基于所述第二逻辑块地址而读取所述第一多个条目中的第二条目,所述第二条目包括第二物理地址和所述旗标的第二值,其中所述第二物理地址指示用于将包括所述第二逻辑块地址的所述第一多个逻辑块地址的子集映射到所述第一多个物理地址的对应子集的第二多个条目的位置;
至少部分地基于所述第一多个条目中的所述第二条目而识别所述第二多个条目中的第一条目,所述第二多个条目中的所述第一条目包括指示所述第二数据的位置的第四物理地址;
至少部分地基于识别所述第二多个条目中的所述第一条目而从所述第四物理地址读取所述第二数据;以及
将所述第二数据发射到所述主机装置。
9.根据权利要求1所述的设备,其中所述控制组件进一步被配置成使得所述设备:
在接收所述读取命令之前从所述主机装置接收多个写入命令,所述多个写入命令中的第一写入命令包括对应于所述第一物理地址的所述第一逻辑块地址,其中所述多个写入命令与将所述数据写入到所述多个连续物理地址相关联;以及
至少部分地基于接收到所述多个写入命令而将所述数据存储在所述多个连续物理地址处。
10.根据权利要求9所述的设备,其中所述控制组件进一步被配置成使得所述设备:
在接收所述读取命令之前至少部分地基于将所述数据写入到所述多个连续物理地址而将所述旗标的所述第一值和所述多个连续物理地址中的所述第一物理地址存储在所述第一多个条目中的所述第一条目中。
11.根据权利要求1所述的设备,其中所述旗标的所述第一值指示所述第一物理地址包括所述数据的所述至少所述部分的位置。
12.一种设备,其包括:
存储器阵列;和
控制组件,其与所述存储器阵列耦合且被配置成使得所述设备:
从主机装置接收用于将数据写入到所述设备的多个写入命令,所述多个写入命令包括:
第一写入命令,其包括对应于用于将多个连续逻辑块地址映射到对应的多个物理地址的一定数量的条目中的第一条目的第一逻辑块地址,以及
所述多个写入命令中的多个其余写入命令,其各自包括相应连续逻辑块地址;
至少部分地基于接收到所述多个写入命令而将所述数据存储在所述设备中在从第一物理地址开始的多个连续物理地址处;
确定包括所述第一逻辑块地址和所述相应逻辑块地址的逻辑块地址的数量是否匹配条目的所述数量;以及
至少部分地基于确定逻辑块地址的所述数量匹配条目的所述数量而将所述第一物理地址和旗标的第一值存储在用于将包括所述数量的逻辑块地址的多个逻辑块地址映射到包括所述多个连续物理地址的对应的多个物理块地址的多个条目中的第一条目中。
13.根据权利要求12所述的设备,其中所述第一逻辑块地址对应于所述第一物理地址,并且所述相应连续逻辑块地址中的每一个对应于所述多个连续物理地址中的相应连续物理地址。
14.根据权利要求12所述的设备,其中所述控制组件进一步被配置成使得所述设备:
针对所述多个写入命令中的每一写入命令,存储包括所述数量的条目的第二多个条目中的相应条目,所述第二多个条目用于将所述数量的逻辑块地址映射到所述多个连续物理地址;以及
至少部分地基于确定逻辑块地址的所述数量匹配条目的所述数量而丢弃所述第二多个条目。
15.根据权利要求12所述的设备,其中所述控制组件进一步被配置成使得所述设备:
在将所述第一物理地址和所述旗标的所述第一值存储在所述第一条目中之后从所述主机装置接收包括所述连续逻辑块地址中的第三逻辑块地址的读取命令;
至少部分地基于接收到包括所述第三逻辑块地址的所述读取命令而读取所述多个条目中的所述第一条目以读取所述第一物理地址和所述旗标的所述第一值;
至少部分地基于读取所述第一条目而识别所述多个连续物理地址中的第二物理地址;
至少部分地基于识别所述第二物理地址而从所述第二物理地址读取所述数据的第二部分;以及
将所述数据的所述第二部分发射到所述主机装置。
16.根据权利要求12所述的设备,其中所述多个连续物理地址包含在所述设备的第一块中,所述设备进一步包括:
从所述主机装置接收用于将第二数据写入到所述设备的第二多个写入命令,所述第二多个写入命令与所述多个写入命令交错且包括:
第二写入命令,其包括对应于用于将第二多个连续逻辑块地址映射到对应的第二多个物理地址的第二数量的条目中的第一条目的第三逻辑块地址,以及
所述第二多个写入命令中的第二多个其余写入命令,其各自包括第二相应连续逻辑块地址;
至少部分地基于接收到所述第二多个写入命令而识别不同于所述第一块的第二块;
将所述第二数据存储在所述设备中在从第四物理地址开始的所述第二块的第二多个连续物理地址处;
确定包括所述第三逻辑块地址和所述第二相应逻辑块地址的逻辑块地址的第二数量是否匹配条目的所述第二数量;以及
至少部分地基于确定逻辑块地址的所述第二数量匹配条目的所述第二数量而将所述第四物理地址和所述旗标的所述第一值存储在用于将包括所述第二数量的逻辑块地址的第二多个逻辑块地址映射到包括所述第二多个连续物理地址的对应的第二多个物理块地址的第二多个条目中的第一条目中。
17.一种存储包括指令的代码的非暂时性计算机可读媒体,所述指令在由电子装置的处理器执行时使得所述电子装置:
从主机装置接收读取命令,所述读取命令包括与存储在所述电子装置中的数据的至少一部分的位置相关联的第一逻辑块地址,其中所述数据跨越多个连续物理地址;
至少部分地基于所述第一逻辑块地址而确定用于将包括所述第一逻辑块地址的第一多个逻辑块地址映射到对应的第一多个物理地址的第一多个条目的存储器位置;
至少部分地基于所述第一逻辑块地址而读取所述第一多个条目中的第一条目,所述第一条目包括所述多个连续物理地址中的第一物理地址和旗标的第一值;
至少部分地基于所述第一物理地址和所述旗标的所述第一值而从所述多个连续物理地址中的第二物理地址读取所述数据的至少所述部分;以及
将所述数据发射到所述主机装置。
18.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
至少部分地基于所述第一物理地址和所述旗标的所述第一值并至少部分地基于识别出相对于所述第一物理地址的偏移而确定所述第二物理地址。
19.根据权利要求17所述的非暂时性计算机可读媒体,其中所述第一物理地址对应于多个页中的开始页,所述多个页对应于所述多个连续物理地址。
20.根据权利要求17所述的非暂时性计算机可读媒体,其中所述第一物理地址和所述第二物理地址为相同物理地址。
21.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时使得所述电子装置通过至少部分地基于所述第一逻辑块地址而确定指示所述第一多个条目的所述位置的第三物理地址来确定所述第一多个条目的所述存储器位置。
22.根据权利要求21所述的非暂时性计算机可读媒体,其中所述第三物理地址指示所述电子装置的第一类型的存储器的第一页的位置,并且所述多个连续物理地址指示所述电子装置中的第二类型的存储器的多个页的位置。
23.根据权利要求22所述的非暂时性计算机可读媒体,其中所述第一类型的存储器包括所述电子装置的SRAM,并且所述第二类型的存储器包括所述电子装置的NAND存储器。
24.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
从所述主机装置接收包括与存储在所述电子装置中的第二数据相关联的第二逻辑块地址的第二读取命令;
至少部分地基于所述第二逻辑块地址而确定用于将所述第一多个逻辑块地址映射到所述对应的第一多个物理地址的所述第一多个条目的所述存储器位置,其中所述第一多个逻辑块地址包括所述第二逻辑块地址;
至少部分地基于确定所述第一多个条目的所述存储器位置且基于所述第二逻辑块地址而读取所述第一多个条目中的第二条目,所述第二条目包括第二物理地址和所述旗标的第二值,其中所述第二物理地址指示用于将包括所述第二逻辑块地址的所述第一多个逻辑块地址的子集映射到所述第一多个物理地址的对应子集的第二多个条目的位置;
至少部分地基于所述第一多个条目中的所述第二条目而识别所述第二多个条目中的第一条目,所述第二多个条目中的所述第一条目包括指示所述第二数据的位置的第四物理地址;
至少部分地基于识别所述第二多个条目中的所述第一条目而从所述第四物理地址读取所述第二数据;以及
将所述第二数据发射到所述主机装置。
25.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
在接收所述读取命令之前从所述主机装置接收多个写入命令,所述多个写入命令中的第一写入命令包括对应于所述第一物理地址的所述第一逻辑块地址,其中所述多个写入命令与将所述数据写入到所述多个连续物理地址相关联;以及
至少部分地基于接收到所述多个写入命令而将所述数据存储在所述多个连续物理地址处。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/870,674 | 2020-05-08 | ||
US16/870,674 US11507518B2 (en) | 2020-05-08 | 2020-05-08 | Logical-to-physical mapping using a flag to indicate whether a mapping entry points to [[for]] sequentially stored data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113625943A true CN113625943A (zh) | 2021-11-09 |
Family
ID=78377988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110473320.9A Pending CN113625943A (zh) | 2020-05-08 | 2021-04-29 | 用于顺序地存储的数据的经压缩逻辑到物理映射 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11507518B2 (zh) |
CN (1) | CN113625943A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915324A (zh) * | 2019-05-09 | 2020-11-10 | 美光科技公司 | 基于对经编码图像的扫描来更新数据库中的制品生命周期数据 |
CN114185486A (zh) * | 2021-11-17 | 2022-03-15 | 深圳市德明利技术股份有限公司 | 一种dram存储器的数据写入方法和dram控制系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022063466A (ja) * | 2020-10-12 | 2022-04-22 | キオクシア株式会社 | メモリシステム及び情報処理システム |
WO2022193120A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Logical-to-physical mapping compression techniques |
US11520525B2 (en) * | 2021-05-07 | 2022-12-06 | Micron Technology, Inc. | Integrated pivot table in a logical-to-physical mapping having entries and subsets associated via a flag |
US11940926B2 (en) * | 2022-05-13 | 2024-03-26 | Micron Technology, Inc. | Creating high density logical to physical mapping |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090292899A1 (en) * | 2008-05-21 | 2009-11-26 | Arm Limited | Data processing apparatus and method for handling address translation for access requests issued by processing circuitry |
US20120072644A1 (en) * | 2010-09-22 | 2012-03-22 | Kabushiki Kaisha Toshiba | Semiconductor memory controlling device |
US20190004700A1 (en) * | 2017-06-28 | 2019-01-03 | Western Digital Technologies, Inc. | Non-volatile storage device system with page based remapping |
US20190220416A1 (en) * | 2018-01-16 | 2019-07-18 | SK Hynix Inc. | Data storage apparatus and operating method thereof |
US20200012599A1 (en) * | 2018-07-09 | 2020-01-09 | Silicon Motion, Inc. | Apparatus and method and computer program product for controlling data access |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2536880B (en) * | 2015-03-24 | 2021-07-28 | Advanced Risc Mach Ltd | Memory management |
-
2020
- 2020-05-08 US US16/870,674 patent/US11507518B2/en active Active
-
2021
- 2021-04-29 CN CN202110473320.9A patent/CN113625943A/zh active Pending
-
2022
- 2022-10-20 US US18/048,364 patent/US20230137736A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090292899A1 (en) * | 2008-05-21 | 2009-11-26 | Arm Limited | Data processing apparatus and method for handling address translation for access requests issued by processing circuitry |
US20120072644A1 (en) * | 2010-09-22 | 2012-03-22 | Kabushiki Kaisha Toshiba | Semiconductor memory controlling device |
US20190004700A1 (en) * | 2017-06-28 | 2019-01-03 | Western Digital Technologies, Inc. | Non-volatile storage device system with page based remapping |
US20190220416A1 (en) * | 2018-01-16 | 2019-07-18 | SK Hynix Inc. | Data storage apparatus and operating method thereof |
US20200012599A1 (en) * | 2018-07-09 | 2020-01-09 | Silicon Motion, Inc. | Apparatus and method and computer program product for controlling data access |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915324A (zh) * | 2019-05-09 | 2020-11-10 | 美光科技公司 | 基于对经编码图像的扫描来更新数据库中的制品生命周期数据 |
CN114185486A (zh) * | 2021-11-17 | 2022-03-15 | 深圳市德明利技术股份有限公司 | 一种dram存储器的数据写入方法和dram控制系统 |
Also Published As
Publication number | Publication date |
---|---|
US11507518B2 (en) | 2022-11-22 |
US20210349829A1 (en) | 2021-11-11 |
US20230137736A1 (en) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11507518B2 (en) | Logical-to-physical mapping using a flag to indicate whether a mapping entry points to [[for]] sequentially stored data | |
US11704252B2 (en) | Dual address encoding for logical-to-physical mapping | |
US20230185727A1 (en) | Dynamic logical page sizes for memory devices | |
US20220057958A1 (en) | Adaptive buffer partitioning | |
US11907556B2 (en) | Data relocation operation techniques | |
US11755237B2 (en) | Overwriting at a memory system | |
CN114816900A (zh) | 用于存储器系统的温度跟踪 | |
US11709617B2 (en) | Multi-stage memory device performance notification | |
US11966752B2 (en) | Data caching for fast system boot-up | |
US20230068324A1 (en) | Direct logical-to-physical address mapping | |
CN114647378A (zh) | 用于垃圾收集的有效数据标识 | |
US12007903B2 (en) | Dual address encoding for logical-to-physical mapping | |
US11941300B2 (en) | Integrated pivot table in a logical-to-physical mapping | |
US11775422B2 (en) | Logic remapping techniques for memory devices | |
US11605434B1 (en) | Overwriting at a memory system | |
US11921627B2 (en) | Usage level identification for memory device addresses | |
US20230195646A1 (en) | Flexible information compression at a memory system | |
CN113741982A (zh) | 用于系统启动程序的数据技术 | |
WO2022125909A1 (en) | Multi-tier cache for a memory system | |
CN114546893A (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 |