CN112470132B - 控制nand操作延时 - Google Patents
控制nand操作延时 Download PDFInfo
- Publication number
- CN112470132B CN112470132B CN201980043642.0A CN201980043642A CN112470132B CN 112470132 B CN112470132 B CN 112470132B CN 201980043642 A CN201980043642 A CN 201980043642A CN 112470132 B CN112470132 B CN 112470132B
- Authority
- CN
- China
- Prior art keywords
- item collection
- memory
- block
- page
- data structure
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 230000003936 working memory Effects 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 description 169
- 238000004891 communication Methods 0.000 description 12
- 239000004065 semiconductor Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 239000000758 substrate Substances 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 239000002699 waste material Substances 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本文中描述用于控制NAND操作延时的装置及技术。控制器可接收写入请求。所述控制器接着可计算要在关闭的物理块上执行的废弃项目收集操作的次数。在此,所述计算包含将逻辑到物理L2P区搜索比添加到废弃项目收集的节奏计算。可根据要执行的废弃项目收集操作的所述经计算次数而在所述物理块上执行废弃项目收集操作。接着,所述控制器可响应于完成所述经计算次数的废弃项目收集操作而执行写入请求。
Description
优先权主张
本申请案主张2018年6月29日申请的第16/024,380号美国申请案的优先权的权益,所述申请案的全部内容以引用的方式并入本文中。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。
易失性存储器需要电力来维持其数据,且包含例如随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。
非易失性存储器在不被供电时可保留经存储数据,且包含例如快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)或磁阻式随机存取存储器(MRAM))或3D XPointTM存储器等等。
快闪存储器用作各种各样的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性及低功率消耗的单晶体管、浮动栅极或电荷陷阱存储器单元的一或多个群组。
两种常见类型的快闪存储器阵列架构包含NAND及NOR架构,其以布置每一者的基本存储器单元配置的逻辑形式命名。存储器阵列的存储器单元通常经布置成矩阵。在实例中,所述阵列的行中的每一浮动栅极存储器单元的栅极经耦合到存取线(例如,字线)。在NOR架构中,所述阵列的列中的每一存储器单元的漏极经耦合到数据线(例如,位线)。在NAND架构中,所述阵列的串中的每一存储器单元的漏极在源极线与位线之间以源极到漏极的方式串联耦合在一起。
通过解码器存取NOR架构半导体存储器阵列及NAND架构半导体存储器阵列两者,所述解码器通过选择耦合到其栅极的字线来激活特定存储器单元。在NOR架构半导体存储器阵列中,一旦被激活,选定存储器单元就将其数据值放置在位线上,从而取决于特定单元被编程的状态而引起不同电流流动。在NAND架构半导体存储器阵列中,高偏置电压经施加到漏极侧选择栅极(SGD)线。以经指定传递电压(例如,Vpass)驱动耦合到每一群组的非选定存储器单元的栅极的字线以将每一群组的非选定存储器单元操作为传递晶体管(例如,以按不受其经存储数据值限制的方式传递电流)。电流接着在仅受每一群组的选定存储器单元限制的情况下通过每一串联耦合群组从源极线流动到位线,从而将选定存储器单元的当前经编码数据值放置在位线上。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器单元可个别地或共同地编程为一或数种经编程状态。例如,单电平单元(SLC)可表示两种经编程状态(例如,1或0)中的一者,其表示一个数据位。
然而,快闪存储器单元也可表示两种以上经编程状态中的一者,从而允许在不增加存储器单元的数目的情况下制造更高密度的存储器,因为每一单元可表示一个以上二进制数字(例如,一个以上位)。此类单元可被称为多状态存储器单元、多数位单元或多电平单元(MLC)。在某些实例中,MLC可指可每单元存储两个数据位(例如,四种经编程状态中的一者)的存储器单元,三电平单元(TLC)可指可每单元存储三个数据位(例如,八种经编程状态中的一者)的存储器单元,且四电平单元(QLC)可每单元存储四个数据位。MLC在本文中在其更广泛背景下用于可指可每单元存储一个以上数据位(即,可表示多于两种经编程状态)的任何存储器单元。
传统存储器阵列是布置在半导体衬底的表面上的二维(2D)结构。为了增加给定区域的存储器容量且降低成本,已减小个别存储器单元的大小。然而,个别存储器单元的大小减小及因此2D存储器阵列的存储器密度存在技术限制。作为响应,正在开发例如3D NAND架构半导体存储器装置的三维(3D)存储器结构以进一步增加存储器密度且降低存储器成本。
此类3D NAND装置通常包含串联地(例如,以漏极到源极的方式)在靠近源极的一或多个源极侧选择栅极(SGS)与靠近位线的一或多个漏极侧选择栅极(SGD)之间的存储单元串。在实例中,SGS或SGD可包含一或多个场效应晶体管(FET)或金属氧化物半导体(MOS)结构装置等。在一些实例中,所述串将垂直地延伸,穿过含有相应字线的垂直隔开层面。半导体结构(例如,多晶硅结构)可邻近存储单元串延伸以形成用于所述串的存储单元的沟道。在垂直串的实例中,多晶硅结构可呈垂直延伸柱的形式。在一些实例中,所述串可“折叠”,且因此相对于U形柱布置。在其它实例中,可将多个垂直结构彼此堆叠以形成存储单元串的堆叠式阵列。
存储器阵列或装置可组合在一起以形成存储器***的存储卷,例如固态驱动器(SSD)、通用快闪存储(UFSTM)装置、多媒体卡(MMC)固态存储装置、嵌入式MMC装置(eMMCTM)等。SSD可尤其用作计算机的主存储装置,因为其与带有移动零件的传统硬盘驱动器相比在例如性能、大小、重量、坚固性、操作温度范围及功率消耗方面具有优势。例如,SSD可减少与磁盘驱动器(例如,机电等)相关联的寻找时间、延时或其它延迟。SSD使用非易失性存储器单元,例如快闪存储器单元来消除内部电池电源要求,因此允许所述驱动器更加通用及紧凑。
SSD可包含数个存储器装置,包含数个裸片或逻辑单元(例如,逻辑单元号或LUN),且可包含执行操作所述存储器装置或与外部***介接所需的逻辑功能的一或多个处理器或其它控制器。此类SSD可包含一或多个快闪存储器裸片,其上包含数个存储器阵列及***电路***。快闪存储器阵列可包含组织成数个物理页的数个存储器单元块。在许多实例中,SSD也将包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。SSD可从主机接收与存储器操作(例如用于在存储器装置与主机之间传送数据(例如,用户数据及相关联完整性数据,例如错误数据及地址数据等)的读取或写入操作,或用于从存储器装置擦除数据的擦除操作)相关联的命令。
附图说明
在不一定按比例绘制的附图中,类似数字可在不同视图中描述类似组件。具有不同字母后缀的类似数字可表示类似组件的不同例子。附图以实例的方式而非限制的方式大体上说明本文档中所论述的各种实施例。
图1说明包含存储器装置的环境的实例。
图2说明工作存储器中的逻辑到物理表区的实例。
图3说明逻辑到物理区、物理块与跟踪数据结构之间的关系的实例。
图4说明逻辑到物理区、物理块与跟踪数据结构之间的关系的实例。
图5A到5B说明跟踪数据结构的存储配置。
图6说明用于控制NAND操作延时的方法的流程图。
图7是说明可在其上实施一或多个实施例的机器的实例的框图。
具体实施方式
许多存储装置,例如快闪存储器装置,使用转译表来将逻辑元件(例如,页或块)映射到逻辑元件的物理等效物。这允许所述装置的控制器执行多种技术以增加所述装置的存储元件的性能或寿命。例如,NAND快闪存储器单元在写入或擦除循环中经历物理损耗。此外,这些装置需要一次擦除许多元件(例如,块擦除)。为了解决这些问题,控制器通常在可用单元周围扩展写入(例如,以减少这些单元的损耗)且从块迁移良好页以擦除所述块并因此释放额外空间。在两种情况下,给定页或块的主机地址可为恒定的,即使其所涉及的数据借助于转译表而移动到不同物理页或块。
转译表通常经加载到控制器的内部存储器(例如,工作存储器)中。如果表大小大于控制器的工作存储器(例如,在例如动态RAM(DRAM)或静态RAM(SRAM)的随机存取存储器(RAM))中,那么将表的一部分加载到工作存储器中且将表的其余部分存储在其它存储装置(例如NAND快闪存储器阵列元件)中。如果转译请求(例如,逻辑到物理(L2P)映射)不在工作存储器中,那么控制器用来自其它存储装置的适当部分替换表的内部存储器部分。这个过程可增加执行例如读取存储器装置或写入到存储器装置的操作时的延时。尽管增加的工作存储器可减少这些的发生,但这是以对于给定应用无法接受的制造及电力成本为代价。
当执行例如废弃项目收集(GC)的某些维护任务时,L2P表的碎片性质可能成为问题。例如,NAND装置通常允许单页写入,但是擦除以块级别执行(例如,块是NAND装置中可个别地擦除的最小单元)。废弃项目收集经设计成在NAND装置中的自由物理空间变低时恢复自由空间。废弃项目收集通常涉及将逻辑有效页从源块复制到目的地块且接着擦除源块以释放空间。为了完成复制,传统上搜索L2P表以通过涉及引用源块的物理地址来标识源块的有效页。
用于在完整L2P表在工作存储器内不能适用时进行废弃项目收集的传统方法具有一些问题。例如,搜索可能是耗时的,因为每一L2P区是从较慢NAND存储装置检索且放置到工作存储器中以进行搜索。当L2P区不含有所述块中的物理页时,整个加载及搜索时间被浪费。这在所述装置等待废弃项目收集过程完成时导致高延时。
可维护块的数据结构以增加废弃项目收集进行的速度。数据结构指示哪些L2P表区与给定块相关。例如,当将页写入到块时,修改对应数据结构以指示将逻辑页映射到那个物理页的L2P区。当在所述块上启动废弃项目收集时,所述装置接着加载数据结构且搜索经指的L2P表区。这个过程将加载到工作存储器中的L2P区限制为仅可能包含对所述块的引用的那些区。
数据结构的实现方案可包含位图(例如,二进制阵列),在本文中被称为映射位图(例如,MBM),其中索引对应于L2P表区且索引处的值(例如,二进制“1”对二进制“0”)指示L2P区是否保存(或保存了)对块的物理页的引用。在这个实例中,当擦除块时,完全复位相关位图(例如,所有值经设置为二进制“0”)。当将属于L2P区的页写入到所述块时(例如,用于主机写入或废弃项目收集过程),设置位图中的相关位(例如,设置为二进制“1”)。在实例中,在完全写入所述块之后—即,不存在更多自由页—所述块的位图直到所述块被擦除才会变化。
上文所描述的数据结构使用为传统块管理提供若干优势。例如,更少L2P区经加载到工作存储器中,从而减少在所述块内执行有效页搜索的时间。此外,搜索效率增加,因为加载到工作存储器中的每一L2P区可能产生将在操作期间移动的有效页。另外,因为数据结构作为写入到块的部分进行更新,所以维护所述结构的维护开销非常小。
在维护期间使用数据结构来选择搜索哪些L2P区可能出现的问题涉及随着时间推移,数据结构的效率可能降低。因为一旦关闭所述块,数据结构就不会变化,所以随着在所述块中删除或覆写更多数据,数据结构变得越陈旧—例如,数据结构中的越多先前有效条目不再有效,因为那些逻辑块现在指向不同块。如果许多数据结构条目是陈旧的,那么废弃项目收集过程可能例如因增加了主机写入延时而再次变得低效。
为了解决陈旧数据结构问题,可通过数据结构条目修改废弃项目收集节奏以跨若干主机写入展开由陈旧数据结构条目引起的延时。通常,为了控制延时问题,可跨例如主机写入的操作拆分废弃项目收集。这个拆分或一个此操作要做多少工作的确定被称为废弃项目收集的节奏。节奏比可被表达为其中C是节奏,GCW(例如,废弃项目收集写入的次数)是用于在废弃项目收集期间重新复制到新块以释放这个块的页的数目,且HW(例如,主机写入)是固定值。HW经设置为指示对应于完整废弃项目收集运行的经写入主机数据量。例如,如果需要九次废弃项目收集写入来释放所述块,且应在将一兆字节(1mb)的主机数据写入到存储器装置之后释放所述块,那么节奏是/> 或所写入的每111.12千字节(kb)的主机数据需一次废弃项目收集写入。
通过跟踪给定块涉及多少L2P区,可更有效地计算节奏。这个跟踪可通过计数器阵列来完成,其中索引对应于所述块(例如,索引1对应于块1)且索引处的值是L2P区的计数;尽管可使用其它跟踪结构。跟踪数据结构中的计数等于给定块的MBM中的1的数目。因此,计数的最大值等于L2P区的数目。
使用这个信息,节奏可经计算为:
其中,L2PC[i]是索引i处的值—所述索引i对应于计数器阵列中的块i,且L2PLoadThr是在单次废弃项目收集操作中加载的L2P区的最大数目的阈值。L2PLoadThr可经设置以实现操作的所期望主机延时。因此,如通过新节奏计算所修改,在以下情况下暂停废弃项目收集:1)已收集且加载预定数目的废弃项目收集写入(例如,在高速缓冲存储器中)并准备将其写入到新块;或2)经加载以搜索有效页的L2P区的数目超过L2PLoadThr。在暂停时,清空缓冲器(例如,将页写入到新块)且释放缓冲器例如以接受主机写入数据。通过以这种方式限制废弃项目收集,减少主机延时同时所述装置能够跟上废弃项目收集(例如,废弃项目收集能够完成)。下文描述额外细节及实例。
图1说明包含经配置以通过通信接口进行通信的主机装置105及存储器装置110的环境100的实例。主机装置105或存储器装置110可被包含在多种产品150中,例如物联网(IoT)装置(例如,冰箱或其它器具、传感器、电动机或致动器、移动通信装置、汽车、无人机等)以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115及存储器阵列120,所述存储器阵列120包含例如数个个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)。在3D架构半导体存储器技术中,堆叠垂直结构,从而增加层面、物理页的数目,及因此存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可为集成电路(例如,芯片上***(SOC)等)的一部分,与主机装置105的一或多个其它组件堆叠或以其它方式包含在一起。在这些实例中,存储器装置110经由例如总线的互连链路111与主机装置105的组件进行通信。因此,如本文中所描述,即使当存储器装置110经集成到主机装置105中时,主机或主机装置105的操作也不同于存储器装置110的操作。
一或多个通信接口(例如,互连链路111)可用于在存储器装置110与主机装置105的一或多个其它组件(例如串行高级技术附件(SATA)接口、***组件互连快速(PCIe)接口、通用串行总线(USB)接口、通用快闪装置(UFS)接口、eMMCTM接口或一或多个其它连接器或接口)之间传送数据。主机装置105可包含主机***、电子装置、处理器、存储卡读取器或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参考图7的机器700所论述的组件的某个部分或全部的机器。
存储器控制器115可从主机105接收指令,且可与存储器阵列120进行通信,例如以将数据传送到(例如,写入或擦除)存储器阵列120的存储器单元、平面、子块、块或页中的一或多者或从其传送(例如,读取)数据。存储器控制器115可尤其包含电路***或固件,包含一或多个组件或集成电路。例如,存储器控制器115可包含经配置以控制跨存储器阵列120的存取且在主机105与存储器装置110之间提供转译层的一或多个存储器控制单元、电路或组件。
存储器管理器125可尤其包含电路***或固件,例如与各种存储器管理功能相关联的数个组件或集成电路。出于本描述的目的,将在NAND存储器的背景下描述实例存储器操作及管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似存储器操作或管理功能。此类NAND管理功能包含损耗均衡(例如,废弃项目收集或回收)、错误检测或校正、块引退或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收的命令)解析或格式化成装置命令(例如,与存储器阵列的操作相关联的命令等),或生成用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以完成各种存储器管理功能)。
存储器管理器125可包含一组管理表130,所述组管理表130经配置以维护与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储器单元相关联的各种信息)。例如,管理表130可包含关于耦合到存储器控制器115的一或多个存储器单元块的块使用期限、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果所述错误计数中的一或多者的经检测错误的数目高于阈值,那么位错误可被称为不可校正位错误。管理表130可尤其维护可校正或不可校正位错误的计数。在实例中,管理表103可包含转译表或L2P映射。
存储器管理器125可实施且使用数据结构来减少涉及在L2P表中搜索有效页的操作(例如废弃项目收集)中的存储器装置110延时。为此,存储器管理器125经布置以为物理块维护数据结构(例如,表区数据结构、跟踪数据结构等)。数据结构包含L2P表的L2P映射表区的指示。在实例中,L2P表大于用于存储器管理器125的工作存储器,所述工作存储器可与存储器控制器115或存储器装置110的其它组件共享。然而,L2P表区不大于工作存储器,从而容许将L2P区加载到工作存储器中且对L2P区进行操作。
为了有效地管理数据结构,当写入数据时存储器管理器125对数据结构执行维护操作。因此,存储器控制器115经布置以(例如,从主机105)接收写入请求,所述写入请求包含逻辑页及将在逻辑页处写入的数据。存储器管理器125经布置以在L2P表中在所述逻辑页与数据经写入到其的NAND装置的物理块的物理页之间建立(例如,更新或创建)条目。在此,当L2P表大于工作存储器时,所述条目在跨越(例如,完全覆盖)L2P表的多个区中的区内。
存储器管理器125经布置以将区的指示写入到对应于写入请求的物理块的数据结构。在实例中,数据结构经写入在物理块中。在实例中,数据结构经写入到与块分离的阵列120的维护区域。尽管因为存储器管理器125也选择L2P表区用于写入,所以使所述存储器管理器写入指示是有效的,但是例如存储器控制器115的其它实体也可执行写入。
在实例中,数据结构是位图(例如,二进制阵列)。在实例中,位图包含用于跨越L2P表的多个相互排斥区中的每一区的位。因此,L2P表区彼此不重叠且所有L2P表区的组合跨越整个L2P表。位图包含用于这些区中的每一者的位。在实例中,L2P表区是有序的且所述位的索引对应于给定L2P表区的顺序。例如,如果存在用于L2P表的两个L2P表区,一个覆盖L2P表的前半部且一个覆盖L2P表的后半部,那么位图的索引“0”对应于第一区且位图的索引“1”对应于第二区。然而,不要求区覆盖L2P表的连续部分(例如,在所述表中区A不能紧靠区B),也不要求区具有特定顺序。然而,用于将给定L2P表区指派给位图的给定索引的任何准则都必须一致(例如,区“Y”始终映射到相同索引)。在实例中,位图中的L2P表区指示(例如,用于指示给定L2P表区在一个时间具有所述块中的物理页)是那个区的相应位中的逻辑一(例如,二进制“1”)。
在实例中,存储器管理器125经布置以在物理块的废弃项目收集操作期间读取数据结构以将L2P表的一组有限区加载到工作存储器中。存储器管理器125搜索这组有限区以找到有效页且将其从所述块移动到另一块。一旦有效页被移动,就擦除所述块以完成废弃项目收集。在实例中,在废弃项目收集中不使用不在所述组有限区中的多个区中的区。
在实例中,存储器管理器125经布置以响应于擦除物理块而初始化数据结构。因此,一旦废弃项目收集完成,就将所述块的数据结构设置为已知的空状态。在其中数据结构是位图的实例中,通过在位图的每一位中写入逻辑零(例如,二进制“0”)来初始化数据结构。在实例中,仅在初始化时取消设置指示。这个限制有助于减少维护要求且增加其它组件的可预测性。因此,当完全写入块时,数据结构直到所述块被擦除且数据结构被初始化才会变化。而且,一旦在数据结构中指示L2P区,其直到初始化才可“被取消指示”。
为了控制操作延时(例如,主机写入延时),存储器管理器125经布置以维护跟踪数据结构。在实例中,跟踪数据结构是阵列,其中阵列的索引对应于块,且阵列的值对应于来自L2P表的具有指向由索引所指示的块的逻辑地址的L2P区的数目。在实例中,存储器管理器125在存储器中维护跟踪数据结构(例如,其未被写入到阵列120)。
存储器管理器125经布置以计算当废弃项目收集正在操作时执行的操作的次数。因此,虽然给定块的废弃项目收集涉及将所有有效页移动到新块,但是废弃项目收集可被中断(例如,被暂停),且因此以若干间隔操作。废弃项目收集操作的经计算次数是以这些时间间隔中的一者执行的操作的次数。
在实例中,所述计算包含将L2P区搜索比添加到废弃项目收集的节奏计算。如上所述,节奏是在给定主机105正在写入一定量的数据的情况下执行多少废弃项目收集操作的定量。L2P区搜索比还限制在所述块上搜索有效页时涉及多少L2P区。在实例中,将L2P区搜索比添加到节奏计算包含将L2P区搜索比添加到废弃项目收集写入。在实例中,L2P区搜索比具有等于块数据结构中的条目的计数的分子,所述条目各自指示逻辑页与物理块的对应性。在实例中,L2P区搜索比具有等于负载阈值参数的分母。这些实例可被表达为:
其中,L2PC[i]是索引i处的值—所述索引i对应于计数器阵列中的块i,且L2PLoadThr是在单次废弃项目收集操作中加载的L2P区的最大数目的阈值。
在实例中,存储器管理器125经布置以响应于块数据结构中的条目的计数大于负载阈值参数而暂停废弃项目收集。在此暂停时,可将废弃项目收集缓冲器清空到阵列120,且将新主机写入操作加载到所述缓冲器中以写入到阵列120。
阵列控制器135可尤其包含经配置以控制与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元、从所述一或多个存储器单元读取数据或擦除所述一或多个存储器单元相关联的存储器操作的电路***或组件。存储器操作可基于例如从主机105接收或由存储器管理器125在内部生成的主机命令(例如,与损耗均衡、错误检测或校正等相关联)。
阵列控制器135可包含错误校正代码(ECC)组件140,所述ECC组件140可尤其包含ECC引擎或经配置以检测或校正与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元或从所述一或多个存储器单元读取数据相关联的错误的其它电路***。存储器控制器115可经配置以主动地检测与各种数据操作或存储相关联的错误事件(例如,位错误、操作错误等)并从中恢复,同时维护在主机105与存储器装置110之间传送的数据的完整性,或维护经存储数据的完整性(例如,使用冗余RAID存储装置等),且可移除(例如,引退)出故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止未来的错误。
存储器阵列120可包含布置在例如数个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592个字节(B)的数据(16,384+2208个字节),每块1536个页,每平面548个块及每装置4个或更多个平面。作为另一实例,32GB MLC存储器装置(每单元存储两个数据位(即,4种可编程状态))可包含每页18,592个字节(B)的数据(16,384+2208个字节),每块1024个页,每平面548个块,及每装置4个平面,但是相比于对应TLC存储器装置,所要的写入时间减半且编程/擦除(P/E)循环加倍。其它实例可包含其它数目或布置。在一些实例中,可选择性地在SLC模式下或在所期望MLC模式(例如TLC、QLC等)下操作存储器装置或其一部分。
在操作中,数据通常以页写入到NAND存储器装置110或从NAND存储器装置110读取,且以块擦除。然而,根据期望,可在更大或更小存储器单元群组上执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常被称为页,而主机的数据传送大小通常被称为扇区。
尽管数据页可包含数个字节的用户数据(例如,包含数个数据扇区的数据有效负载)及其对应元数据,但是所述页的大小通常仅指用于存储用户数据的字节的数目。作为实例,具有4KB页大小的数据页可包含4KB用户数据(例如,具有512B扇区大小的8个扇区)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同页大小,或可能需要与其关联的不同量的元数据。例如,不同存储器装置类型可具有不同位错误率,这可能导致确保数据页的完整性所必需的不同量的元数据(例如,与带有较低位错误率的存储器装置相比,带有较高位错误率的存储器装置可能需要较多字节的错误校正代码数据)。作为实例,多电平单元(MLC)NAND快闪存储器装置可具有高于对应单电平单元(SLC)NAND快闪存储器装置的位错误率。因而,相比于对应SLC装置,MLC装置可能需要更多的用于错误数据的元数据字节。
图2说明工作存储器220中的逻辑到物理表区225的实例。完整L2P表215经存储在NAND阵列210中。然而,完整L2P表在工作存储器220内不适用。当搜索L2P表215时,处理电路***205(例如,存储器管理器、存储器控制器等)将L2P表区225从阵列210加载到工作存储器中。
图3说明逻辑到物理区310、物理块315与跟踪数据结构325之间的关系的实例。在此,跟踪数据结构被组织为带有从零开始的索引的二进制阵列。因此,对应于给定表区(例如,区二)的阵列的元素是所述区减一(例如,跟踪数据结构325的索引一对应于区二)。数据结构325中的每一索引唯一地对应于L2P表305中的单个表区。尽管提供位图或二进制阵列结构作为跟踪数据结构的可能实施方案,但是可使用其它结构,例如结构化数据文件(例如,可扩展标记语言(XML)等)、数据库等。此外,所述指示可包含字符或其它符号。
可在到块315的主机(或其它)写入期间建立这些实体之间的关系。L2P表305被分段成包含区N 310的区。逻辑到物理页的关系经存储在区N 310中。块315中的物理页320用来存储用于写入的数据。索引N-1 330对应于区N 310。因此,阵列元素335被更新为二进制“1”以指示区N 310具有与块315有关的关系;二进制“0”指示对应区不具有与块315有关的关系。如果块315充满或关闭(例如,不存在其中写入新请求的更多自由页),那么不再更新数据结构325。
图4说明逻辑到物理区410、物理块X 415与用于块X的跟踪数据结构405之间的关系的实例。
在此,跟踪数据结构405填充有与块X 415有关的L2P表区的指示。在块X 415的废弃项目收集期间,读取跟踪数据结构405以确定哪些L2P表区加载到工作存储器中以完成废弃项目收集。在此,跟踪数据结构指示区N 410具有与块X 415有关的条目。因此,区N可经加载到非易失性存储装置中。
一旦加载到工作存储器中,就在区N 410中搜索指向块X 415的条目,例如LBA 4及LBA 3等等。接着,将这些页写入到不同块且相对于块X 415标记为无效。重复这个过程直到块X 415中的所有有效页被移动为止,从而使块X 415没有有效数据。接着,可擦除块X 415,从而完成块X的废弃项目收集。如上所述,与传统方法相比,跟踪数据结构405减少需要加载到工作存储器中以完成废弃项目收集过程的L2P表区的数目。
图5A到5B说明块中的验证组件的存储配置。图5A说明其中块的专用部分被预留用于控制器元数据的组织。因此,所述块被划分为用户数据部分505及辅助部分510。用于表区跟踪的数据结构可经存储在辅助部分中,例如在标记为“INFO”的段中。相比之下,图5B说明其中所述辅助部分散布在整个用户数据段中从而得到异构部分515的替代组织。然而,“INFO”辅助部分520仍然位于所述块上且可在所述块的数据结构最后一次被写入时存储所述块的数据结构。可用于存储数据结构的其它位置包含为装置管理保留的存储器装置区域。
图6说明用于控制NAND操作延时的方法600的流程图。方法600的操作由电子硬件(例如本文中所描述的电子硬件(例如,电路***))来执行。
在操作605处,在NAND装置的控制器处接收写入请求。
在操作610处,计算在关闭的物理块上执行的废弃项目收集操作的次数。在实例中,节奏计算是废弃项目收集写入与主机写入之间的比。在实例中,废弃项目收集写入是用于将每个有效页从物理块移动到新物理块的废弃项目收集操作的计数且主机写入是定义在其上扩展废弃项目收集写入的主机写入的计数的参数。在实例中,所述计算包含将L2P区搜索比添加到废弃项目收集的节奏计算。在实例中,将L2P区搜索比添加到节奏计算包含将L2P区搜索比添加到废弃项目收集写入。在实例中,L2P区搜索比具有等于块数据结构中的条目的计数的分子,所述条目各自指示逻辑页与物理块的对应性。在实例中,L2P区搜索比具有等于负载阈值参数的分母。
在实例中,方法600的操作还包含:接收第二写入请求;响应于块数据结构中的条目的计数大于负载阈值参数而暂停废弃项目收集操作搜索;及执行第二写入请求。
在操作615处,在物理块上执行废弃项目收集操作。在实例中,每一废弃项目收集操作包含针对物理块中的给定页的操作620到625。
在操作625处,搜索L2P表以确定所述页是否有效。在实例中,所述搜索由包含每一L2P表区的条目的块数据结构指导。在实例中,块数据结构是位图。在实例中,块数据结构中的条目是单个位。在实例中,条目中的逻辑一指示对应于位的位置的L2P区包含对应于物理块的逻辑页。在实例中,块数据结构经写入在物理块中。
在实例中,NAND装置包含工作存储器。在实例中,L2P表大于工作存储器。在实例中,L2P区不大于工作存储器。在实例中,搜索L2P表(操作625)包含响应于块数据结构中的对应条目指示逻辑页对应于物理块而将L2P区加载到工作存储器中。
在操作630处,响应于所述页有效而将所述页写入到新物理块。
在操作635处,响应于完成将所述页写入到新物理块而执行写入请求。
在实例中,方法600的操作可被扩展为包含:接收第二写入请求;响应于已在废弃项目收集循环中在物理块上执行阈值次数的废弃项目收集操作而暂停废弃项目收集操作搜索;及执行第二写入请求。
图7说明可在其上执行本文中所论述的技术(例如,方法)中的任何一或多者的实例机器700的框图。在替代实施例中,机器700可作为独立装置操作或可经连接(例如,经联网)到其它机器。在联网部署中,机器700可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的身份进行操作。在实例中,机器700可在对等(P2P)(或其它分布式)网络环境中充当对等机器。机器700可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车***或能够执行指令(循序或以其它方式)的任何机器,所述指令指定将由那个机器采取的动作。此外,虽然仅说明单个机器,但是术语“机器”也应被理解为包含个别地或共同地执行一组(或多组)指令以执行本文所论述的方法(例如云计算、软件即服务(SaaS)、其它计算机集群配置)中的任何一或多者的机器的任何集合。
如本文中所描述,实例可包含逻辑、组件、装置、封装或机构,或可通过其来操作。电路***是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的集合(例如,组)。电路***成员资格可能随时间推移及基础硬件可变性而变得灵活。电路***包含可在操作时单独地或组合地执行特定任务的成员。在实例中,电路***的硬件可不变地设计成实行特定操作(例如,硬连线)。在实例中,电路***的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理地修改的计算机可读媒体(例如,磁性地、电地、可移动地放置不变质量的粒子等)以对特定操作的指令进行编码。在连接物理组件时,硬件组成的基础电性质例如从绝缘体变为导体或反之亦然。指令使参与的硬件(例如,执行单元或加载机构)能够经由可变连接在硬件中创建电路***的成员以在操作中时实行特定任务的部分。因此,当装置正在操作时,计算机可读媒体通信地耦合到电路***的其它组件。在实例中,物理组件中的任一者可用于一个以上电路***的一个以上成员中。例如,在操作下,执行单元可在一个时间点用于第一电路***的第一电路中且可在不同时间被第一电路***中的第二电路或被第二电路***中的第三电路重用。
机器(例如,计算机***)700(例如,主机装置105、存储器装置110等)可包含硬件处理器702(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器704及静态存储器706,其中的一些或全部可经由互连链路(例如,总线)708彼此进行通信。机器700可进一步包含显示单元710、字母数字输入装置712(例如,键盘)及用户接口(UI)导航装置714(例如,鼠标)。在实例中,显示单元710、输入装置712及UI导航装置714可为触摸屏显示器。机器700可另外包含存储装置(例如,驱动单元)716、信号生成装置718(例如,扬声器)、网络接口装置720及一或多个传感器716,例如全球定位***(GPS)传感器、指南针、加速度计或其它传感器。机器700可包含输出控制器728,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以传达或控制一或多个***装置(例如,打印机、读卡器等)。
存储装置716可包含机器可读媒体722,所述机器可读媒体722上存储有体现本文中所描述的技术或功能中的任何一或多者或被其利用的一或多组数据结构或指令724(例如,软件)。指令724还可在由机器700执行期间完全或至少部分地驻留在主存储器704、静态存储器706或硬件处理器702内。在实例中,硬件处理器702、主存储器704、静态存储器706或存储装置716中的一者或任何组合可构成机器可读媒体722。
虽然机器可读媒体722被说明为单个媒体,但是术语“机器可读媒体”可包含经配置以存储一或多个指令724的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联高速缓冲存储器及服务器)。
术语“机器可读媒体”可包含能够存储、编码或携带用于由机器700执行且致使机器700执行本发明的技术中的任何一或多者的指令或能够存储、编码或携带由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器以及光学及磁性媒体。在实例中,聚集式机器可读媒体包括带有具有不变(例如,静止)质量的多个粒子的机器可读媒体。因此,聚集式机器可读媒体不是暂时性传播信号。聚集式机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内部硬盘及可卸除磁盘;磁光盘;及CD-ROM及DVD-ROM磁盘。
指令724(例如,软件、程序、操作***(OS)等)或其它数据经存储在存储装置721上,可由存储器704存取以供处理器702使用。存储器704(例如,DRAM)通常是快速但易失性的,且因此与存储装置721(例如,SSD)的存储类型不同,所述存储装置721适合长期存储,包含处于“关”状态时。由用户或机器700使用的指令724或数据通常加载在存储器704中以供处理器702使用。当存储器704已满时,可分配来自存储装置721的虚拟空间以补充存储器704;然而,因为存储装置721装置通常比存储器704慢,且写入速度通常是读取速度的至少1/2,所以虚拟存储器的使用由于存储装置延时而大大地降低用户体验(与例如DRAM的存储器704相比)。此外,将存储装置721用于虚拟存储器可大大地减少存储装置721的使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为压缩块存储装置以避免对存储装置721的分页。在压缩块中进行分页直到必需将此数据写入到存储装置721。虚拟存储器压缩增加存储器704的可用大小,同时减少存储装置721上的损耗。
针对移动电子装置或移动存储装置优化的存储装置传统上包含MMC固态存储装置(例如,微型安全数字(microSDTM)卡等)。MMC装置包含与主机装置的数个并行接口(例如,8位并行接口),且通常是可移除的并与主机装置分离的组件。相比之下,eMMCTM装置经附接到电路板且被视为主机装置的组件,其中读取速度可与基于串行ATATM(串行AT(高级技术)附件或SATA)的SSD装置相媲美。然而,对移动装置性能的需求不断增加,例如以完全启用虚拟或增强现实装置,利用增加的网络速度等。响应于此需求,存储装置已从并行通信接口转变为串行通信接口。通用快闪存储(UFS)装置,包含控制器及固件,使用带有专用读取/写入路径的低压差分信令(LVDS)串行接口与主机装置进行通信,从而进一步提高读取/写入速度。
指令724可进一步利用数种传送协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等))中的任一者来经由网络接口装置720使用传输媒体在通信网络726上传输或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络及无线数据网络(例如,电气及电子工程师协会(IEEE)802.11系列标准,被称为IEEE 802.16系列标准,被称为/>IEEE 802.15.4系列标准)、对等(P2P)网络等等。在实例中,网络接口装置720可包含用于连接到通信网络726的一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线。在实例中,网络接口装置726可包含用于使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者进行无线通信的多个天线。术语“传输媒体”应被理解为包含能够存储、编码或携载由机器700执行的指令的任何无形媒体,且包含用于促进此软件的通信的数字或模拟通信信号或其它无形媒体。
额外实例:
实例1是一种用于控制NAND操作延时的装置,所述装置包括:NAND阵列,其包含若干块,所述若干物理块中的至少一个物理块是关闭的;及控制器,其用于:接收写入请求;计算要在所述关闭的物理块上执行的废弃项目收集操作的次数,所述计算包含将逻辑到物理(L2P)区搜索比添加到废弃项目收集的节奏计算;在所述物理块上执行所述经计算次数的废弃项目收集操作,每一废弃项目收集操作包含在给定所述物理块中的页的情况下,所述控制器用于:搜索L2P表以确定所述页是否有效,所述搜索由包含每一L2P表区的条目的块数据结构指导,所述条目指示所述L2P表区中的逻辑页是否对应于所述物理块;且响应于所述页有效而将所述页写入到所述若干块中的新物理块;且响应于正在执行所述经计算次数的废弃项目收集操作而执行所述写入请求。
在实例2中,根据实例1所述的标的物,其中所述L2P区搜索比具有等于所述块数据结构中指示逻辑页与所述物理块的对应性的条目的计数的分子。
在实例3中,根据实例2所述的标的物,其中所述L2P区搜索比具有等于负载阈值参数的分母。
在实例4中,根据实例3所述的标的物,其中所述控制器经布置以:接收第二写入请求;响应于所述块数据结构中的条目的所述计数大于所述负载阈值参数而暂停所述废弃项目收集操作;且执行所述第二写入请求。
在实例5中,根据实例4所述的标的物,其中为了将所述L2P区搜索比添加到所述节奏计算,所述控制器将所述L2P区搜索比添加到所述废弃项目收集写入。
在实例6中,根据实例1到5中任一实例所述的标的物,其中所述控制器经布置以:接收第二写入请求;响应于已在废弃项目收集循环中在所述物理块上执行阈值次数的废弃项目收集操作而暂停所述废弃项目收集操作;且执行所述第二写入请求。
在实例7中,根据实例1到6中任一实例所述的标的物,其中所述节奏计算是废弃项目收集写入与主机写入之间的比,其中所述废弃项目收集写入是用于将每个有效页从所述物理块移动到所述新物理块的废弃项目收集操作的计数,且其中所述主机写入是定义在其上扩展所述废弃项目收集写入的主机写入的计数的参数。
在实例8中,根据实例1到7中任一实例所述的标的物,其中所述块数据结构是位图。
在实例9中,根据实例8所述的标的物,其中所述数据结构中的条目是单个位。
在实例10中,根据实例9所述的标的物,其中条目中的逻辑一指示对应于所述位的位置的L2P区包含对应于所述物理块的逻辑页。
在实例11中,根据实例1到10中任一实例所述的标的物,其中将所述数据结构写入在所述物理块中。
在实例12中,根据实例1到11中任一实例所述的标的物,其中所述装置包含工作存储器,其中所述L2P表大于所述工作存储器,且其中L2P区不大于所述工作存储器。
在实例13中,根据实例12所述的标的物,其中为了搜索所述L2P表,所述控制器响应于所述块数据结构中指示逻辑页对应于所述物理块的对应条目而将所述L2P区加载到所述工作存储器中。
实例14是一种用于控制NAND操作延时的方法,所述方法包括:在NAND装置的控制器处接收写入请求;计算要在关闭的物理块上执行的废弃项目收集操作的次数,所述计算包含将逻辑到物理(L2P)区搜索比添加到废弃项目收集的节奏计算;在所述物理块上执行所述经计算次数的废弃项目收集操作,每一废弃项目收集操作包含在给定所述物理块中的页的情况下:搜索L2P表以确定所述页是否有效,所述搜索由包含每一L2P表区的条目的块数据结构指导,所述条目指示所述L2P表区中的逻辑页是否对应于所述物理块;且响应于所述页有效而将所述页写入到新物理块;及响应于正在执行所述经计算次数的废弃项目收集操作而执行所述写入请求。
在实例15中,根据实例14所述的标的物,其中所述L2P区搜索比具有等于所述块数据结构中指示逻辑页与所述物理块的对应性的条目的计数的分子。
在实例16中,根据实例15所述的标的物,其中所述L2P区搜索比具有等于负载阈值参数的分母。
在实例17中,根据实例16所述的标的物,其包括:接收第二写入请求;响应于所述块数据结构中的条目的所述计数大于所述负载阈值参数而暂停所述废弃项目收集操作;及执行所述第二写入请求。
在实例18中,根据实例17所述的标的物,其中将所述L2P区搜索比添加到所述节奏计算包含将所述L2P区搜索比添加到所述废弃项目收集写入。
在实例19中,根据实例14到18中任一实例所述的标的物,其包括:接收第二写入请求;响应于已在废弃项目收集循环中在所述物理块上执行阈值次数的废弃项目收集操作而暂停所述废弃项目收集操作;及执行所述第二写入请求。
在实例20中,根据实例14到19中任一实例所述的标的物,其中所述节奏计算是废弃项目收集写入与主机写入之间的比,其中所述废弃项目收集写入是用于将每个有效页从所述物理块移动到所述新物理块的废弃项目收集操作的计数,且其中所述主机写入是定义在其上扩展所述废弃项目收集写入的主机写入的计数的参数。
在实例21中,根据实例14到20中任一实例所述的标的物,其中所述块数据结构是位图。
在实例22中,根据实例21所述的标的物,其中所述数据结构中的条目是单个位。
在实例23中,根据实例22所述的标的物,其中条目中的逻辑一指示对应于所述位的位置的L2P区包含对应于所述物理块的逻辑页。
在实例24中,根据实例14到23中任一实例所述的标的物,其中将所述数据结构写入在所述物理块中。
在实例25中,根据实例14到24中任一实例所述的标的物,其中所述NAND装置包含工作存储器,其中所述L2P表大于所述工作存储器,且其中L2P区不大于所述工作存储器。
在实例26中,根据实例25所述的标的物,其中搜索所述L2P表包含响应于所述块数据结构中指示逻辑页对应于所述物理块的对应条目而将所述L2P区加载到所述工作存储器中。
实例27是一种机器可读媒体,其包含用于控制NAND操作延时的指令,所述指令在由机器的处理电路***执行时引起所述处理电路***执行以下操作,包括:在NAND装置的控制器处接收写入请求;计算在关闭的物理块上执行的废弃项目收集操作的次数,所述计算包含将逻辑到物理(L2P)区搜索比添加到废弃项目收集的节奏计算;在所述物理块上执行所述经计算次数的废弃项目收集操作,每一废弃项目收集操作包含在给定所述物理块中的页的情况下:搜索L2P表以确定所述页是否有效,所述搜索由包含每一L2P表区的条目的块数据结构指导,所述条目指示所述L2P表区中的逻辑页是否对应于所述物理块;且响应于所述页有效而将所述页写入到新物理块;及响应于正在执行所述经计算次数的废弃项目收集操作而执行所述写入请求。
在实例28中,根据实例27所述的标的物,其中所述L2P区搜索比具有等于所述块数据结构中指示逻辑页与所述物理块的对应性的条目的计数的分子。
在实例29中,根据实例28所述的标的物,其中所述L2P区搜索比具有等于负载阈值参数的分母。
在实例30中,根据实例29所述的标的物,其中所述操作包括:接收第二写入请求;响应于所述块数据结构中的条目的所述计数大于所述负载阈值参数而暂停所述废弃项目收集操作;及执行所述第二写入请求。
在实例31中,根据实例30所述的标的物,其中将所述L2P区搜索比添加到所述节奏计算包含将所述L2P区搜索比添加到所述废弃项目收集写入。
在实例32中,根据实例27到31中任一实例所述的标的物,其中所述操作包括:接收第二写入请求;响应于已在废弃项目收集循环中在所述物理块上执行阈值次数的废弃项目收集操作而暂停所述废弃项目收集操作;及执行所述第二写入请求。
在实例33中,根据实例27到32中任一实例所述的标的物,其中所述节奏计算是废弃项目收集写入与主机写入之间的比,其中所述废弃项目收集写入是用于将每个有效页从所述物理块移动到所述新物理块的废弃项目收集操作的计数,且其中所述主机写入是定义在其上扩展所述废弃项目收集写入的主机写入的计数的参数。
在实例34中,根据实例27到33中任一实例所述的标的物,其中所述块数据结构是位图。
在实例35中,根据实例34所述的标的物,其中所述数据结构中的条目是单个位。
在实例36中,根据实例35所述的标的物,其中条目中的逻辑一指示对应于所述位的位置的L2P区包含对应于所述物理块的逻辑页。
在实例37中,根据实例27到36中任一实例所述的标的物,其中将所述数据结构写入在所述物理块中。
在实例38中,根据实例27到37中任一实例所述的标的物,其中所述NAND装置包含工作存储器,其中所述L2P表大于所述工作存储器,且其中L2P区不大于所述工作存储器。
在实例39中,根据实例38所述的标的物,其中搜索所述L2P表包含响应于所述块数据结构中指示逻辑页对应于所述物理块的对应条目而将所述L2P区加载到所述工作存储器中。
实例40是一种用于控制NAND操作延时的***,所述***包括:用于在NAND装置的控制器处接收写入请求的部件;用于计算在关闭的物理块上执行的废弃项目收集操作的次数的部件,所述计算包含将逻辑到物理(L2P)区搜索比添加到废弃项目收集的节奏计算;用于在所述物理块上执行所述经计算次数的废弃项目收集操作的部件,每一废弃项目收集操作包含在给定所述物理块中的页的情况下:用于搜索L2P表以确定所述页是否有效的部件,所述搜索由包含每一L2P表区的条目的块数据结构指导,所述条目指示所述L2P表区中的逻辑页是否对应于所述物理块;及用于响应于所述页有效而将所述页写入到新物理块的部件;及用于响应于正在执行所述经计算次数的废弃项目收集操作而执行所述写入请求的部件。
在实例41中,根据实例40所述的标的物,其中所述L2P区搜索比具有等于所述块数据结构中指示逻辑页与所述物理块的对应性的条目的计数的分子。
在实例42中,根据实例41所述的标的物,其中所述L2P区搜索比具有等于负载阈值参数的分母。
在实例43中,根据实例42所述的标的物,其包括:用于接收第二写入请求的部件;用于响应于所述块数据结构中的条目的所述计数大于所述负载阈值参数而暂停所述废弃项目收集操作的部件;及用于执行所述第二写入请求的部件。
在实例44中,根据实例43所述的标的物,其中用于将所述L2P区搜索比添加到所述节奏计算的所述部件包含用于将所述L2P区搜索比添加到所述废弃项目收集写入的部件。
在实例45中,根据实例40到44中任一实例所述的标的物,其包括:用于接收第二写入请求的部件;用于响应于已在废弃项目收集循环中在所述物理块上执行阈值次数的废弃项目收集操作而暂停所述废弃项目收集操作的部件;及用于执行所述第二写入请求的部件。
在实例46中,根据实例40到45中任一实例所述的标的物,其中所述节奏计算是废弃项目收集写入与主机写入之间的比,其中所述废弃项目收集写入是用于将每个有效页从所述物理块移动到所述新物理块的废弃项目收集操作的计数,且其中所述主机写入是定义在其上扩展所述废弃项目收集写入的主机写入的计数的参数。
在实例47中,根据实例40到46中任一实例所述的标的物,其中所述块数据结构是位图。
在实例48中,根据实例47所述的标的物,其中所述数据结构中的条目是单个位。
在实例49中,根据实例48所述的标的物,其中条目中的逻辑一指示对应于所述位的位置的L2P区包含对应于所述物理块的逻辑页。
在实例50中,根据实例40到49中任一实例所述的标的物,其中将所述数据结构写入在所述物理块中。
在实例51中,根据实例40到50中任一实例所述的标的物,其中所述NAND装置包含工作存储器,其中所述L2P表大于所述工作存储器,且其中L2P区不大于所述工作存储器。
在实例52中,根据实例51所述的标的物,其中用于搜索所述L2P表的所述部件包含用于响应于所述块数据结构中指示逻辑页对应于所述物理块的对应条目而将所述L2P区加载到所述工作存储器中的部件。
实例53是至少一种机器可读媒体,其包含指令,所述指令在由处理电路***执行时致使所述处理电路***执行操作以实施实例1到52中任一实例。
实例54是一种包括用于实施实例1到52中任一实例的部件的设备。
实例55是一种用于实施实例1到52中任一实例的***。
实例56是一种用于实施实例1到52中任一实例的方法。
以上详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。附图以说明的方式展示其中可实践本发明的特定实施例。这些实施例在本文中也被称为“实例”。此类实例可包含除所展示或描述的那些元件之外的元件。然而,本发明人还考虑其中仅提供所展示或描述的那些元件的实例。此外,本发明人还考虑使用关于特定实例(或其一或多个方面)或关于本文中所展示或描述的其它实例(或其一或多个方面)所展示或描述的那些元件(或其一或多个方面)的任何组合或排列的实例。
在本文档中,如专利文档中常见,术语“一(a/an)”用于包含一个或一个以上,其独立于“至少一个”或“一或多个”的任何其它例子或用法。在本文档中,除非另有指示,否则术语“或”用于指代非排他性或,使得“A或B”可包含“A但没有B”、“B但没有A”及“A及B”。在所附权利要求书中,术语“包含”及“其中(in which)”用作相应术语“包括”及“其中(wherein)”的简明英语等效词。而且,在所附权利要求书中,术语“包含”及“包括”是开放式的,即,包含除在权利要求中在***、装置、对象或过程之后列出的那些元件之外的元件的此术语仍被视为落在那个权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标签,且并不意在对其对象施加数字要求。
在各种实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储在物理装置上的物理电路***或固件。如本文中所使用,“处理器”表示任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
术语“晶片”及“衬底”在本文中通常用于指代在其上形成集成电路的任何结构,且还指代在集成电路制造的各个阶段期间的此类结构。以下详细描述因此不应被理解为限制性的,且各种实施例的范围仅由所附权利要求书连同此权利要求书所赋予的等效物的全范围来界定。
根据本发明且在本文中所描述的各种实施例包含利用存储器单元的垂直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,方向形容词将相对于在其上形成存储器单元的衬底的表面而理解(即,垂直结构将被视为远离衬底表面延伸,垂直结构的底端将被视为最接近衬底表面的端且垂直结构的顶端将视为最远离衬底表面的端)。
如本文中所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。将存储器单元置于预期状态的操作在本文中被称为“编程”,且可包含写入到存储器单元或从存储器单元擦除两者(例如,可将存储器单元编程为经擦除状态)。
根据本发明的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、定义、利用、修改、应用等)一定数量的损耗循环或损耗状态(例如,记录损耗循环,在存储器装置的操作发生时对其进行计数,跟踪其启动的存储器装置的操作,评估对应于损耗状态的存储器装置特性等)。
根据本发明的一或多个实施例,存储器存取装置可经配置以在每次存储器操作时将损耗循环信息提供到存储器装置。存储器装置控制电路***(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能变化。存储器装置可接收损耗循环信息且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被提及“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件连接或耦合或可存在中介元件。相比之下,当一元件被提及“直接在另一元件上”,“直接连接到另一元件”或“直接与另一元件耦合”时,不存在中介元件或层。如果两个元件在附图中展示为用线来用连接它们,那么除非另有指示,否则两个元件可耦合或直接耦合。
本文中所描述的方法实例可至少部分地为机器或计算机实施的。一些实例可包含编码有可操作以配置电子装置来执行如上述实例中所描述的方法的指令的计算机可读媒体或机器可读媒体。此类方法的实施方案可包含代码,例如微代码、汇编语言代码、高级语言代码等。此代码可包含用于执行各种方法的计算机可读指令。所述代码可形成计算机程序产品的部分。此外,所述代码可例如在执行期间或在其它时间有形地存储在一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于硬盘、可卸除磁盘、可卸除光盘(例如,光盘及数字视频光盘)、磁带盒、存储卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置等。
以上描述意在说明性的且非限制性的。例如,上述实例(或其一或多个方面)可彼此组合使用。在审阅以上描述之后,例如所属领域的一般技术人员可使用其它实施例。应在理解以上描述将不用于解释或限制权利要求书的范围或含义的情况下提交以上描述。而且,在以上具体实施方式中,各种特征可被分组在一起以简化本发明。这不应被解释为未主张的揭示特征意在对于任何权利要求均是必不可少的。而是,发明标的物可在于少于特定揭示实施例的所有特征。因此,所附权利要求书由此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例,且考虑此类实施例可以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书连同此权利要求书被赋予的等效物的全范围来确定。
Claims (20)
1.一种用于控制NAND操作延时的装置,所述装置包括:
NAND阵列,其包含若干物理块,所述若干物理块中的至少一个物理块是关闭的;及
控制器,其用于:
接收写入请求;
计算要在关闭的所述物理块上执行的废弃项目收集操作的次数,所述计算包含将逻辑到物理L2P区搜索比添加到废弃项目收集的节奏计算;
在所述物理块上执行经计算的所述次数的废弃项目收集操作,每一废弃项目收集操作包含在给定所述物理块中的页的情况下,所述控制器用于:
搜索L2P表以确定所述页是否有效,所述搜索由包含每一L2P表区的条目的块数据结构指导,所述条目指示所述L2P表区中的逻辑页是否对应于所述物理块;且
响应于所述页有效而将所述页写入到所述若干物理块中的新物理块;且
响应于正在执行经计算的所述次数的废弃项目收集操作而执行所述写入请求。
2.根据权利要求1所述的装置,其中所述L2P区搜索比具有等于所述块数据结构中指示逻辑页与所述物理块的对应性的条目的计数的分子。
3.根据权利要求2所述的装置,其中所述L2P区搜索比具有等于负载阈值参数的分母。
4.根据权利要求3所述的装置,其中所述控制器经布置以:
接收第二写入请求;
响应于所述块数据结构中的条目的所述计数大于所述负载阈值参数而暂停所述废弃项目收集操作;且
执行所述第二写入请求。
5.根据权利要求1所述的装置,其中所述控制器经布置以:
接收第二写入请求;
响应于已在废弃项目收集循环中在所述物理块上执行阈值次数的废弃项目收集操作而暂停所述废弃项目收集操作;且
执行所述第二写入请求。
6.一种用于控制NAND操作延时的方法,所述方法包括:
在NAND装置的控制器处接收写入请求;
计算要在关闭的物理块上执行的废弃项目收集操作的次数,所述计算包含将逻辑到物理L2P区搜索比添加到废弃项目收集的节奏计算;
在所述物理块上执行经计算的所述次数的废弃项目收集操作,每一废弃项目收集操作包含在给定所述物理块中的页的情况下:
搜索L2P表以确定所述页是否有效,所述搜索由包含每一L2P表区的条目的块数据结构指导,所述条目指示所述L2P表区中的逻辑页是否对应于所述物理块;且
响应于所述页有效而将所述页写入到新物理块;及
响应于正在执行经计算的所述次数的废弃项目收集操作而执行所述写入请求。
7.根据权利要求6所述的方法,其中所述L2P区搜索比具有等于所述块数据结构中指示逻辑页与所述物理块的对应性的条目的计数的分子。
8.根据权利要求7所述的方法,其中所述L2P区搜索比具有等于负载阈值参数的分母。
9.根据权利要求8所述的方法,其包括:
接收第二写入请求;
响应于所述块数据结构中的条目的所述计数大于所述负载阈值参数而暂停所述废弃项目收集操作;及
执行所述第二写入请求。
10.根据权利要求9所述的方法,其中将所述L2P区搜索比添加到所述节奏计算包含将所述L2P区搜索比添加到所述废弃项目收集写入。
11.根据权利要求6所述的方法,其包括:
接收第二写入请求;
响应于已在废弃项目收集循环中在所述物理块上执行阈值次数的废弃项目收集操作而暂停所述废弃项目收集操作;及
执行所述第二写入请求。
12.根据权利要求6所述的方法,其中所述节奏计算是废弃项目收集写入与主机写入之间的比,其中所述废弃项目收集写入是用于将每个有效页从所述物理块移动到所述新物理块的废弃项目收集操作的计数,且其中所述主机写入是定义在其上扩展所述废弃项目收集写入的主机写入的计数的参数。
13.根据权利要求6所述的方法,其中所述块数据结构是位图。
14.根据权利要求13所述的方法,其中所述数据结构中的条目是单个位。
15.根据权利要求14所述的方法,其中条目中的逻辑一指示对应于所述位的位置的L2P区包含对应于所述物理块的逻辑页。
16.根据权利要求6所述的方法,其中将所述数据结构写入在所述物理块中。
17.根据权利要求6所述的方法,其中所述NAND装置包含工作存储器,其中所述L2P表大于所述工作存储器,且其中L2P区不大于所述工作存储器。
18.根据权利要求17所述的方法,其中搜索所述L2P表包含响应于所述块数据结构中指示逻辑页对应于所述物理块的对应条目而将所述L2P区加载到所述工作存储器中。
19.一种***,其包括部件,所述部件被配置为执行权利要求6至18中任意一项所述的方法。
20.一种计算机可读媒体,其包含指令,当所述指令在被执行时,使得处理电路***执行权利要求6至18中任意一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/024,380 | 2018-06-29 | ||
US16/024,380 US10552316B2 (en) | 2018-06-29 | 2018-06-29 | Controlling NAND operation latency |
PCT/US2019/038262 WO2020005714A1 (en) | 2018-06-29 | 2019-06-20 | Controlling nand operation latency |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112470132A CN112470132A (zh) | 2021-03-09 |
CN112470132B true CN112470132B (zh) | 2024-05-07 |
Family
ID=68987386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980043642.0A Active CN112470132B (zh) | 2018-06-29 | 2019-06-20 | 控制nand操作延时 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10552316B2 (zh) |
EP (1) | EP3814911A4 (zh) |
JP (1) | JP2021528783A (zh) |
KR (1) | KR20210013656A (zh) |
CN (1) | CN112470132B (zh) |
WO (1) | WO2020005714A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552316B2 (en) | 2018-06-29 | 2020-02-04 | Micron Technology, Inc. | Controlling NAND operation latency |
CN114138189A (zh) * | 2021-11-17 | 2022-03-04 | 厦门大学 | 一种加速3d nand闪存中的子块擦除的方法 |
CN114489489B (zh) * | 2021-12-30 | 2024-02-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种用于固态硬盘的垃圾回收方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346287A (zh) * | 2013-08-09 | 2015-02-11 | Lsi公司 | 在固态介质中使用多级别映射的修整机制 |
CN106610900A (zh) * | 2015-10-22 | 2017-05-03 | 蜂巢数据有限公司 | 消除nand闪存设备中的无用单元收集 |
CN107346290A (zh) * | 2016-05-05 | 2017-11-14 | 西部数据科技股份有限公司 | 使用并行化日志列表重放分区逻辑到物理数据地址转换表 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011192260A (ja) * | 2010-02-16 | 2011-09-29 | Toshiba Corp | 半導体記憶装置 |
KR20130076429A (ko) | 2011-12-28 | 2013-07-08 | 삼성전자주식회사 | 메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치 |
US9116793B2 (en) | 2012-06-12 | 2015-08-25 | International Business Machines Corporation | Maintaining versions of data in solid state memory |
WO2014110095A1 (en) | 2013-01-08 | 2014-07-17 | Violin Memory Inc. | Method and system for data storage |
KR20140112303A (ko) * | 2013-03-13 | 2014-09-23 | 삼성전자주식회사 | 불휘발성 메모리 장치, 전자 장치 그리고 그것을 포함하는 컴퓨팅 시스템 |
JP6132010B2 (ja) * | 2013-03-19 | 2017-05-24 | 富士通株式会社 | 制御装置、制御プログラム、および制御方法 |
US20160232088A1 (en) * | 2014-07-17 | 2016-08-11 | Sandisk Enterprise Ip Llc | Garbage Collection in Storage System with Distributed Processors |
JP2016024678A (ja) * | 2014-07-22 | 2016-02-08 | 株式会社東芝 | メモリシステム |
US10296452B2 (en) | 2015-05-11 | 2019-05-21 | SK Hynix Inc. | Data separation by delaying hot block garbage collection |
US10102119B2 (en) | 2015-10-30 | 2018-10-16 | Sandisk Technologies Llc | Garbage collection based on queued and/or selected write commands |
US10185657B2 (en) * | 2016-04-13 | 2019-01-22 | Nanjing University | Method and system for optimizing deterministic garbage collection in NAND flash storage systems |
US20170351604A1 (en) * | 2016-06-02 | 2017-12-07 | Futurewei Technologies, Inc. | Host and garbage collection write ratio controller |
KR102655347B1 (ko) | 2016-07-04 | 2024-04-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9921956B2 (en) * | 2016-07-20 | 2018-03-20 | Sandisk Technologies Llc | System and method for tracking block level mapping overhead in a non-volatile memory |
JP6529941B2 (ja) * | 2016-08-30 | 2019-06-12 | 東芝メモリ株式会社 | メモリシステム |
US10915475B2 (en) * | 2017-10-12 | 2021-02-09 | Western Digital Technologies, Inc. | Methods and apparatus for variable size logical page management based on hot and cold data |
US10552316B2 (en) | 2018-06-29 | 2020-02-04 | Micron Technology, Inc. | Controlling NAND operation latency |
-
2018
- 2018-06-29 US US16/024,380 patent/US10552316B2/en active Active
-
2019
- 2019-06-20 CN CN201980043642.0A patent/CN112470132B/zh active Active
- 2019-06-20 WO PCT/US2019/038262 patent/WO2020005714A1/en active Application Filing
- 2019-06-20 JP JP2020572977A patent/JP2021528783A/ja not_active Ceased
- 2019-06-20 EP EP19825721.4A patent/EP3814911A4/en not_active Withdrawn
- 2019-06-20 KR KR1020217002653A patent/KR20210013656A/ko not_active Application Discontinuation
-
2020
- 2020-01-14 US US16/742,215 patent/US11169917B2/en active Active
-
2021
- 2021-11-08 US US17/521,340 patent/US11663120B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346287A (zh) * | 2013-08-09 | 2015-02-11 | Lsi公司 | 在固态介质中使用多级别映射的修整机制 |
CN106610900A (zh) * | 2015-10-22 | 2017-05-03 | 蜂巢数据有限公司 | 消除nand闪存设备中的无用单元收集 |
CN107346290A (zh) * | 2016-05-05 | 2017-11-14 | 西部数据科技股份有限公司 | 使用并行化日志列表重放分区逻辑到物理数据地址转换表 |
Non-Patent Citations (1)
Title |
---|
基于贪婪策略的NAND FLASH存储器的磨损均衡算法研究;贾鑫;张少平;;计算机科学(第S2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112470132A (zh) | 2021-03-09 |
EP3814911A4 (en) | 2022-03-30 |
US10552316B2 (en) | 2020-02-04 |
JP2021528783A (ja) | 2021-10-21 |
KR20210013656A (ko) | 2021-02-04 |
US20200004673A1 (en) | 2020-01-02 |
US11663120B2 (en) | 2023-05-30 |
EP3814911A1 (en) | 2021-05-05 |
US20200226059A1 (en) | 2020-07-16 |
US11169917B2 (en) | 2021-11-09 |
WO2020005714A1 (en) | 2020-01-02 |
US20220066926A1 (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684527B (zh) | Nand装置及相关方法和机器可读介质 | |
US11720489B2 (en) | Scheme to improve efficiency of device garbage collection in memory devices | |
US11922053B2 (en) | NAND logical-to-physical table region tracking | |
US11341041B2 (en) | Synchronizing NAND logical-to-physical table region tracking | |
CN114761931A (zh) | 有限ram***中的逻辑到物理转译技术 | |
US11663120B2 (en) | Controlling NAND operation latency | |
US11609819B2 (en) | NAND device mixed parity management | |
US20240264834A1 (en) | Large data read techniques | |
CN112055850B (zh) | Nand装置及相关方法和机器可读媒体 | |
US11922012B2 (en) | Memory mapping device and method | |
CN112416809B (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 |