CN111902806A - 改进高速缓存的快闪转换层中的垃圾收集效率的方案 - Google Patents

改进高速缓存的快闪转换层中的垃圾收集效率的方案 Download PDF

Info

Publication number
CN111902806A
CN111902806A CN201780098253.9A CN201780098253A CN111902806A CN 111902806 A CN111902806 A CN 111902806A CN 201780098253 A CN201780098253 A CN 201780098253A CN 111902806 A CN111902806 A CN 111902806A
Authority
CN
China
Prior art keywords
block
logical
physical mapping
mapping table
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780098253.9A
Other languages
English (en)
Inventor
段星辉
G·德利赛奥
L·F·德里西
G·费拉里
E·K·F·元
M·亚库洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN111902806A publication Critical patent/CN111902806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

多种应用可包含在其中管理存储器装置中的存储的设备和/或操作所述设备的方法。分配可包含进行垃圾收集程序以释放一或多个块。垃圾收集程序的执行可基于参照逻辑到物理映射表的两个表的操作,所述逻辑到物理映射表拆分成逻辑到物理映射表区以保存于所述存储器装置中。第一表可维持逻辑到物理映射表区的块中的有效页的计数。第二表可包含基于所述第一表中的条目识别所述垃圾收集程序中涉及的逻辑到物理映射表区的位。所述第二表的搜索可确定所述垃圾收集中涉及的逻辑到物理映射表区。

Description

