CN115729452A - 用于流传输装置的时移缓冲器的写入预算控制 - Google Patents
用于流传输装置的时移缓冲器的写入预算控制 Download PDFInfo
- Publication number
- CN115729452A CN115729452A CN202211004865.6A CN202211004865A CN115729452A CN 115729452 A CN115729452 A CN 115729452A CN 202211004865 A CN202211004865 A CN 202211004865A CN 115729452 A CN115729452 A CN 115729452A
- Authority
- CN
- China
- Prior art keywords
- memory
- write
- logical partition
- logical
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0656—Data buffering arrangements
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/7206—Reconfiguration of flash memory system
-
- 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
-
- 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/7211—Wear leveling
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及用于流传输装置的时移缓冲器的写入预算控制。一种用以控制逻辑分区中的写入操作的技术。例如,装置可接收所述逻辑分区的用户规定的写入阈值,所述逻辑分区托管在由多个逻辑分区在损耗均衡中共享的存储器单元池上。跟踪根据寻址所述逻辑分区的写入请求写入到所述存储器单元中的累积数据量。响应于所述累积量达到所述写入阈值,可阻止、拒绝及/或忽略寻址所述逻辑分区的进一步写入请求。例如,所述逻辑分区可用于缓冲数据,以在从服务器播放内容流时进行时移。可经由所述用户规定的阈值来限制时移的写入操作,以防止过度使用与其它逻辑分区共享的所述存储器单元池的总程序擦除预算。
Description
技术领域
本文中所公开的至少一些实施例大体上涉及存储器系统,且更特定地但不限制于用以控制存储器系统中的写入操作的技术。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。通常,主机系统可利用存储器子系统来将数据存储在存储器装置处并从存储器装置检索数据。
发明内容
本公开的一个方面提供一种装置,其包括:通信接口;存储器单元,其形成在集成电路裸片上;及电路系统,其经配置以:经由所述通信接口接收指示写入阈值的命令;在所述存储器单元的部分中或在所述集成电路裸片上的寄存器中,存储指示所述写入阈值的一或多个位,所述一或多个位与逻辑分区相关联;基于在所述通信接口中接收到的写入请求标识所述逻辑分区,确定根据所述写入请求写入到所述存储器单元的第一数据的累积量已达到所述写入阈值;及至少部分地基于第一数据的所述累积量已达到所述写入阈值的确定,避免在接收到写入请求之后将数据写入到所述逻辑分区。
本公开的另一方面提供一种流传输装置,其包括:网络接口;至少一个微处理器;及存储装置,其具有形成在集成电路裸片上的存储器单元;其中所述存储装置经配置以在所述存储器单元上托管多个逻辑分区并横跨包含第一逻辑分区及第二逻辑分区的所述逻辑分区执行损耗均衡;其中所述至少一个微处理器经配置以基于将经由所述网络接口接收的数据缓冲到所述第一逻辑分区中来执行时移操作;其中所述流传输装置经配置以从用户接收所述第一逻辑分区的写入阈值并跟踪写入到所述第一逻辑分区中的累积数据量的指示;且其中响应于所述累积量达到所述写入阈值,所述流传输装置经配置以禁用所述时移操作。
本公开的另一方面提供一种存储指令的非暂时性计算机存储媒体,所述指令在计算装置中执行时致使所述计算装置执行方法,所述方法包括:在集成电路裸片上形成的存储器单元上托管多个逻辑分区;横跨所述逻辑分区执行损耗均衡,包含第一逻辑分区及第二逻辑分区;经由用户界面从用户接收所述第一逻辑分区的写入阈值;跟踪写入到所述第一逻辑分区中的累积数据量的指示;及响应于所述累积量达到所述写入阈值而阻止对所述第一逻辑分区的写入请求。
附图说明
在附图的各图中通过实例而非限制的方式说明实施例,在附图中,相同参考编号指示相同元件。
图1展示根据一个实施例的具有用户可配置选项以控制与其它逻辑分区共享存储器单元的逻辑分区中执行的写入操作的内容流传输系统。
图2展示根据一个实施例控制将数据写入到逻辑分区中的技术。
图3展示根据一个实施例的控制写入预算的方法。
图4根据本公开的一些实施例说明具有存储器子系统的实例计算系统。
图5说明根据一个实施例配置的集成电路存储器装置。
图6为本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的至少一些方面是针对存储器子系统,以及用以根据用户可配置选项控制存储器子系统的部分中的写入操作的技术,所述存储器子系统用于在内容流传输服务中的时移操作及/或其它写入密集型操作中缓冲数据。
流传输应用(例如,流传输装置、机顶盒及TV)中使用的存储装置可经配置以在非易失性存储器单元的共享物理池上提供多个逻辑分区或名字空间。分区或名字空间可用于不同目的。分区或名字空间中的一个可用于缓冲数据以进行时移操作。在时移操作中,存储在流传输装置中接收的媒体流的部分,而不是大体上实时播放。使用媒体流的缓冲部分,播放例如视频剪辑或歌曲等内容的时间从接收内容的时间移开,从而实现例如倒带、快进或快退等操作。然而,当逻辑分区或名字空间中的时移写入操作消耗或用完存储器单元池的整个写入预算时,共享存储器单元池的总使用寿命的逻辑分区的灵活性可成为缺点。在消耗存储器单元池的整个写入预算之后,存储器单元池在写入新数据以供后续检索时可变得不可靠,此不仅会影响时移操作,还会影响共享相同的存储器单元池的其它逻辑分区或名字空间的操作。在一些情况下,完全禁用在同一存储器单元池上配置的写入操作可能使流传输装置无法运行或无法操作。
本公开的至少一些方面通过根据配置参数选择性地禁用逻辑分区或名字空间中的写入操作来解决上述及其它缺陷及/或挑战。例如,可向用户呈现配置选项以接收指示允许在逻辑分区或名字空间(例如,经配置用于时移缓冲操作及/或其它写入密集型操作的逻辑分区或名字空间)中执行的写入操作的阈值量的配置参数。存储装置跟踪分区或名字空间中执行的写入操作量。当跟踪的写入操作量达到阈值量时,存储装置可丢弃、阻止或拒绝分区或名字空间中的进一步写入命令。因此,可保留在逻辑分区或名字空间之间共享的存储器单元池的剩余写入预算,以支持其它逻辑分区或名字空间中的写入操作。
下文结合图4描述作为存储器子系统的存储装置及存储器模块的实例。通常,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供待存储在存储器子系统处的数据,且可请求待从存储器子系统检索的数据。
流传输装置中的数据存储媒体(例如,用以流传输音乐、音频及/或视频内容)可具有系统区域及用户区域。系统区域中的存储器单元可用于存储固件或软件、操作系统、应用程序等。用户区域中的存储器单元可划分为多个逻辑分区。一些逻辑分区可用于存储应用程序、活动日志及/或错误日志等;且一些逻辑分区可用于缓冲内容以用于时移操作,用于存储下载内容及/或用于其它写入密集型操作。
例如,在集成电路装置中形成的存储器单元可用于在流传输装置中提供数据存储媒体。系统区域中的存储器单元可经配置从而以单级单元(SLC)模式存储数据以提高可靠性及耐用性。用户区域中的存储器单元可经配置从而以三级单元(TLC)模式存储数据以扩大数据存储容量。然而,在TLC模式下操作的存储器单元的耐用性降低,允许在存储器单元变得不可靠之前减少编程/擦除(PE)周期的数目。
用户区域中的逻辑分区可共享同一个存储器单元池。因此,存储器单元的PE周期的使用寿命可在具有不同使用模式的逻辑分区之间共享。控制器可通过损耗均衡操作横跨存储器单元池散布写入操作,使得消耗存储器单元的PE预算的速率可在池中均匀分布。
例如,用户区域中的逻辑分区中的一个用于缓冲数据以进行时移。当流传输装置从源接收媒体流时,流传输媒体/内容被连续写入到逻辑分区中,以允许用户请求内容音乐、音频或视频的播放暂停,后退播放,以快速前进或后退等方式播放。
尽管逻辑分区对于存储装置的主机系统来说似乎是单独的存储器区域,但存储装置的控制器可将逻辑分区映射到相同的存储器单元池以允许逻辑分区共享存储器单元池的使用寿命,或PE预算,且因此防止特定逻辑分区过早失效。
例如,用户区域中经配置以缓冲数据以用于时移操作(或其它写入密集型操作)的逻辑分区可经历比其它逻辑分区更高的向分区写入数据的速率。当用于时移分区的存储器单元组由于写入操作的高速率而经历高水平的损耗时,存储装置的控制器/电路系统可将时移分区映射到另一组已经历较少损耗的存储器单元;且另一具有较低写入操作率的逻辑分区可重新映射到时移分区先前使用的存储器单元组及因此较高损耗程度。因此,通过损耗均衡操作,时移分区可自动存取用户区域中存储器单元的写入预算或PE预算。
然而,当时移分区使用用户区域中的存储器单元的全部写入预算时,不仅逻辑分区无法支持进一步将数据写入到存储器单元池以进行时移操作;用户区域中的其它逻辑分区不能支持其设计功能的写入操作。因此,一个分区过度使用写入预算可对用户区域中依赖于其它逻辑分区的功能产生不利影响。
为了控制时移分区(或另一写入密集分区)中的写入操作,可向主机系统提供配置选项。例如,存储装置的控制应用程序可在主机系统中运行,以呈现时移分区的配置选项。所述选项允许用户规定在拒绝、忽略或阻止进一步的写入操作之前允许在逻辑分区中执行的写入操作的阈值量。在一些实施方案中,存储装置的控制器跟踪在用户区域中共享存储器单元池的单个逻辑分区中累积的写入操作;且存储装置的控制应用程序呈现逻辑分区的PE预算使用情况,并允许用户规定逻辑分区中的一或多个的限制。因此,控制应用程序可为逻辑分区中的一或多个的写入预算设置用户规定限制,而不是为逻辑分区提供对用户区域中存储器单元的全部剩余PE预算的无限制存取。当在逻辑分区中执行的累积写入操作达到阈值时,可阻止逻辑分区进一步写入,直到修改阈值为止。因此,当用户区域的存储器单元中剩余的PE周期的水平较低时,流传输装置的用户可决定如何用时间移位函数来换取依赖于其它逻辑分区的其它函数的延长使用。
任选地,可以已写入到逻辑分区中的总字节的形式为逻辑分区规定阈值。替代地,阈值可呈用于托管逻辑分区的存储器单元中的规定数目的编程/擦除周期的形式。替代地,阈值可呈用户区域中存储器单元的总编程/擦除预算的百分比形式。在一些实施方案中,阈值是一次性可配置选项。替代地,所述选项是用户可变更的,例如,暂时地启用进一步时移操作以权衡依赖于其它逻辑分区的功能的进一步缩短的寿命。
图1展示根据一个实施例的具有用户可配置选项以控制与其它逻辑分区共享存储器单元的逻辑分区中执行的写入操作的内容流传输系统。
在图1中,流传输服务器101经配置以经由计算机通信网络(例如因特网105)以数据流形式提供内容103。流传输装置109在网络接口111中接收数据流。流传输装置109 的处理装置113处理接收到的数据以生成信号或数据,用于经由音频视频端口115在例如电视机或监测器的音频视频装置107上呈现内容103。
例如,内容103可包含视频、音频及/或音乐。当内容103以正常速度播放以在音频视频装置107上呈现时,表示内容的数据速率大体上等于在音频视频装置107上呈现内容103的数据消耗速率。当通过网络接口111的数据通信速率波动时,可在流传输装置 109的易失性存储器中缓冲最小量的数据,以防止实时播放出现故障。
然而,在一些情况下,流传输装置109可从用户接收命令以暂停内容的播放以在延迟之后重新开始播放。此外,另一命令可致使播放快进或快退,或在内容的播放的持续时间中选择时间并从选择的时间开始播放。允许用户将播放内容的时间从内容103的实时流传输移开的此类操作可被认为是流传输装置109的时移操作。
为了实现时移操作,流传输装置109经配置以将内容103的至少一部分存储为缓冲流133。缓冲流133具有大量数据,且因此通常存储在存储装置121中,所述存储装置具有形成在一或多个集成电路裸片上的存储器单元池123。
例如,当从流服务器101接收内容103的部分时,处理装置113可将其写入到存储装置121中的分区127中。
分区127是存储器单元池123的存储容量的逻辑部分。存储装置121的控制器141使用地址映射143将分区127中的逻辑地址转换为池123中的存储器单元的物理地址。例如,为了将数据项写入在分区(例如,125或127),处理装置113规定分区(例如,125 或127)中的逻辑地址;且地址映射143用于将分区(例如,125或127)中的逻辑地址转换为池123中存储器单元的物理存储器地址。由于分区中的相同逻辑地址(例如,125或127) 可映射到池123中的存储器单元的不同物理存储器地址,地址映射143允许将分区127 托管在池123中一组改变的存储器单元上。通过损耗均衡,控制器141可横跨池123中的存储器单元分布定向到分区127的写入操作。
当额外内容103从服务器101流传输时,可擦除分区127中缓冲的旧流以为新缓冲流133腾出空间。当新数据被写入到分区中时,分配以托管分区127的存储器单元被擦除及编程以存储正在写入到存储装置121中的新数据。因此,每一写入操作从池123中的存储器单元的PE预算消耗至少一个编程/擦除(PE)周期。池123中的存储器单元的PE 预算的总和表示池123在整个池123被认为不可靠并因此达到其寿命结束之前可支持可靠的总写入。
存储器单元池123可托管多个分区125、...、127。在一些实施方案中,分区125、...、 127被实施为托管在存储装置121的用户区域中的名字空间;且存储装置121的系统区域可在池123之外具有单独的一组存储器单元。系统区域可用于存储需要高可靠性的数据,例如要由控制器141执行的固件及/或要由处理装置113执行的软件的至少一部分。
在图1中,可为分区127规定写入阈值147。控制器141跟踪在分区127中执行的累积写入操作的计数145。当写入计数145达到写入阈值147时,控制器141可阻止、拒绝或忽略具有分区127中的地址的进一步写入命令。阻止写入到分区127中可禁用流传输装置109的时移操作,但可保留存储器单元池123的使用寿命的部分用于依赖于将数据项131写入到托管在同一存储器单元池123中的其它分区(例如,125)中的其它功能。
在一些情况下,流传输装置109的用户可通过逐渐增加写入阈值147来节制存储器单元池123的使用寿命的消耗。通过监测由分区127消耗的存储器单元池123的使用寿命(及其相关联的功能,例如时移),可避免意外地看到存储器单元池123的使用寿命结束并因此流传输装置109的至少大部分功能的物理/永久禁用。
图2展示根据一个实施例控制将数据写入到逻辑分区中的技术。例如,图2的技术可在图1的存储装置121中实施。
在图2中,用户界面203用于呈现选项201以限制对分区127的写入。通过损耗均衡,分区127可与其它分区(例如,125)共享池123中的存储器单元的使用寿命。
通过用户界面203,用户可为分区127规定写入阈值147。当处理装置113(例如,作为存储装置121的主机系统的一部分)发送具有标识分区127的地址的写入请求213 时,存储装置121的控制器141根据待根据写入请求213写入到分区127中的数据量而增加分区127的写入计数145。
程序管理器205基于写入阈值147及写入计数145控制是否允许写入请求213。当写入计数145低于写入阈值147时,程序管理器205可做出决定207以允许请求213中的流数据211被编程/写入到映射到分区127的存储器单元;否则,可向用户界面203发送通知209以通知用户已达到分区127的写入阈值147。随后,用户可决定如何最好地利用存储器单元池123的剩余寿命及相关联的功能,例如与流传输装置109的其它功能相关的流传输装置109的时移功能。
图3展示根据一个实施例的控制写入预算的方法。方法可通过处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑,微码,装置的硬件,集成电路等),软件/固件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,所述方法至少部分地由图4的控制器409、图5的存储器装置419中的处理逻辑及/或图4的主机系统401的处理装置403执行。尽管以特定的顺序或次序展示,但除非另有所规定,否则可修改过程的次序。因此,所说明的实施例应仅理解为实例,且所说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一实施例中需要所有过程。其它过程流程是可能的。
例如,图3的方法可至少部分地经由程序管理器205使用图2的技术执行,所述程序管理器经由在图1的流传输装置109中执行的指令实施,其中存储装置121可为使用图5的集成电路存储器装置419实施的图4的存储器子系统407。
在块301,使用形成在集成电路裸片上的存储器单元池123来托管多个逻辑分区(例如,125、...、127)。
在块303,程序管理器205横跨逻辑分区(例如,125、……、127)执行损耗均衡,包含第一逻辑分区(例如,127)及第二逻辑分区(例如,125)。
在块305,程序管理器205经由用户界面203从用户接收第一逻辑分区127的写入阈值147。
在块307,程序管理器205跟踪写入到第一逻辑分区127中的累积数据量的指示(例如,写入计数145)。
在块309,程序管理器205响应于累积量达到写入阈值147而阻止对第一逻辑分区127的写入请求213。例如,至少部分地基于累积量已经达到写入阈值147的确定,程序管理器205在接收到标识逻辑分区127的写入请求之后避免将数据写入到逻辑分区 127。
例如,流传输装置存储装置109可具有经由指令配置的处理装置(例如,处理器或微处理器),以基于缓冲到第一逻辑分区127中的数据(例如缓冲流133)来执行在播放流内容103时的时移操作。
任选地,程序管理器205可跟踪分别写入到多个逻辑分区中的多个累积数据量。程序管理器205可将第一逻辑分区标识为写入密集型分区,以分别基于为多个逻辑分区跟踪的多个累积量来接收写入阈值147。
例如,程序管理器205可呈现用户界面203以接收写入阈值147。在一些实施方案中,呈现又一用户界面以修改写入阈值。替代地,程序管理器205呈现用户界面203以接收写入阈值147作为一次性可配置选项。
例如,程序管理器可在具有网络接口111、至少一个微处理器(例如,处理装置113)及存储装置121的流传输装置109中实施。存储装置具有形成在集成电路裸片上的存储器单元池123。存储装置121经配置以在存储器单元上托管多个逻辑分区125、...、127,且横跨逻辑分区125、...、127执行损耗均衡,包含共享池123中的存储器单元的总编程擦除预算的第一逻辑分区127及第二逻辑分区125。至少一个微处理器(例如,处理装置113)经配置以(例如,经由指令)基于将经由网络接口111从流传输服务器101通过因特网105接收到的数据缓冲到第一逻辑分区127来执行时间移位操作。流传输装置进一步经配置以从用户接收第一逻辑分区127的写入阈值147并跟踪写入到第一逻辑分区127 中的累积数据量的指示。响应于达到写入阈值147的累积量,流传输装置109经配置以禁用时移操作,且因此防止进一步将数据写入到第一逻辑分区127中。
任选地,流传输装置109具有音频视频端口115。流传输装置的处理装置113(例如,微处理器)可经配置(例如,经由微处理器执行的指令)以通过音频视频部分在音频视频装置107(例如,电视机)上呈现内容流。流传输装置109可使用写入到第一逻辑分区127 中的缓冲流133对内容流执行时移操作。
在一些实施方案中,流传输装置109的用户界面203经配置从而以池123中由多个逻辑分区125、…、127共享的存储器单元的总程序擦除预算的百分比的形式接收写入阈值147。
在一些实施方案中,程序管理器205的操作主要在主机系统(例如流传输装置109)的存储装置121中实施。
例如,存储装置121(例如,如图4中所说明的存储器子系统407及/或图5中所说明的集成电路存储器装置419)可具有形成在集成电路裸片上的通信接口447及存储器单元。存储装置的控制器(例如,141、409或421)可经由固件及/或逻辑电路经配置以经由通信接口447接收写入阈值147。写入阈值147可与第一逻辑分区127相关联地存储(例如,在存储装置121中)。控制器(例如,141、409或421)可根据具有引用或标识第一逻辑分区127的地址的写入请求来跟踪写入到存储器单元中的第一数据的累积量。控制器 (例如,141、409或421)可响应于累积量(例如,写入计数145)达到写入阈值147来阻止标识第一逻辑分区127的写入请求。
例如,存储装置121可具有地址映射143。控制器(例如,141、409或421)经配置以基于地址映射143,将参考第一逻辑分区127的写入请求213中所规定的逻辑地址转换为存储器单元的物理地址以执行写入请求213。
例如,响应于来自主机系统(例如,流传输装置109)的命令,控制器(例如,141、409或421)经配置以在存储器单元池123上形成及托管多个逻辑分区(例如,125、...、127)。多个逻辑分区125、...、127经配置以通过执行由控制器(例如,141、409或421)横跨多个逻辑分区125、...、127执行的损耗均衡且因此均衡池123中的存储器单元之间的均衡来共享池中的存储器单元的聚合编程擦除预算。
例如,控制器(例如,141、409或421)可跟踪写入到多个逻辑分区125、...、127的累积数据量以识别一或多个写入密集型分区以接收写入阈值147以限制其写入操作。
图4根据本公开的一些实施例说明包含存储器子系统407的实例计算系统400。存储器子系统407可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置417)、一或多个非易失性存储器装置(例如,存储器装置419),或此类组合。
存储器子系统407可为存储装置、存储器模块或存储装置及存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM (SO-DIMM)及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统400可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它交通工具)、支持物联网(IoT) 的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网商用装置中的计算机),或包含存储器及处理装置的此类计算装置。
计算系统400可包含主机系统401,所述主机系统耦合到一或多个存储器子系统407。图4说明耦合到一个存储器子系统407的主机系统401的一个实例。如本文中所使用,“耦合到”或“与...耦合”通常是指组件之间的连接,所述连接可为间接通信连接或直接通信连接(例如,无需中间组件),无论有线还是无线的,包含例如电、光学、磁性等连接。
主机系统401可包含处理器芯片组(例如,处理装置403)及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓冲存储器、存储器控制器(例如,控制器405)(例如,NVDIMM控制器)及存储协议控制器(例如,PCIe控制器、 SATA控制器)。主机系统401例如使用存储器子系统407将数据写入到存储器子系统 407,并从存储器子系统407读取数据。
主机系统401可经由物理主机接口耦合到存储器子系统407。物理主机接口的实例包含但不限于串行先进技术总线附属(SATA)接口、快速外围组件互连(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接SCSI(SAS)接口、双数据速率(DDR)存储器总线接口、小计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接字接口)、开放NAND快闪接口(ONFI)、双倍数据速率 (DDR)接口、低功耗双数据速率(LPDDR)接口,或任何其它接口。物理主机接口可用于在主机系统401与存储器子系统407之间发射数据。当存储器子系统407通过PCIe接口与主机系统401耦合时,主机系统401可进一步利用高速NVM(NVMe)接口存取组件(例如,存储器装置419)。物理主机接口可提供用于在存储器子系统407与主机系统401 之间传递控制、地址、数据及其它信号的接口。图4说明存储器子系统407作为实例。通常,主机系统401可经由同一通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。
主机系统401的处理装置403可为例如微处理器、中央处理单元(CPU)、处理器的处理核心、执行单元、单片系统(SoC)等。在一些情况下,控制器405可被称为存储器控制器、存储器管理单元及/或启动器。在一个实例中,控制器405控制通过耦合在主机系统401与存储器子系统407之间的总线的通信。通常,控制器405可向存储器子系统 407发送命令或请求以便对存储器装置419、417进行期望存取。控制器405可进一步包含与存储器子系统407通信的接口电路系统。接口电路系统可将从存储器子系统407接收的响应转换为主机系统401的信息。
主机系统401的控制器405可与存储器子系统407的控制器409通信以执行例如在存储器装置419、417处读取数据、写入数据或擦除数据的操作以及其它此类操作。在一些情况下,控制器405经集成在处理装置403的相同封装内。在其它情况下,控制器 405与处理装置403的封装分开。控制器405及/或处理装置403可包含硬件,例如一或多个集成电路(IC)及/或离散组件、缓冲存储器、高速缓冲存储器或其组合。控制器405 及/或处理装置403可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。
存储器装置419、417可包含不同类型的非易失性存储器组件及/或易失性存储器组件的任一组合。易失性存储器装置(例如,存储器装置417)可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。
非易失性存储器组件的一些实例包含与非(negative-and或NOT AND)(NAND)型快闪存储器及就地写入存储器,例如三维交叉点(“3D交叉点”)存储器。非易失性存储器的交叉点阵列可结合可堆叠的交叉网格化数据存取阵列基于体电阻的改变执行位存储。另外,与许多基于快闪存储器的存储器相比,交叉点非易失性存储器可执行原地写入操作,其中可在不预先擦除非易失性存储器单元的情况下编程非易失性存储器单元。例如, NAND型快闪存储器包含二维NAND(2D NAND)及三维NAND(3D NAND)。
存储器装置419中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单级单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)及五层级单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置419中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC、PLC或此类的任一组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分、MLC部分、TLC部分、QLC部分及/或PLC部分。存储器装置419的存储器单元可经分组为页,所述页可指代用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),可将页分组以形成块。
尽管描述例如3D交叉点类型及NAND类型存储器(例如,2D NAND、3D NAND) 的非易失性存储器装置,但存储器装置419可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器及电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器409(或为简单起见,控制器409)可与存储器装置419通信以执行例如在存储器装置419处读取数据、写入数据或擦除数据的操作以及其它此类操作(例如,响应于通过控制器405在命令总线上调度的命令)。控制器409可包含硬件,例如一或多个集成电路(IC)及/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬编码)逻辑的数字电路系统以执行本文中所描述的操作。控制器409可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适处理器。
控制器409可包含经配置以执行存储在本地存储器411中的指令的处理装置415(例如,处理器)。在所说明实例中,控制器409的本地存储器411包含嵌入式存储器,所述嵌入式存储器经配置以存储用于执行控制存储器子系统407的操作(包含处置存储器子系统407与主机系统401之间的通信)的各种过程、操作、逻辑流以及例程的指令。
在一些实施例中,本地存储器411可包含存储存储器指针、提取数据等的存储器寄存器。本地存储器411还可包含用于存储微码的只读存储器(ROM)。虽然图4中的实例存储器子系统407已说明为包含控制器409,但在本公开的另外实施例中,存储器子系统407不包含控制器409,且替代地可依赖于外部控制(例如,通过外部主机,或通过与存储器子系统分离的处理器或控制器提供)。
通常,控制器409可从主机系统401接收命令或操作,且可将命令或操作转换为指令或适当的命令,以实现对存储器装置419的所要存取。控制器409可负责其它操作,例如损耗均衡操作、无用信息收集操作、错误检测与纠错码(ECC)操作、加密操作、高速缓存操作,以及与存储器装置419相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)与物理地址(例如,物理块地址)之间的地址转换。控制器409可进一步包含主机接口电路系统,以经由物理主机接口与主机系统401通信。主机接口电路系统可将从主机系统接收的命令转换为命令指令以存取存储器装置419,以及将与存储器装置419相关联的响应转换为用于主机系统401的信息。
存储器子系统407还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统407可包含高速缓冲存储器或缓冲器(例如,DRAM)及地址电路系统(例如,行解码器及列解码器),其可自控制器409接收地址并解码所述地址以存取存储器装置419。
在一些实施例中,存储器装置419包含本地媒体控制器421,所述本地媒体控制器结合存储器子系统控制器409操作以对存储器装置419的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器409)可外部管理存储器装置419(例如,对存储器装置419执行媒体管理操作)。在一些实施例中,存储器装置419为受管理存储器装置,其为与用于媒体管理的本地控制器(例如,本地媒体控制器421)一起组合在同一存储器装置封装内的原始存储器装置。受管理存储器装置的实例为受管理NAND (MNAND)装置。
控制器409及/或存储器装置419可包含编程管理器413,所述编程管理器经配置以控制写入预算。在一些实施例中,存储器子系统407中的控制器409及/或存储器装置 419中的控制器421可包含编程管理器413的至少一部分。在其它实施例中,或组合地,主机系统401中的控制器405及/或处理装置403包含编程管理器413的至少一部分。例如,控制器409、控制器405及/或处理装置403可包含实施编程管理器413的逻辑电路系统。例如,控制器409或主机系统401的处理装置403(例如,处理器)可经配置以执行存储在存储器中的指令以执行本文中所描述的编程管理器413的操作。在一些实施例中,编程管理器413在安置在存储器子系统407中的集成电路芯片中实施。在其它实施例中,编程管理器413可为存储器子系统407的固件、主机系统401的操作系统、装置驱动程序或应用程序或其任何组合的一部分。
例如,在控制器409及/或控制器421中实施的编程管理器413可经由指令及/或逻辑电路配置以控制写入预算。
图5说明根据一个实施例配置的集成电路存储器装置。例如,图4的存储器子系统407中的存储器装置419可使用图5的集成电路存储器装置419来实施。
集成电路存储器装置419可封围在单个集成电路封装中。集成电路存储器装置419包含可形成在一或多个集成电路裸片中的多个存储器单元组431、...、433。组431(或组433)中的典型存储器单元可经编程以存储一或多个数据位。
集成电路存储器装置419中的存储器单元中的一些可经配置以针对特定类型的操作一起操作。例如,集成电路裸片上的存储器单元可组织成平面、块及页。平面含有多个块;块含有多个页;且页可具有多个存储器单元串。例如,集成电路裸片可为可独立执行命令或报告状态的最小单位;可对集成电路裸片中的多个平面并行地执行相同的并发操作;块可为执行擦除操作的最小单位;页可为执行数据编程操作(将数据写入到存储器单元中)的最小单位。每一串使其存储器单元连接到共用位线;且块或页中的串中的相同位置的存储器单元的控制栅极连接到共用字线。控制信号可施加到字线及位线以寻址个别存储器单元。
集成电路存储器装置419具有通信接口447以从存储器子系统407的控制器409接收具有地址437的命令,从由存储器地址437识别的存储器单元检索存储器数据445,并且至少提供存储器数据445作为对命令的响应的一部分。任选地,存储器装置419可解码存储器数据445(例如,使用纠错码(ECC)技术)并且提供经解码的数据作为对命令的响应的一部分。集成电路存储器装置419的地址解码器435将地址437转换成控制信号以选择集成电路存储器装置419中的存储器单元组;并且集成电路存储器装置419的读取/写入电路441执行操作以确定存储在存储器单元中在地址437处的存储器数据445。
集成电路存储器装置419具有一组锁存器443或缓冲器以在读取/写入电路441正在对存储器单元组(例如,431或433)的阈值电压进行编程以存储数据,或评估存储器单元组(例如,431或433)的阈值电压以检索数据时暂时保持存储器数据445。
图6说明计算机系统460的实例机器,在所述计算机系统内可执行用于致使机器执行本文中所论述的方法中的任何一或多个的指令集。在一些实施例中,计算机系统460 可对应于主机系统(例如,图4的主机系统401),其包含,耦合到,或利用存储器子系统(例如,图4的存储器子系统407)或可用于执行编程管理器413的操作(例如,执行指令以执行对应于参考图1到图5所描述的编程管理器413的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,作为对等(或分布式)网络环境中的对等机器操作,或作为云计算基础设施或环境中的服务器或客户端机器操作。
所述机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、服务器、网络路由器、交换机或网桥,或能够执行规定由所述机器进行的动作的指令集(顺序或其它方式)的任何机器。此外,虽然说明单个机器,但术语“机器”还应被视为包含单独或联合执行一(或多个)指令集以执行本文所论述的方法中的任何一或多个的任何机器集合。
实例计算机系统460包含经由总线471(其可包含多个总线)彼此通信的处理装置467、主存储器465(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)、静态随机存取存储器(SRAM),等)以及数据存储系统473。
处理装置467可为一或多个通用处理装置,例如微处理器、中央处理单元,等等。更特定地,处理装置467可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC) 微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集组合的处理器。处理装置467还可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器,等等。处理装置467 经配置以执行用于执行本文中所论述的操作及步骤的指令469。计算机系统460可进一步包含网络接口装置463以通过网络461进行通信。
数据存储系统473可包含机器可读媒体475(也被称作为计算机可读媒体),其上存储体现本文中所描述的方法或功能中的任何一或多个的一或多个指令469集或软件。指令469还可在计算机系统460执行所述指令期间完全或至少部分地驻留在主存储器465 内及/或处理装置467内,主存储器465及处理装置467也构成机器可读存储媒体。机器可读媒体475、数据存储系统473及/或主存储器465可对应于图4的存储器子系统407。
在一个实施例中,指令469包含用以实施对应于编程管理器413(例如,参考图1 到图5所描述的编程管理器413)的功能性的指令。虽然机器可读媒体475在实例实施例中被展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码指令集以供机器执行且使机器执行本公开的方法中的任何一或多个的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体及磁媒体。
已在计算机存储器内的算法及数据位的操作的符号表示方面来呈现前面的详细描述的一些部分。这些算法描述及表示为由所属数据处理领域的技术人员用于以向所属领域的其它技术人员传达其工作的本质的方式。算法此处且通常被认为导致所要结果的自洽操作序列。操作为需要物理操纵物理量的操作。通常,但非必需地,这些量可采取能够存储、组合、比较或以其它方式操纵的电或磁信号的形式。将这些信号称作位、值、元素、符号、字符、项、数字等等有时已证明是便利的(主要出于共用的原因)。
然而,应记住,所有这些术语及类似术语均与适当的物理量相关联,且仅作为应用于这些量的方便标签。本公开可是指计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本公开还涉及用于执行本文中操作的设备。此设备可为特定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的磁盘,包含软盘、光盘、CD-ROM及磁光盘,只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡,或适用于存储电子指令的任何类型的媒体,每一者都耦合到计算机系统总线。
本文中所呈现的算法及显示并不与任何特定计算机或其它设备内在地相关。根据本文中的教示,各种通用系统可与程序一起使用,或可证明构造更专用的设备以执行所述方法为方便的。各种这些系统的结构将如下文描述中所述。另外,不参考任何特定编程语言描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。
本公开可经提供作为计算机程序产品或软件,其可包含机器可读媒体,具有存储于其上的指令,所述指令可用于对计算机系统(或其它电子装置)进行编程以根据本公开执行处理。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁性磁盘存储媒体、光存储媒体、快闪存储器组件等。
在此描述中,各种功能及操作被描述为由计算机指令执行或由计算机指令引起,以简化描述。然而,所属领域的技术人员将认识到,此类表达的意思为功能是由一或多个控制器或处理器(例如,微处理器)执行计算机指令而产生。替代地或组合地,可使用具有或不具有软件指令的专用电路系统来实施功能及操作,例如使用专用集成电路(ASIC) 或现场可编程门阵列(FPGA)。可使用没有软件指令的硬连线电路系统或结合软件指令来实施实施例。因此,所述技术既不限于硬件电路系统与软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定源。
在上述说明书中,本公开的实施例已参考其特定实例实施例进行描述。显而易见的是,在不脱离所附权利要求书中所阐明的本公开的实施例的更广泛的精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应考虑说明性而非限制性。
Claims (15)
1.一种装置,其包括:
通信接口;
存储器单元,其形成在集成电路裸片上;及
电路系统,其经配置以:
经由所述通信接口接收指示写入阈值的命令;
在所述存储器单元的部分中或在所述集成电路裸片上的寄存器中,存储指示所述写入阈值的一或多个位,所述一或多个位与逻辑分区相关联;
基于在所述通信接口中接收到的写入请求标识所述逻辑分区,确定根据所述写入请求写入到所述存储器单元的第一数据的累积量已达到所述写入阈值;及
至少部分地基于第一数据的所述累积量已达到所述写入阈值的确定,避免在接收到写入请求之后将数据写入到所述逻辑分区。
2.根据权利要求1所述的装置,其进一步包括:
网络接口,及
处理器,其经配置以经由所述网络接口从流传输服务器接收表示内容流的第二数据,并经由所述通信接口将所述第二数据写入到所述逻辑分区中;且
其中所述内容流包含音乐、音频或视频,或其组合;且所述处理装置进一步经配置以在使用写入到所述逻辑分区中的所述第二数据播放所述内容流时启用时移操作。
3.根据权利要求2所述的装置,其进一步包括:
地址映射,其中所述电路系统经配置以基于所述地址映射将在引用所述逻辑分区的所述写入请求中所规定的逻辑地址转换为所述存储器单元的物理地址以执行所述写入请求;
其中所述电路系统经配置以在所述存储器单元上托管多个逻辑分区;且所述多个逻辑分区经配置以共享所述存储器单元的聚合编程擦除预算;且
其中所述电路系统经配置以横跨所述多个逻辑分区执行损耗均衡以均衡所述存储器单元之间的损耗。
4.根据权利要求3所述的装置,其进一步包括:
音频视频端口,其中所述处理装置经配置以经由所述音频视频端口呈现所述内容流。
5.根据权利要求3所述的装置,其中所述电路系统进一步经配置以接收对所述写入阈值的修改以控制所述逻辑分区中的写入操作。
6.根据权利要求3所述的装置,其中所述处理器经由指令进一步经配置以呈现用户界面以接收所述写入阈值;且
其中所述用户界面经配置以基于写入到所述多个逻辑分区中的累积数据量来识别所述逻辑分区以接收所述写入阈值。
7.一种流传输装置,其包括:
网络接口;
至少一个微处理器;及
存储装置,其具有形成在集成电路裸片上的存储器单元;
其中所述存储装置经配置以在所述存储器单元上托管多个逻辑分区并横跨包含第一逻辑分区及第二逻辑分区的所述逻辑分区执行损耗均衡;
其中所述至少一个微处理器经配置以基于将经由所述网络接口接收的数据缓冲到所述第一逻辑分区中来执行时移操作;
其中所述流传输装置经配置以从用户接收所述第一逻辑分区的写入阈值并跟踪写入到所述第一逻辑分区中的累积数据量的指示;且
其中响应于所述累积量达到所述写入阈值,所述流传输装置经配置以禁用所述时移操作。
8.根据权利要求7所述的流传输装置,其进一步包括:
音频视频端口,其中所述至少一个微处理器经配置以经由所述音频视频端口呈现内容流并对所述内容流执行所述时移操作。
9.根据权利要求8所述的流传输装置,其进一步经配置以:
呈现用户界面以接收所述写入阈值;及
呈现用户界面以调整所述写入阈值。
10.根据权利要求8所述的流传输装置,其进一步经配置以呈现一次性可配置选项以接收所述写入阈值。
11.根据权利要求8所述的流传输装置,其中所述写入阈值呈由所述多个逻辑分区共享的所述存储器单元的总编程擦除预算的百分比的形式。
12.一种存储指令的非暂时性计算机存储媒体,所述指令在计算装置中执行时致使所述计算装置执行方法,所述方法包括:
在集成电路裸片上形成的存储器单元上托管多个逻辑分区;
横跨所述逻辑分区执行损耗均衡,包含第一逻辑分区及第二逻辑分区;
经由用户界面从用户接收所述第一逻辑分区的写入阈值;
跟踪写入到所述第一逻辑分区中的累积数据量的指示;及
响应于所述累积量达到所述写入阈值而阻止对所述第一逻辑分区的写入请求。
13.根据权利要求12所述的非暂时性计算机存储媒体,其中所述方法进一步包括:
基于缓冲到所述第一逻辑分区中的数据,在播放流内容时执行时移操作。
14.根据权利要求12所述的非暂时性计算机存储媒体,其中所述方法进一步包括:
分别跟踪写入到所述多个逻辑分区中的多个累积数据量;及
基于分别为所述多个逻辑分区跟踪的所述多个累积量来识别所述第一逻辑分区以接收所述写入阈值。
15.根据权利要求12所述的非暂时性计算机存储媒体,其中所述方法进一步包括:
呈现用户界面以接收所述写入阈值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/463,397 US11971815B2 (en) | 2021-08-31 | 2021-08-31 | Write budget control of time-shift buffer for streaming devices |
US17/463,397 | 2021-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729452A true CN115729452A (zh) | 2023-03-03 |
Family
ID=85175153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211004865.6A Pending CN115729452A (zh) | 2021-08-31 | 2022-08-22 | 用于流传输装置的时移缓冲器的写入预算控制 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11971815B2 (zh) |
CN (1) | CN115729452A (zh) |
DE (1) | DE102022121112A1 (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008181243A (ja) * | 2007-01-23 | 2008-08-07 | Hitachi Ltd | ストレージシステムのキャッシュパーティション領域の設定を制御するデータベース管理システム |
US8051241B2 (en) * | 2009-05-07 | 2011-11-01 | Seagate Technology Llc | Wear leveling technique for storage devices |
US20110251987A1 (en) * | 2010-04-13 | 2011-10-13 | Buchheit Brian K | Time-shifting a content streaming request |
US8539150B2 (en) * | 2010-12-27 | 2013-09-17 | Hitachi, Ltd. | Storage system and management method of control information using a cache memory with multiple cache partitions |
US9612773B2 (en) * | 2013-11-21 | 2017-04-04 | Samsung Electronics Co., Ltd. | User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof |
US9569120B2 (en) * | 2014-08-04 | 2017-02-14 | Nvmdurance Limited | Adaptive flash tuning |
US20160092353A1 (en) * | 2014-09-25 | 2016-03-31 | Robert C. Swanson | Establishing cold storage pools from aging memory |
WO2016075779A1 (ja) * | 2014-11-12 | 2016-05-19 | 株式会社日立製作所 | 計算機システムおよびストレージ装置 |
US20160342609A1 (en) * | 2015-05-21 | 2016-11-24 | Netapp, Inc. | Systems, methods, and computer program products providing an elastic snapshot repository |
US20170046795A1 (en) * | 2015-08-14 | 2017-02-16 | GStream Holdings, LLC | Systems, computer-implemented methods, and computer-readable media for generating a topical media stream |
JP6068697B1 (ja) * | 2016-02-16 | 2017-01-25 | パナソニック株式会社 | 端末装置、データ配信システムおよび配信制御方法 |
JP6783645B2 (ja) * | 2016-12-21 | 2020-11-11 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10580495B2 (en) * | 2017-12-21 | 2020-03-03 | Western Digital Technologies, Inc. | Partial program operation of memory wordline |
US10871910B1 (en) * | 2019-09-27 | 2020-12-22 | Western Digital Technologies, Inc. | Non-volatile memory with selective interleaved coding based on block reliability |
-
2021
- 2021-08-31 US US17/463,397 patent/US11971815B2/en active Active
-
2022
- 2022-08-22 CN CN202211004865.6A patent/CN115729452A/zh active Pending
- 2022-08-22 DE DE102022121112.6A patent/DE102022121112A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230066561A1 (en) | 2023-03-02 |
DE102022121112A1 (de) | 2023-03-02 |
US11971815B2 (en) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640262B2 (en) | Implementing variable number of bits per cell on storage devices | |
US11682446B2 (en) | Selective wordline scans based on a data state metric | |
US20220413699A1 (en) | Partial superblock memory managment | |
US20220050772A1 (en) | Data block switching at a memory sub-system | |
WO2021179164A1 (en) | Maintaining queues for memory sub-systems | |
US20210303470A1 (en) | Sequential prefetching through a linking array | |
US20230068605A1 (en) | Memory performance using memory access command queues in memory devices | |
US20230129363A1 (en) | Memory overlay using a host memory buffer | |
WO2021179163A1 (en) | Methods, systems and readable storage mediums for managing queues of amemory sub-system | |
US11971815B2 (en) | Write budget control of time-shift buffer for streaming devices | |
US11735272B2 (en) | Noise reduction during parallel plane access in a multi-plane memory device | |
US11579797B2 (en) | Memory sub-system refresh | |
US11734071B2 (en) | Memory sub-system tier allocation | |
US11636904B2 (en) | Almost ready memory management | |
US11899948B2 (en) | Performance control for a memory sub-system | |
US11593032B1 (en) | Memory sub-system data migration | |
US20230015066A1 (en) | Memory sub-system for monitoring mixed mode blocks | |
US20240061589A1 (en) | Code rate as function of logical saturation | |
US20230064781A1 (en) | Dynamic buffer limit for at-risk data | |
US20240087651A1 (en) | Adaptive pre-read management in multi-pass programming | |
US20220188231A1 (en) | Low-bit density memory caching of parallel independent threads |
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 |