改进高速缓存的快闪转换层中的垃圾收集效率的方案
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器需要电力来维持其数据,且易失性存储器的实例包含随机存取存储器(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)存储器结构,例如3D NAND架构半导体存储器装置,以进一步增大存储器密度且降低存储器成本。
此类3D NAND装置通常包含存储单元串,其串联(例如,以漏极到源极方式)耦合于接近源极的一或多个源极侧选择栅极(SGS)与接近位线的一或多个漏极侧选择栅极(SGD)之间。在实例中,SGS或SGD可包含一或多个场效应晶体管(FET)或金属氧化物半导体(MOS)结构装置等。在一些实例中,所述串将竖直延伸通过含有相应字线的多个竖直间隔开的层。半导体结构(例如,多晶硅结构)可邻近于存储单元串延伸以形成用于所述串的存储单元的通道。在竖直串的实例中,多晶硅结构可呈竖直延伸柱的形式。在一些实例中,串可以“折叠”,并因此相对于U形支柱而布置。在其它实例中,多个竖直结构可堆叠于彼此上以形成存储单元串的堆叠阵列。
存储器阵列或装置可组合在一起以形成存储器系统的存储体,例如固态驱动器(SSD)、通用快闪存储(UFSTM)装置、多媒体卡(MMC)固态存储装置、嵌入式MMC装置(eMMCTM)等。SSD尤其可用作计算机的主存储装置,其关于例如性能、大小、重量、强度、操作温度范围和功率消耗具有优于具有移动部件的传统硬盘驱动器的优点。举例来说,SSD可具有减少的寻道时间、时延或与磁盘驱动器相关联的其它延迟(例如,机电等)。SSD使用例如快闪存储器单元等非易失性存储器单元来避免内部电池电源要求,因此允许驱动器更为多功能且紧凑。
SSD可包含若干存储器装置,包含若干裸片或逻辑单元(例如,逻辑单元数字或LUN),且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。这种SSD可包含一或多个快闪存储器裸片,其上包含数个存储器阵列和外围电路系统。快闪存储器阵列可包含组织成数个物理页的数个存储器单元块。在许多实例中,SSD还会包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。SSD可结合存储器操作从主机接收命令,所述存储器操作例如在存储器装置和主机之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据和地址数据等)的读取或写入操作,或从存储器装置擦除数据的擦除操作。
一般来说,NAND装置结构提供在包含多个页的块层级处执行擦除操作的同时写入单个页的能力。用于NAND装置结构的垃圾收集(GC)程序是针对当NAND装置中的自由物理空间变低时恢复自由空间。垃圾收集通常包含将逻辑有效页从源块重新复制目的地块。可通过这类装置内的管理功能性的设计进步来实现对NAND装置结构的改进,包含对垃圾收集的改进。
附图说明
不一定按比例绘制的图式通过实例而非作为限制大体上说明本文件中论述的各种实施例。
图1说明根据各种实施例的包含存储器装置的环境的实例。
图2是根据各种实施例的三维NAND架构半导体存储器阵列的实例的示意图。
图3是根据各种实施例的三维NAND架构半导体存储器阵列的实例的示意图。
图4说明根据各种实施例的存储器模块的实例框图。
图5是说明根据各种实施例的可在其上实施一或多个实施例的机器的实例的框图。
图6说明根据各种实施例的响应于对NAND存储器装置的写入活动而更新与NAND存储器装置的快闪转换层相关联的两个表的实例。
图7是根据各种实施例的管理存储器装置的实例方法的实施例的流程图。
图8是根据各种实施例的管理存储器装置的实例方法的实施例的流程图。
图9是根据各种实施例的管理NAND存储器装置的实例方法的实施例的流程图。
图10是根据各种实施例的具有以通信方式与NAND存储器装置耦合的主机处理器的实例系统的框图。
具体实施方式
对于NAND结构,通常实施被称为快闪转换层(FTL)的机制,其将经更新信息写入到新的空页并且将所有后续读取请求重新引导到其新地址。FTL用以将新近编程的页均匀分布于所有可用存储器方位上,使得NAND结构均匀地损耗。FTL还维持所有旧的无效页的列表,使得稍后可重复使用旧的无效页。NAND结构的FTL可实施于固件中。
受管理NAND环境中的FTL的一个主要任务是提供页的逻辑到物理(L2P)重新映射以便克服写入页粒度对比擦除块粒度的NAND装置限制。通常,FTL具有地址阵列,形成L2P映射表,其索引表示逻辑地址,而每一条目的内容表示NAND装置上的物理位置。
对于GC程序,用于FTL获得关于源块的有效页的信息的传统方法由以下组成:在L2P映射表内进行搜索,在所述L2P映射表中,物理地址指向将进行垃圾收集的指定源块。此方法在具有有限随机存取存储器(RAM)资源的受管理NAND环境中具有一些缺点。在L2P映射表无法全部保存于RAM中的情况下,拆分成区保存于NAND中,也就是说,可将L2P映射表拆分成L2P映射表区。确实不具有足以包含全部L2P区的RAM的FTL可被称为高速缓存的FTL。然而,在保存于NAND装置中的L2P表区内部进行搜索可为相当费时的过程,这是因为其可涉及在源垃圾块内部找到有效页之前将多个区上传到RAM中。
在各种实施例中,可使用数个表为受管理NAND环境中的FTL提供高效垃圾收集程序。存储相关联计数器的计数的计数器表可与L2P区相关联,其与L2P区自身有关。计数器表可在相关联的L2P区内部或在除相关联L2P区内部以外的方位中。在各种实施例中,每一L2P区具有计数器表。计数器表中的每一计数可表示所述装置的每一块的每一L2P区的有效页计数。此计数器表可在本文中被称为区有效性计数器表(RVCT)。举例来说,标记为x的L2P区的第一计数可为区x中的标记为0的NAND块中存在多少个有效页的计数,且标记为x的L2P区的第二计数可为区x中的标记为1的NAND块中存在多少个有效页的计数。
当区的RVCT内部的块的计数器达到0时,重置另一表中的一个位,其可在本文中被称为区有效性位图表(RVBT)。类似地,当数据被写入有在块内部第一次接触的相关L2P区,也就是说,RVCT计数器第一次从0到1时,RVBT中的位升高。RVBT可划分成组块,且每一组块可对应于所述装置上的块。组块是RVBT的一或多个条目的片段或群组。在管理用于NAND存储器装置的垃圾收集的两表架构中,RVCT可被称为第一表,且RVBT可被称为第二表。
当触发垃圾收集程序时,可检查每一源块的RVBT组块以便验证垃圾收集涉及哪些L2P区。一旦经个体化,可将可通过RVBT组块中的位为高指示的所涉及L2P区加载于RAM中,并且可在加载的L2P区上执行搜索以找到源垃圾收集块的有效页。在此方法中,设置和重置RVBT中的位使用高位表示对应于具有至少一个有效页的L2P区的块。在垃圾收集期间,可搜索RVBT内部的高位以确定垃圾收集所涉及的L2P区。替代地,设置和重置RVBT中的位使用低位表示对应于具有至少一个有效页的L2P区的块。可归因于硬件架构和/或硬件约束条件而实施这类反向逻辑。对于反向方法,在垃圾收集期间,可搜索RVBT内部的低位以确定垃圾收集所涉及的L2P区。
本文所教示的方法可提供优于传统方法的GC效率,其中传统方法包含加载和扫描全部L2P区以便找到源块内部的页。然而,在本文所教示的方法或类似方法的各种实施例中,在源块内部不具有任何有效页的L2P区在GC期间并非有用区,且可避免在GC期间上传这些没用的区。在GC期间不上传没用的L2P区可提供在性能和时延方面优于传统方法的益处。
例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)和因特网连接的电器设备或装置(例如,物联网(IoT)装置等)的电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需要。
电子装置可分解为若干主要组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);和存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC,或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、功率管理电路系统、基带处理器或一或多个收发器电路等。
图1说明包含被配置成在通信接口上通信的主机装置105和存储器装置110的环境100的实例。主机装置105或存储器装置110可包含在多种产品150中,例如物联网(IoT)装置(例如,电冰箱或其它电器、传感器、电机或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115和包含例如数个个别存储器装置(例如,三维(3D)NAND裸片的堆叠)的存储器阵列120。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次数、物理页且因此增加存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可以是主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可以是集成电路(例如,芯片上系统(SoC)等)的部分,其与主机装置105的一或多个其它组件堆叠或以其它方式包含在一起。
可使用一或多个通信接口在存储器装置110与主机装置105的一或多个其它组件之间传送数据,如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储卡读卡器,或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参考图5的机器500论述的组件中的某一部分或全部的机器。
存储器控制器115可从主机105接收指令,并且可与存储器阵列通信,以便将数据传送到存储器阵列的存储器单元、平面、子块、块或页中的一或多个(例如,写入或擦除)或传送来自存储器阵列的存储器单元、平面、子块、块或页中的一或多个的数据(例如,读取)。存储器控制器115尤其可包含电路系统或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可包含一或多个存储器控制单元、电路或组件,其被配置成控制跨存储器阵列120的存取并且提供主机105与存储器装置110之间的转换层。存储器控制器115可包含一或多个输入/输出(I/O)电路、线或接口以向存储器阵列120传送数据或传送来自存储器阵列120的数据。存储器控制器115可以包含存储器管理器125和阵列控制器135。
存储器管理器125尤其可包含电路系统或固件,例如与各种存储器管理功能相关联的多个组件或集成电路。出于当前描述的目的,将在NAND存储器的背景下描述实例存储器操作和管理功能。本领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。此类NAND管理功能包含损耗均衡(例如,垃圾收集或回收)、错误检测或校正、块引退,或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收到的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
存储器管理器125可包含一组管理表130,其被配置成维持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储单元相关联的各种信息)。举例来说,管理表130可以包含关于耦合到存储器控制器115的一或多个存储器单元块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个检测到的错误的数目高于阈值,那么位错误可称为不可校正位错误。管理表130可以尤其维持可校正或不可校正的位错误的计数。
阵列控制器135尤其可包含被配置成控制与以下操作相关联的存储器操作的电路系统或组件:向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据、从所述存储器单元读取数据或擦除所述存储器单元。存储器操作可基于例如从主机105接收或由存储器管理器125在内部产生的主机命令(例如,与耗损均衡、错误检测或校正等相关联)。
阵列控制器135可包含错误校正码(ECC)组件140,所述ECC组件可尤其包含ECC引擎、或被配置成检测或校正与向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据或从中读取数据相关联的错误的其它电路系统。存储器控制器115可被配置成有效地检测与各种操作或数据存储相关联的错误现象(例如,位错误、操作错误等等)并从所述错误现象中恢复,同时维持在主机105与存储器装置110之间传送的数据的完整性,或维持所存储的数据的完整性(例如,使用冗余RAID存储等等),并可移除(例如,引退)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等等)以防止未来错误。
存储器阵列120可包含布置在例如数个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块和每装置4个或更多个平面。作为另一实例,32GBMLC存储器装置(每单元存储两个数据位(即,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快闪装置高的位错误率。因此,MLC装置可需要比对应SLC装置更多的用于错误数据的元数据字节。
图2说明包含数个存储器单元串(例如,第一A0存储器串205A0到第三A0存储器串207A0、第一An存储器串205An到第三An存储器串207An、第一B0存储器串205B0到第三B0存储器串207B0、第一Bn存储器串205Bn到第三Bn存储器串207Bn等)的3D NAND架构半导体存储器阵列200的实例示意图,所述存储器单元串组织成块(例如,块A201A、块B 201B等)和子块(例如,子块A0 201A0、子块An 201An、子块B0 201B0、子块Bn 201Bn等)。存储器阵列200表示通常在存储器装置的块、装置或其它单元中被找到的较大数目的相似结构的一部分。
每一存储器单元串包含若干层次的电荷存储晶体管(例如,浮动栅极晶体管、电荷捕集结构等),所述电荷存储晶体管在Z方向上以源极到漏极方式堆叠于源极线(SRC)235或源极侧选择栅极(SGS)(例如,第一A0 SGS 231A0到第三A0 SGS 233A0、第一An SGS 231An到第三An SGS 233An、第一B0 SGS 231B0到第三B0 SGS 233B0、第一Bn SGS 231Bn到第三Bn SGS233Bn等)与漏极侧选择栅极(SGD)(例如,第一A0 SGD 226A0到第三A0 SGD 228A0、第一AnSGD 226An到第三An SGD 228An、第一B0 SGD 226B0到第三B0 SGD 228B0、第一Bn SGD 226Bn到第三Bn SGD 228Bn等)之间。3D存储器阵列中的每一存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0-BL2 220-222),且沿着Y方向布置为物理页。
在物理页内,每一层次表示一行存储器单元,且每一存储器单元串表示一列。子块可包含一或多个物理页。块可包含数个子块(或物理页)(例如,128、256、384等)。虽然本文中说明为具有两个块,每个块具有两个子块,每个子块具有单个物理页,每个物理页具有三个存储器单元串,且每个串具有8个层次的存储器单元,但是在其它实例中,存储器阵列200可以包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。举例来说,每一存储器单元串按需要可包含更多或更少层次(例如,16、32、64、128等),以及电荷存储晶体管上方或下方一或多个额外层次的半导体材料(例如,选择栅极、数据线等)。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548个块,以及每装置4个或更多个平面。
存储器阵列200中的每一存储器单元包含耦合到(例如,电连接到或以其它方式可操作地连接到)存取线(例如,字线(WL)WL00-WL70 210A-217A、WL01-WL71 210B-217B等)的控制栅极(CG),所述存取线按需要跨越特定层次或层次的一部分共同地耦合控制栅极(CG)。可以使用相应存取线来存取或控制3D存储器阵列中的特定层次且因此串中的特定存储器单元。可以使用各种选择线来存取选择栅极的群组。举例来说,可使用A0 SGD线SGDA0225A0来存取第一A0 SGD 226A0到第三A0 SGD 228A0,可使用An SGD线SGDAn 225An来存取第一An SGD 226An到第三An SGD 228An,可使用B0 SGD线SGDB0 225B0来存取第一B0 SGD 226B0到第三B0 SGD 228B0,且可使用Bn SGD线SGDBn 225Bn来存取第一Bn SGD 226Bn到第三Bn SGD228Bn。可使用栅极选择线SGS0 230A来存取第一A0 SGS 231A0到第三A0 SGS 233A0以及第一An SGS 231An到第三An SGS 233An,且可使用栅极选择线SGS1 230B来存取第一B0 SGS231B0到第三B0 SGS 233B0以及第一Bn SGS 231Bn到第三Bn SGS 233Bn
在实例中,存储器阵列200可包含数个层级的半导体材料(例如,多晶硅等),其被配置成耦合所述阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。可以使用位线(BL)和选择栅极等的组合来存取、选择或控制阵列中的特定存储器单元串,且可使用一或多个存取线(例如,字线)来存取、选择或控制特定串中的一或多个层次的特定存储器单元。
图3说明NAND架构半导体存储器阵列300的一部分的实例示意图,所述阵列包含布置于串(例如,第一串305到第三串307)和层次(例如,说明为相应字线(WL)WL0 310到WL7317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列中的多个存储器单元302以及感测放大器或装置360。举例来说,存储器阵列300可说明例如图2中所说明的3D NAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一SGS 331到第三SGS333)耦合到源极线(SRC),且使用相应漏极侧选择栅极(SGD)(例如,第一SGD 326到第三SGD328)耦合到相应数据线(例如,第一到第三位线(BL)BL0-BL2 320-322)。尽管在图3的实例中说明为具有8个层次(例如,使用字线(WL)WL0 310到WL7 317)和三个数据线(BL0 326到BL2 328),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。
在如实例存储器阵列300的NAND架构半导体存储器阵列中,可通过感测与含有所选择的存储器单元的特定数据线相关联的电流或电压变化来存取所选择的存储器单元302的状态。可使用一或多个驱动器(例如,通过控制电路、一或多个处理器、数字逻辑等)存取存储器阵列300。在实例中,取决于将对特定存储器单元或存储器单元组执行的所需操作的类型,一或多个驱动器可通过将特定电势驱动到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极来激活特定存储器单元或存储器单元组。
为将数据编程或写入到存储器单元,编程电压(Vpgm)(例如一或多个编程脉冲等)可施加到所选字线(例如,WL4),且因此,施加到耦合到所选字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一控制栅极(CG)341到第三CG 343)。编程脉冲可例如在15V处或附近开始,且在某些实例中,可在每一编程脉冲施加期间增加幅度。在将编程电压施加于选定字线的同时,可将例如接地电势(例如,Vss)的电势施加到以编程为目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的通道),从而导致从通道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(Fowler-Nordheim,FN)隧穿等)。
相比之下,可将传递电压(Vpass)施加到具有不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如,Vcc)施加到具有不以编程为目标的存储器单元的数据线(例如,位线),使得例如禁止电荷从通道转移到此类非目标存储器单元的浮动栅极。传递电压可以取决于例如施加的传递电压与以编程为目标的字线的接近度而可变。禁止电压可包含电源电压(Vcc),例如相对于接地电势(例如,Vss)的来自外部源或电源(例如,电池、AC-DC转换器等)的电压。
作为一实例,如果将编程电压(例如,15V或更高)施加于特定字线,例如WL4,那么可将10V的传递电压施加到一或多个其它字线,例如WL3、WL5等,以禁止非目标存储器单元的编程,或保持并不以编程为目标的这类存储器单元上存储的值。随着所施加编程电压与非目标存储器单元之间的距离增大,制止对非目标存储器单元进行编程所需的传递电压可减小。举例来说,在将15V的编程电压施加到WL4的情况下,可将10V的传递电压施加到WL3和WL5,可将8V的传递电压施加到WL2和WL6,可将7V的传递电压施加到WL1和WL7等。在其它实例中,传递电压或字线的数目等等可更高或更低、或更大或更小。
耦合到数据线(例如,第一、第二或第三位线(BL0-BL2)320-322)中的一或多个的感测放大器360可通过感测特定数据线上的电压或电流,检测相应数据线中的每一存储器单元的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行验证操作以确定所选存储器单元是否已到达其既定经编程状态。如果所选存储器单元已达到其预期经编程状态,那么可以禁止其进一步编程。如果所选存储器单元尚未达到其既定编程状态,那么可施加额外编程脉冲。如果所选存储器单元在特定数目的编程脉冲(例如,最大数目)之后尚未达到其既定经编程状态,那么可以将所选存储器单元或与这类所选存储器单元相关联的串、块或页标记为有缺陷的。
为了擦除存储器单元或存储器单元群组(例如,擦除通常成块或成子块地执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到以擦除为目标的存储器单元的衬底(且因此源极与漏极之间的通道),同时目标存储器单元的字线保持在例如接地电势(例如,Vss)的电势下,从而导致从目标存储器单元的浮动栅极到通道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
图4说明存储器装置400的实例框图,所述存储器装置400包含具有多个存储器单元404的存储器阵列402,以及一或多个电路或组件以提供与存储器阵列402的通信或在存储器阵列402上执行一或多个存储器操作。存储器装置400可包含行解码器412、列解码器414、感测放大器420、页缓冲器422、选择器424、输入/输出(I/O)电路426和存储器控制单元430。
存储器阵列402的存储器单元404可布置于块中,例如第一块402A和第二块402B。每个块可包含子块。举例来说,第一块402A可包含第一子块402A0和第二子块402An,且第二块402B可包含第一子块402B0和第二子块402Bn。每个子块可以包含数个物理页,每个页包含数个存储器单元404。虽然在本文中说明为具有两个块,每一块具有两个子块,并且每一子块具有数个存储器单元404,但是在其它实例中,存储器阵列402可以包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元404可以布置成若干行、列、页、子块、块等,并使用例如存取线406、第一数据线410或一或多个选择栅极、源极线等进行存取。
存储器控制单元430可根据在控制线432上接收的一或多个信号或指令控制存储器装置400的存储器操作,所述一或多个信号或指令包含例如指示所需操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线416上接收的地址信号(A0-AX)。在存储器装置400外部的一或多个装置可控制控制线432上的控制信号的值或地址线416上的地址信号的值。在存储器装置400外部的装置的实例可包含但不限于主机、存储器控制器、处理器或图4中未说明的一或多个电路或组件。
存储器装置400可使用存取线406和第一数据线410向(例如,写入或擦除)或从(例如,读取)存储单元404中的一或多个传送数据。行解码器412和列解码器414可接收和解码来自地址线416的地址信号(A0-AX),可确定将存取哪些存储器单元404,且可将信号提供到例如上文描述的存取线406(例如,多个字线(WL0-WLm)中的一或多个)或第一数据线410(例如,多个位线(BL0-BLn)中的一或多个)中的一或多个。
存储器装置400可包含例如感测放大器420的感测电路系统,其被配置成使用第一数据线410来确定(例如,读取)存储器单元404上的数据的值,或确定待写入到存储器单元404的数据的值。举例来说,在存储器单元404的选定串中,响应于读取电流在存储器阵列402中穿过选定串流动到数据线410,感测放大器420中的一或多个可以读取选定存储器单元404中的逻辑电平。
在存储器装置400外部的一或多个装置可使用I/O线(DQ0-DQN)408、地址线416(A0-AX)或控制线432与存储器装置400通信。输入/输出(I/O)电路426可根据例如控制线432和地址线416,使用I/O线408将数据的值传送进出存储器装置400,例如进出页缓冲器422或存储器阵列402。页缓冲器422可存储从在存储器装置400外部的一或多个装置接收的数据,然后将所述数据编程到存储器阵列402的相关部分中,或者可存储从存储器阵列402读取的数据,然后将所述数据发射到在存储器装置400外部的一或多个装置。
列解码器414可接收地址信号(A0-AX)并且将其解码为一或多个列地址信号(CSEL1-CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1-CSELn)且选择页缓冲器422中表示将从存储器单元404读取或将编程到存储器单元404中的数据的值的数据。可使用第二数据线418在页缓冲器422与I/O电路426之间传送所选数据。
存储器控制单元430可以从外部源或电源(例如,内部或外部电池、AC-DC转换器等)接收正和负电源信号,例如电源电压(Vcc)434和负电源(Vss)436(例如,接地电势)。在某些实例中,存储器控制单元430可包含调节器428以内部地提供正或负电源信号。
图5说明其上可执行本文中论述的技术(例如,方法)中的任何一或多种的实例机器500的框图。在替代实施例中,机器500可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器500可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在实例中,机器500可以充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器500可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。另外,虽然仅说明单个机器,但术语“机器”也将视为包含个别地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种(例如云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器总集。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路系统成员可随时间推移和基础硬件变化而为灵活的。电路系统包含在操作时可单独或组合地进行具体任务的部件。在实例中,电路系统的硬件可被永恒地设计成执行特定操作(例如,硬接线)。在实例中,电路的硬件可以包含可变连接的物理组件(例如,执行单元、晶体管、简单电路等),包含物理上经修改(例如,以磁性方式、以电学方式、恒定集结粒子的可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件以当在操作中时进行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在一实例中,物理组件中的任一个可用于超过一个电路系统的超过一个部件中。举例来说,在操作下,执行单元可在一个时间点下用于第一电路系统的第一电路,并且由第一电路系统中的第二电路再使用,或在不同时间下由第二电路系统中的第三电路再使用。
机器(例如,计算机系统)500(例如,主机装置105、存储器装置110等)可包含硬件处理器502(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器504和静态存储器506,其中的一些或全部可经由互联件(例如,总线)508彼此通信。机器500可另外包含显示单元510、字母数字输入装置512(例如,键盘)和用户接口(UI)导航装置514(例如,鼠标)。在一实例中,显示单元510、输入装置512和UI导航装置514可为触摸屏显示器。机器500可另外包含存储装置(例如,驱动单元)521、信号产生装置518(例如,扬声器)、网络接口装置520,以及一或多个传感器516,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器500可以包含输出控制器528,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
存储装置521可包含机器可读媒体522,在所述机器可读媒体上存储体现本文中所描述的技术或功能中的任何一或多个或者供本文中所描述的技术或功能中的任何一或多个利用的一或多组数据结构或指令524(例如,软件)。指令524还可以在其由机器500执行期间完全或至少部分地驻留于主存储器504内、静态存储器506内或硬件处理器502内。在实例中,硬件处理器502、主存储器504、静态存储器506或存储装置521中的一个或任何组合可构成机器可读媒体522。
虽然机器可读媒体522说明为单个媒体,但术语“机器可读媒体”可包含被配置成存储一或多个指令524的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联的高速缓冲存储器和服务器)。
术语“机器可读媒体”可包含能够存储、编码或载送用于由机器500执行且使机器500执行本公开的技术中的任何一或多种的指令,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器,以及光学和磁性媒体。在实例中,集中式机器可读媒体包括具有质量不变(例如静止)的多个粒子的机器可读媒体。因此,集中式机器可读媒体并非是暂时性传播信号。集中式机器可读媒体的特定实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可拆卸磁盘;磁光盘;和CD-ROM和DVD-ROM盘。
指令524(例如,软件、程序、操作系统(OS)等)或其它数据存储在存储装置521上,可由存储器504存取以供处理器502使用。存储器504(例如,DRAM)通常是快速但易失性的,且因此是不同于适用于长期存储(包含在处于“关断”状态时的存储)的存储装置521(例如,SSD)的类型的存储装置。供用户或机器500使用的指令524或数据通常加载于主存储器504中以供处理器502使用。当存储器504已满时,可分配来自存储装置521的虚拟空间以增补存储器504;然而,因为存储装置521通常比存储器504慢且写入速度通常是读取速度的至多二分之一,所以虚拟存储器的使用由于存储装置等待时间(相比于存储器504,例如DRAM)可能极大地降低用户体验。此外,用于虚拟存储器的存储装置521的使用可极大地减少存储装置521的可用使用寿命。
相比于虚拟存储器,虚拟存储器压缩(例如,
Figure BDA0002612033270000141
内核特征“ZRAM”)使用存储器的部分作为压缩块存储以避免寻呼到存储装置521。在压缩块中进行寻呼,直到有必要将此类数据写入到存储装置521为止。虚拟存储器压缩增大了存储器504的可用大小,同时减少了对存储装置521的损耗。
针对移动电子装置优化的存储装置或移动存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的数个并行接口(例如,8位并行接口),且通常是从主机装置可拆卸和分离的组件。相比之下,eMMCTM装置附接到电路板且被视为主机装置的组件,其读取速度堪比基于串行ATATM(串行高级技术(AT)附件,或SATA)的SSD装置。然而,对移动装置性能的需求继续增大,以便完全启用虚拟或扩增现实装置,利用提高的网络速度等。响应于此需求,存储装置已从并行通信接口转换到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,从而进一步推进了更高的读取/写入速度。
指令524可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置520使用发射媒体在通信网络526上发射或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如因特网)、移动电话网络(例如蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如称为
Figure BDA0002612033270000151
的电气电子工程师学会(IEEE)802.11系列标准、称为
Figure BDA0002612033270000152
的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等式(P2P)网络等等。在实例中,网络接口装置520可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络526。在实例中,网络接口装置520可以包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。术语“发射媒体”应被视为包含能够存储、编码或载送指令以由机器500执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
通常,当主机处理器将数据写入一NAND存储器装置时,所述数据与逻辑地址相关联以将所述数据存储于NAND存储器装置中。随后,主机处理器可将相同值的数据写入到逻辑地址或将新值数据写入到所述逻辑地址。由于在页基础上执行写入到NAND存储器装置并且在块基础上执行擦除,因此当主机处理器将相同数据值或不同数据值写入到相同逻辑地址时,将正在写入的数据写入到相同逻辑地址的新物理地址。FTL通过当前映射的指示或指针跟踪相同逻辑地址到不同物理地址的映射,所述映射是通过主机处理器到逻辑地址的最近写入。对于FTL,将数据写入到NAND存储器装置是通到NAND存储器装置的逻辑地址的写入操作。在当前映射之前,用于逻辑地址映射的数据的物理位置表示对于存储数据不再有效的页。如果主机处理器五次写入到逻辑地址,那么可存在一个有效页和四个非有效页。保持跟踪有效页并且释放与无效页相关联的存储器空间是FTL的任务。如较早所论述,在各种实施例中,操作入本文所教示的两个表机制的架构和过程可辅助有效管理NAND存储器装置中的存储器空间的分配。
图6A-6B说明响应于对NAND存储器装置的写入活动而更新与NAND存储器装置的FTL相关联的两个表的实例。为易于论述,图6A-6B说明多个L2P区的标记为L2P区#x的有限数目个块和一个L2P区。第一表是与L2P区#x相关联的RVCT表656,其中RVCT表656维持与L2P区#x相关联的每一块的有效页的计数。第二表是与RVCT表656相关联的RVBT表658,其中RVBT表658维持块是否具有有效页的指示。此指示可为针对相应块具有两个状态的位:一个状态指示块具有有效页,且第二状态指示块不具有有效页。RVBT表658是位图表,其针对每一计数器并且针对每一区含有一个位。此位可设置为指示用于所述区并且用于所述块的至少一个有效页。
在垃圾收集程序中,RVBT表658的检查可识别在垃圾程序中涉及的块以及不涉及的那些块。取决于以NAND存储器装置予以实施的硬件和逻辑,具有有效页的块的指示可通过低位0或高位1实现。在此实例中,使用低位逻辑以使得在RVBT内部搜索低位,接着搜索针对垃圾收集程序中的所选块涉及的L2P区。对于所述组L2P区,可以类似于在其中针对每一区和每一块存在一个位(其可为矩阵中的一个条目)的矩阵的方式实现RVBT。读取RVBT以获取适当的状态位可识别垃圾收集中涉及的对应L2P区和其逻辑到物理映射表。
图6说明响应于对NAND存储器装置的写入活动而更新与NAND存储器装置的快闪转换层相关联的两个表的实例。图6的左侧示出处于相关联NAND存储器装置的操作中的例子,其中RVBT 658指示与RVCT 656相关联的块=0、块=1和块=2中的每一个具有至少一个有效页。RVBT 658针对RVCT 656的每一计数器(计数)并且针对每一L2P区#x具有一个位。通过RVBT 658中的条目中的低位0提供这些指示。由于每一L2P区具有其相关RVCT,因此RVCT656是L2P区#x的RVCT。RVCT 656具有与RVCT 656相关联的块=0、块=1和块=2中的每一个中的有效页的数目的计数。在此实例中,示出了针对逻辑地址150、151和152以及这些地址的L2P区#x的更新列表。RVCT 656具有用于块=0的20个有效页、用于块=1的1个有效页和用于块=2的7个有效页的计数。
图6的右侧示出处于图6的左侧的相关联NAND存储器装置的操作中的稍后例子,其中RVCT 656和RVBT 658已经更新。所述更新是响应于写入到L2P区#x的块0中的逻辑地址而预先形成的,其中此逻辑地址在先前映射到L2P区#x的块1且当前映射的指针改变。每当指针改变时,块的计数针对逻辑地址的映射移动开始的块递,且计数针对逻辑地址映射到的块递增。在L2P区#x中的块=1的RVCT 656中存在从1到0的转变,且通过在RVBT 658中从0改变为1来更新RVBT 658以指示针对L2P区#x中的块=1不存在有效页。如果通过如图6B中所示的状态触发垃圾收集程序,那么不需要在L2P区#x的L2P映射表中搜索块=1是垃圾收集程序的源块。
图7是管理存储器装置的实例方法700的实施例的流程图。在710处,管理NAND存储器装置,其中NAND存储器装置具有布置为数个存储器单元块的存储器单元,每一块具有数个页。NAND存储器装置可具有多个区,其中所述多个区中的每一区与所述区相应的逻辑到物理映射表相关联。在720处,在第一表中更新所述块中的一个的有效页的计数,其中所述第一表与所述区中的一个和其相关联的逻辑到物理映射表相关联。所述第一表可具有多个计数,其中所述第一表中的每一计数是每一块的区的有效页计数。可响应于将数据写入到NAND存储器装置而进行所述更新。更新所述计数可包含在第一次针对逻辑地址的写入是到所述块时,使计数递增,并且当针对所述逻辑地址的写入是到另一块时,使计数递减。
在730处,更新对应于第一表中的经更新计数并且对应于块的第二表,其中所述第二表可具有用于第一表中的每一计数的位。第二表中的更新可基于数据到NAND存储器装置的写入状态。在740处,使用经更新第二表执行用于NAND存储器装置的垃圾收集程序,以识别与执行垃圾收集程序时涉及的区相关联的逻辑到物理映射表。
方法700的变型或类似于方法700的方法可包含数个不同实施例,所述不同实施例可取决于此类方法的应用和/或实施此类方法的系统的架构而组合。这类方法可包含在触发垃圾收集程序后,针对所选的用于垃圾收集程序的源块,检查与所述源块相关的第二表以识别在垃圾收集程序中涉及哪些逻辑到物理映射表。这类方法可包含搜索识别的逻辑到物理映射表以找到有效页并且将找到的有效页写入到不同于源块的目的地块。
图8是管理存储器装置的实例方法的实施例的流程图。在810处,管理NAND存储器装置,其中NAND存储器装置具有布置为数个存储器单元块的存储器单元的存储器阵列,每一块具有数个页。在820处,在写入到其中所述逻辑地址与所述数个块中的一块相关联的存储器阵列的逻辑地址后即刻更新所述块的有效页的计数。在对应于存储于NAND存储器装置中的区中的逻辑到物理映射表并且对应于所述块的第一计数器表中更新所述计数。所述计数具有值零表示与所述计数对应的逻辑到物理映射表的块中的有效页数目为零。更新所述计数可包含在第一次写入到所述块的逻辑地址时,使计数递增,并且当写入到另一块中的逻辑地址时,使计数递减。
在830处,设置对应于经更新计数并且对应于块的第二表中的位。所述位设置可基于数据的写入状态。第二表可划分成组块,其中每一组块对应于数个块中的相应块。在840处,使用第二表中的位组执行用于NAND存储器装置的垃圾收集程序。执行垃圾收集过程可包含选择用于垃圾收集程序的源块;使用第二表中的位组,检查与源块相关联的第二表以识别哪些逻辑到物理映射表具有用于垃圾收集程序的有效页的映射;将所识别的逻辑到物理映射表加载到随机存取存储器中;和搜索随机存取存储器中的所识别的逻辑到物理映射表以找到用于写入到源垃圾收集块的有效页。这类方法可包含反复进行以下操作:检查第二表以识别具有用于垃圾收集程序的有效页的指示的其它逻辑到物理映射表;将所识别的其它逻辑到物理映射表加载到随机存取存储器中;和搜索随机存取存储器中的所识别的其它逻辑到物理映射表以找到用于写入到源垃圾收集块或另一源垃圾收集块的有效页。
图9是管理NAND存储器装置的实例方法900的实施例的流程图。在910处,响应于NAND存储器装置中的垃圾收集程序的触发,选择用于垃圾收集的NAND存储器装置的源块,其中NAND存储器装置布置为数个块,每一块具有数个页。在920处,存取对应于源块的区有效性位图表。所述区有效性位图表可结构化与逻辑到物理映射表对应的表,其中每一逻辑到物理映射表存储于NAND存储器装置中的多个区中的一区中。区有效性位图表可维持在垃圾收集中是否涉及每一逻辑到物理映射表的指示。
在930处,识别区有效性位图表中所指示的具有与一或多个有效页相关联的一或多个条目的逻辑到物理映射表。在940处,将所识别的逻辑到物理映射表加载到随机存取存储器中。在950处,在随机存取存储器中针对有效页搜索所识别的逻辑到物理映射表。在960处,将有效页加载到目的地块中,其中所述目的地块不同于源块。
方法900的变型或类似于方法900的方法可包含数个不同实施例,所述不同实施例可取决于此类方法的应用和/或实施此类方法的系统的架构而组合。这类方法可包含在将有效页加载到目的地块中之后,更新所识别的逻辑到物理映射表。这类方法可包含从搜索随机存取存储器中的所识别的逻辑到物理映射表来确定其它有效页,并且将所述其它有效页加载到目的地块中。另外,这类方法可包含确定区有效性位图表中额外具有源块中的有效页条目的逻辑到物理映射表;将所述额外逻辑到物理映射表加载到随机存取存储器中;针对有效页搜索随机存取存储器中的额外逻辑到物理映射表;和将从搜索额外逻辑到物理映射表获得的有效页加载到目的地块或另一目的地块中。
用于NAND存储器装置的固件可包括在多种应用中当由控制器执行时可致使执行包括本文所教示的操作的操作的指令,例如微码。用于NAND存储器装置的固件可包括当由控制器执行时可致使执行包括方法700和/或类似于方法700的方法的操作的操作的指令,例如微码。用于NAND存储器装置的固件可包括当由控制器执行时可致使执行包括方法800和/或类似于方法800的方法的操作的操作的指令,例如微码。用于NAND存储器装置的固件可包括当由控制器执行时可致使执行包括方法900和/或类似于方法900的方法的操作的操作的指令,例如微码。
在各种实施例中,一种设备可包括:NAND存储器装置,其具有布置为数个存储器块的存储器单元阵列,每一块具有数个页;和固件,其包含经结构化以与逻辑到物理映射表一起操作的快闪转换层,所述逻辑到物理映射表保存于NAND存储器装置中并且拆分成逻辑到物理映射表区。每一逻辑到物理映射表区可与具有一组计数器的第一表相关联,每一组的计数器的数目可等于与相应逻辑到物理映射表区相关联的NAND装置的块数目。快闪转换层可经结构化以与被布置成含有一或多个逻辑到物理映射表区的一或多个指示的第二表一起操作,所述一或多个逻辑到物理映射表区含有一或多个有效页的映射。所述固件可具有当由控制器执行时实现包含基于第二表中所含的一或多个指示进行NAND存储器装置中的垃圾收集程序的操作的指令。所述存储器单元阵列可布置为平面结构或布置为通过竖直堆叠于每一串中的存储器单元的存储器单元串的三维结构。
第二表可含有用于第一表的每一计数器的位,且所述操作可包含:在将数据写入到其中所述数据与数个块中的一块相关联的存储器阵列后,使所述计数器组中的与所述块相关联的计数器递增或递减;和基于数据的写入状态,设置与经递增或递减计数器和所述块对应的第二表中的位。可在第一次写入到所述块的逻辑地址时,使计数器递增,且可当写入到另一块的逻辑地址时,使计数器递减。第二表可划分成组块,且每一组块对应于NAND存储器装置上的块。
所执行的指令可包含执行包含以下的操作:管理垃圾收集程序,使得在触发垃圾收集程序后,即刻检查被选择作为用于垃圾收集程序的源块的每一块的每一组块以识别在垃圾收集程序中涉及哪些逻辑到物理映射表区。所述设备可包含随机存取存储器,其被配置成分别接收所识别的逻辑到物理映射表区以用于搜索有效页来复制到垃圾收集程序中的目的地块。上述设备或类似设备的变型可包含可取决于这类设备的应用和/或其中实施这类设备的系统的架构而组合的数个不同实施例。
图10是具有以通信方式与NAND存储器装置1050耦合的主机处理器1055的系统1000的框图。NAND存储器装置1050可结构化为具有布置成数个存储器块的存储器单元阵列,其中每一块具有数个页。所述存储器单元阵列可布置为平面结构,或者所述存储器单元阵列布置为具有竖直堆叠于每一串中的存储器单元的存储器单元串的三维结构。主机处理器1055可提供从NAND存储器装置1050中的存储器方位读取、写入到所述存储器方位以及擦除所述存储器方位的控制命令。可通过控制器逻辑1057促进用于控制进出NAND存储器装置的数据的控制命令。
系统1000可包含与NAND存储器装置1050相关联的固件1065,其可与控制器逻辑1057结合使用以管理NAND存储器装置1050。所述固件可包含结构化为操作逻辑到物理映射表的FTL。用于固件1065的FLT的逻辑到物理映射表可保存于NAND存储器装置1050中并且可拆分成逻辑到物理映射表区。每一逻辑到物理映射表区可与布置为具有一组计数器或计数的计数器表的第一表相关联。每一组的计数器的数目可等于与相应逻辑到物理映射表区相关联的NAND装置的块的数目。固件1065可结构化为和与含有用于每一逻辑到物理映射表区的每一计数器的位的FTL相关联的第二表一起操作。第二表可划分成组块,其中每一组块对应于NAND存储器装置上的块。
固件1065可包含当由控制器执行时实现管理NAND存储器装置1050的操作的指令。所述操作可包含在写入到NAND存储器装置1050的存储器阵列的逻辑地址后使计数器组中的与NAND存储器装置1050的数个块中的一块相关联的计数器递增或递减。可基于数据的写入状态设置与经递增或递减计数器和块对应的第二表中的位。所述操作可包含管理垃圾收集程序,使得在触发垃圾收集程序后,即刻检查被选择作为用于垃圾收集程序的源块的每一块的第二表的每一组块以识别在垃圾收集程序中涉及哪些逻辑到物理映射表区以及因此哪些区。系统1000可包含RAM 1067,其被配置成分别接收所识别的逻辑到物理映射表区以用于搜索有效页来复制到垃圾收集程序中的目的地块。
以上详细描述包含对附图的参考,所述附图形成详细描述的部分。所述图借助于图示展示可实践本发明的具体实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所展示或描述的那些要素之外的要素。然而,本发明人还预期其中仅提供所展示或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文件中,术语如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在此文献中,术语“或”用于指代非排它性或,使得除非另有指示,否则“A或B”可包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含(including)”和“在其中(in which)”用作相应术语“包括(comprising)”和“其中(wherein)”的简洁英文等效术语。此外,在所附权利要求书中,术语“包含”和“包括”是开放的,也就是说,包含除了权利要求项中列在这种术语之后的那些要素之外的要素的系统、装置、物件或过程仍被认为处于所述权利要求项的范围内。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且并不意图对其对象施加数字要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中被称作“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、定义、利用、修改、应用等)一定数量的损耗循环或损耗状态(例如,记录损耗循环、当其发生时对存储器装置的操作计数、跟踪其起始的存储器装置的操作、评估对应于损耗状态的存储器装置特性等)。
根据一或多个实施例,存储器存取装置可配置成为存储器装置提供每一存储器操作的损耗循环信息。存储器装置控制电路(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息并且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合,或可存在中间元件。相比之下,当一元件被称作“直接在另一元件上”、“直接连接到另一元件”或“与另一元件直接耦合”时,不存在中间元件或层。如果两个元件在图式中展示为被线连接,那么除非另外指明,否则所述两个元件可耦合或直接耦合。
本文所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包括编码有指令的计算机可读媒体或机器可读媒体,所述指令可用于配置电子装置以执行如在以上实例中所描述的方法。这类方法的实施方案可包含代码,如微码、汇编语言代码、高级语言代码等。这类代码可包括用于执行各种方法的计算机可读指令。代码可以形成计算机程序产品的一部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置等等。
以上描述意在为说明性的而非限制性的。举例来说,上文所描述的实例(或其一或多个方面)可以彼此组合使用。例如所属领域的普通技术人员在研究以上描述后可使用其它实施例。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本发明。不应将这一情况解释为要求未主张的公开特征对任何权利要求来说是必需的。实际上,本发明的标的物可在于比特定所公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期这些实施例可以各种组合或排列彼此组合。

Claims (25)

1.一种方法,其包括:
管理NAND存储器装置,所述NAND存储器装置具有布置成数个存储器单元块的存储器单元,每一块具有数个页,所述NAND存储器装置具有多个区,所述多个区中的每一区与所述区的相应逻辑到物理映射表相关联;
响应于将数据写入到所述NAND存储器装置,更新第一表中的所述块中的一个的有效页计数,所述第一表与所述区中的一个和其相关联的逻辑到物理映射表相关联,所述第一表具有多个计数,其中所述第一表中的每一计数是每一块的所述区的有效页计数;
基于所述数据的所述写入的状态,更新与所述第一表中的所述经更新计数对应并且与所述块对应的第二表,所述第二表具有用于所述第一表中的每一计数的位;和
使用所述经更新第二表执行用于所述NAND存储器装置的垃圾收集程序,以识别与所述垃圾收集程序的执行中涉及的所述区相关联的逻辑到物理映射表。
2.根据权利要求1所述的方法,其中更新所述计数包含在第一次针对逻辑地址的写入是到所述块时,使所述计数递增,并且当针对所述逻辑地址的写入是到另一块时,使所述计数递减。
3.根据权利要求1所述的方法,其中所述方法包含在触发所述垃圾收集程序后,针对用于所述垃圾收集程序的所选源块,检查与所述源块相关的所述第二表以识别在所述垃圾收集程序中涉及哪些逻辑到物理映射表。
4.根据权利要求3所述的方法,其中所述方法包含搜索所述所识别的逻辑到物理映射表以找到有效页并且将所述找到的有效页写入到不同于所述源块的目的地块。
5.一种方法,其包括:
管理NAND存储器装置,所述NAND存储器装置具有布置成数个存储器单元块的存储器单元的存储器阵列,每一块具有数个页;
在写入到所述存储器阵列的逻辑地址后即刻更新所述数个块中的一块的有效页计数,其中所述逻辑地址与所述块相关联,在与存储于所述NAND存储器装置中的区中的逻辑到物理映射表对应并且与所述块对应的第一计数器表中更新所述计数;
基于所述写入到所述逻辑地址的状态,设置与所述经更新计数对应并且与所述第一计数器表的所述块对应的第二表中的位;和
使用所述第二表中的位组执行用于所述NAND存储器装置的垃圾收集程序。
6.根据权利要求5所述的方法,其中所述计数具有值零表示与所述计数对应的所述逻辑到物理映射表的所述块中的有效页的数目为零。
7.根据权利要求5所述的方法,其中更新所述计数包含在第一次写入到所述块的所述逻辑地址时,使所述计数递增,并且当写入到另一块中的所述逻辑地址时,使所述计数递减。
8.根据权利要求5所述的方法,其中执行所述垃圾收集过程包含:
选择用于所述垃圾收集程序的源块;
使用所述第二表中的所述位组,检查与所述源块相关联的所述第二表以识别哪些逻辑到物理映射表具有用于所述垃圾收集程序的有效页的映射;
将所述所识别的逻辑到物理映射表加载到随机存取存储器中;和
在所述随机存取存储器中搜索所述所识别的逻辑到物理映射表以找到用于写入到源垃圾收集块的所述有效页。
9.根据权利要求8所述的方法,其中所述方法包含反复进行以下操作:
检查所述第二表以识别具有用于所述垃圾收集程序的有效页的指示的另一逻辑到物理映射表;
将所述所识别的其它逻辑到物理映射表加载到所述随机存取存储器中;和
在所述随机存取存储器中搜索所述所识别的其它逻辑到物理映射表以找到用于写入到所述源垃圾收集块或另一源垃圾收集块的有效页。
10.根据权利要求5所述的方法,其中所述第二表划分成组块,且每一组块对应于所述数个块中的相应块。
11.一种方法,其包括:
响应于NAND存储器装置中的垃圾收集程序的触发,选择用于垃圾收集的所述NAND存储器装置的源块,所述NAND存储器装置布置成数个块,每一块具有数个页;
存取对应于所述源块的区有效性位图表,所述区有效性位图表结构化为与逻辑到物理映射表对应的表,每一逻辑到物理映射表存储于所述NAND存储器装置中的多个区中的一区中,所述区有效性位图表维持对在所述垃圾收集中是否涉及每一逻辑到物理映射表的指示;
识别所述区有效性位图表所指示的具有与一或多个有效页相关联的一或多个条目的逻辑到物理映射表;
将所述所识别的逻辑到物理映射表加载到随机存取存储器中;
在所述随机存取存储器中针对有效页搜索所述所识别的逻辑到物理映射表;和
将所述有效页加载到目的地块中,所述目的地块不同于所述源块。
12.根据权利要求11所述的方法,其中所述方法包含在将所述有效页加载到所述目的地块中之后,更新所述所识别的逻辑到物理映射表。
13.根据权利要求11所述的方法,其中所述方法包含从在所述随机存取存储器中搜索所述所识别的逻辑到物理映射表确定其它有效页并且将所述其它有效页加载到所述目的地块中。
14.根据权利要求11所述的方法,其中所述方法包含:
确定所述区有效性位图表中额外具有所述源块中的有效页条目的逻辑到物理映射表;
将所述额外逻辑到物理映射表加载到所述随机存取存储器中;
在所述随机存取存储器中针对有效页搜索所述额外逻辑到物理映射表;和
将从搜索所述额外逻辑到物理映射表获得的有效页加载到所述目的地块或另一目的地块中。
15.一种设备,其包括:
NAND存储器装置,其具有布置成数个存储器块的存储器单元阵列,每一块具有数个页;和
包含结构化为与逻辑到物理映射表一起操作的快闪转换层的固件,所述逻辑到物理映射表保存于所述NAND存储器装置中并且拆分成逻辑到物理表区,每一逻辑到物理映射表区与具有一组计数器的第一表相关联,每一组的所述计数器的数目等于与相应逻辑到物理映射表区相关联的所述NAND装置的块数目,且所述快闪转换层结构化为与被布置成含有一或多个逻辑到物理映射表区的一或多个指示的第二表一起操作,所述逻辑到物理映射表区含有一或多个有效页的映射,所述固件包含当由控制器执行时实现包含基于所述第二表中所含的所述一或多个指示进行所述NAND存储器装置中的垃圾收集程序的操作的指令。
16.根据权利要求15所述的设备,其中所述第二表含有用于所述第一表的每一计数器的位,所述固件包含当由控制器执行时实现操作的指令,所述操作包含:
在将数据写入到其中所述数据与所述数个块中的一块相关联的所述存储器阵列后即刻使所述组计数器中的与所述块相关联的计数器递增或递减;和
基于所述数据的所述写入的状态,设置与所述经递增或递减计数器和所述块对应的所述第二表中的位。
17.根据权利要求16所述的设备,其中在第一次写入到所述块的逻辑地址时,使所述计数器递增,并且当写入到另一块的所述逻辑地址时,使所述计数器递减。
18.根据权利要求16所述的设备,其中所述第二表划分成组块,且每一组块对应于所述NAND存储器装置上的块。
19.根据权利要求18所述的设备,其中所述操作包含管理垃圾收集程序,使得在触发所述垃圾收集程序后,即刻检查被选择作为用于所述垃圾收集程序的源块的每一块的每一组块以识别在所述垃圾收集程序中涉及哪些逻辑到物理映射表区。
20.根据权利要求19所述的设备,其中所述设备包含随机存取存储器,其被配置成分别接收所述所识别的逻辑到物理映射表区以用于搜索有效页来复制到所述垃圾收集程序中的目的地块。
21.根据权利要求15所述的设备,其中所述存储器单元阵列布置成具有竖直堆叠于每一串中的存储器单元的存储器单元串的三维结构。
22.一种系统,其包括:
主机处理器;
NAND存储器装置,其以通信方式与所述主机处理器耦合,所述NAND存储器装置具有布置成数个存储器块的存储器单元阵列,每一块具有数个页;和
固件,其包含结构化为与逻辑到物理映射表一起操作的快闪转换层,所述逻辑到物理映射表保存于所述NAND存储器装置中并且拆分成逻辑到物理映射表区,每一逻辑到物理映射表区与一组计数器相关联,每一组的计数器的数目等于与相应逻辑到物理映射表区相关联的所述NAND装置的块数目,且所述快闪转换层结构化为与含有用于每一逻辑到物理映射表区的每一计数器的位的第二表一起操作,所述固件包含当由控制器执行时实现操作的指令,所述操作包含:
在将数据写入到其中所述数据与所述数个块中的一块相关联的所述存储器阵列后即刻使所述组计数器中的与所述块相关联的计数器递增或递减;和
基于所述数据的所述写入的状态,设置与所述经递增或递减计数器和所述块对应的所述第二表中的位。
23.根据权利要求22所述的系统,其中所述第二表划分成组块,其中每一组块对应于所述NAND存储器装置上的块。
24.根据权利要求23所述的系统,其中所述操作包含管理垃圾收集程序,使得在触发所述垃圾收集程序后,即刻检查被选择作为用于所述垃圾收集程序的源块的每一块的每一组块以识别在所述垃圾收集程序中涉及哪些逻辑到物理映射表区。
25.根据权利要求24所述的系统,其中所述系统包含随机存取存储器,其被配置成分别接收所述所识别的逻辑到物理映射表区以用于搜索有效页来复制到所述垃圾收集程序中的目的地块。
CN201780098253.9A 2017-12-11 2017-12-11 改进高速缓存的快闪转换层中的垃圾收集效率的方案 Pending CN111902806A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/115425 WO2019113729A1 (en) 2017-12-11 2017-12-11 Scheme to improve efficiency of garbage collection in cached flash translation layer

Publications (1)

Publication Number Publication Date
CN111902806A true CN111902806A (zh) 2020-11-06

Family

ID=66818849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780098253.9A Pending CN111902806A (zh) 2017-12-11 2017-12-11 改进高速缓存的快闪转换层中的垃圾收集效率的方案

Country Status (4)

Country Link
US (2) US11455245B2 (zh)
KR (1) KR20200096613A (zh)
CN (1) CN111902806A (zh)
WO (1) WO2019113729A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489489A (zh) * 2021-12-30 2022-05-13 山东云海国创云计算装备产业创新中心有限公司 一种用于固态硬盘的垃圾回收方法、装置、设备及介质
WO2022120527A1 (en) * 2020-12-07 2022-06-16 Micron Technology, Inc. Techniques for accessing managed nand
CN114822670A (zh) * 2021-01-20 2022-07-29 美光科技公司 有效数据感知媒体可靠性扫描
US11720489B2 (en) 2017-12-11 2023-08-08 Micron Technology, Inc. Scheme to improve efficiency of device garbage collection in memory devices
US12124367B2 (en) 2020-12-07 2024-10-22 Micron Technology, Inc. Techniques for accessing managed NAND

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180095788A1 (en) * 2016-10-04 2018-04-05 Pure Storage, Inc. Scheduling operations for a storage device
CN112069089B (zh) * 2020-09-11 2022-09-27 杭州海康威视系统技术有限公司 回收存储块的方法及装置
US11748011B2 (en) 2021-03-31 2023-09-05 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device
US11733895B2 (en) * 2021-03-31 2023-08-22 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device
CN114138189A (zh) * 2021-11-17 2022-03-04 厦门大学 一种加速3d nand闪存中的子块擦除的方法
US12019878B2 (en) 2021-11-22 2024-06-25 Western Digital Technologies, Inc. Pre-validation of blocks for garbage collection
US20230359766A1 (en) * 2022-05-04 2023-11-09 Western Digital Technologies, Inc. Data Storage Device and Method for Token Generation and Parameter Anonymization
CN116009790A (zh) * 2023-02-03 2023-04-25 合肥兆芯电子有限公司 有效节点管理方法、存储装置及存储器控制电路单元
CN117390709A (zh) * 2023-12-12 2024-01-12 北京初志科技有限公司 基于位置信息读取固态硬盘数据的方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055458A1 (en) * 2009-09-03 2011-03-03 248 Solid State, Inc. Page based management of flash storage
US20110202812A1 (en) * 2010-02-12 2011-08-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US8966205B1 (en) * 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping
US20170139627A1 (en) * 2015-11-13 2017-05-18 SK Hynix Inc. Memory system and operating method of memory system

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
KR100817087B1 (ko) 2007-02-13 2008-03-27 삼성전자주식회사 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법
US8429352B2 (en) 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
US8572310B2 (en) 2007-11-06 2013-10-29 Samsung Electronics Co., Ltd. Invalidating storage area of non-volatile storage medium based on metadata
US8397014B2 (en) 2008-02-04 2013-03-12 Apple Inc. Memory mapping restore and garbage collection operations
JP2009211234A (ja) 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8140739B2 (en) 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
KR100929371B1 (ko) 2009-03-18 2009-12-02 한국과학기술원 페이지-디퍼런셜을 이용하여 dbms에 독립적인 방법으로 플래시 메모리에 데이터를 저장하는 방법
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
JP5066209B2 (ja) * 2010-03-18 2012-11-07 株式会社東芝 コントローラ、データ記憶装置、及びプログラム
US8966319B2 (en) 2011-02-22 2015-02-24 Apple Inc. Obtaining debug information from a flash memory device
US8510636B2 (en) 2011-04-01 2013-08-13 Intel Corporation Dynamic read channel calibration for non-volatile memory devices
US9176864B2 (en) 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US8880779B2 (en) 2011-08-05 2014-11-04 Apple Inc. Debugging a memory subsystem
KR101438716B1 (ko) 2011-08-09 2014-09-11 엘에스아이 코포레이션 I/o 디바이스 및 컴퓨팅 호스팅 상호동작
US8621178B1 (en) 2011-09-22 2013-12-31 Emc Corporation Techniques for data storage array virtualization
US20140254042A1 (en) 2013-03-07 2014-09-11 Seagate Technology Llc Dynamic allocation of lba to un-shingled media partition
US9342389B2 (en) 2013-04-04 2016-05-17 SK Hynix Inc. Neighbor based and dynamic hot threshold based hot data identification
US20170148510A1 (en) 2013-05-31 2017-05-25 Sandisk Technologies Llc Updating read voltages
WO2014209234A1 (en) 2013-06-26 2014-12-31 Agency For Science, Technology And Research Method and apparatus for hot data region optimized dynamic management
US9405717B2 (en) 2013-11-21 2016-08-02 Sandisk Technologies Llc Memory device debugging on host platforms
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US9996297B2 (en) 2014-11-14 2018-06-12 SK Hynix Inc. Hot-cold data separation method in flash translation layer
IN2015CH01601A (zh) * 2015-03-28 2015-05-01 Wipro Ltd
US20170024326A1 (en) 2015-07-22 2017-01-26 CNEX-Labs, Inc. Method and Apparatus for Caching Flash Translation Layer (FTL) Table
US9733861B2 (en) 2015-07-24 2017-08-15 Sk Hynix Memory Solutions Inc. Data temperature profiling by smart counter
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
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
WO2019113729A1 (en) 2017-12-11 2019-06-20 Micron Technology, Inc. Scheme to improve efficiency of garbage collection in cached flash translation layer
KR102659036B1 (ko) * 2018-07-11 2024-04-22 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055458A1 (en) * 2009-09-03 2011-03-03 248 Solid State, Inc. Page based management of flash storage
US20110202812A1 (en) * 2010-02-12 2011-08-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US8966205B1 (en) * 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping
US20170139627A1 (en) * 2015-11-13 2017-05-18 SK Hynix Inc. Memory system and operating method of memory system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
申兆岩: "基于超级块的实时闪存转换层的设计与研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 02, pages 1 - 69 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11720489B2 (en) 2017-12-11 2023-08-08 Micron Technology, Inc. Scheme to improve efficiency of device garbage collection in memory devices
WO2022120527A1 (en) * 2020-12-07 2022-06-16 Micron Technology, Inc. Techniques for accessing managed nand
US12124367B2 (en) 2020-12-07 2024-10-22 Micron Technology, Inc. Techniques for accessing managed NAND
CN114822670A (zh) * 2021-01-20 2022-07-29 美光科技公司 有效数据感知媒体可靠性扫描
CN114489489A (zh) * 2021-12-30 2022-05-13 山东云海国创云计算装备产业创新中心有限公司 一种用于固态硬盘的垃圾回收方法、装置、设备及介质
CN114489489B (zh) * 2021-12-30 2024-02-23 山东云海国创云计算装备产业创新中心有限公司 一种用于固态硬盘的垃圾回收方法、装置、设备及介质

Also Published As

Publication number Publication date
US20220414003A1 (en) 2022-12-29
US11455245B2 (en) 2022-09-27
KR20200096613A (ko) 2020-08-12
US11720489B2 (en) 2023-08-08
WO2019113729A1 (en) 2019-06-20
US20210182189A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
CN111108499B (zh) Nand存储器装置、相关方法及机器可读媒体
US11720489B2 (en) Scheme to improve efficiency of device garbage collection in memory devices
CN111433753B (zh) 动态l2p高速缓存
CN113168358B (zh) 具有奇偶校验保护的多个存储器装置
US11735269B2 (en) Secure erase for data corruption
CN111758091A (zh) 单电平单元高速缓存管理
CN111538682A (zh) 混合逻辑到物理高速缓存方案
CN112041931B (zh) 跟踪逻辑块地址的数据温度
CN113168377A (zh) Slc高速缓存分配
US11163692B2 (en) Memory constrained translation table management
CN113129978B (zh) 使用奇偶校验增加存储器存取并行性
CN112445648B (zh) 用于共享奇偶校验保护的系统和方法
CN112214422A (zh) 静态slc高速缓存的动态大小
CN112074908A (zh) Nand数据放置模式
CN112416809A (zh) 用于可扩展存储区域的分配模式
CN111045852B (zh) 移动nand奇偶校验信息技术
CN114093407A (zh) 一种存储器装置、数据处理系统、方法及存储介质
CN112997254A (zh) 用于筛选容易出现缺陷的存储器块的基于度量的反应性读取
CN112445717B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201106

WD01 Invention patent application deemed withdrawn after publication