CN105359112A - 存储器装置中的操作管理 - Google Patents
存储器装置中的操作管理 Download PDFInfo
- Publication number
- CN105359112A CN105359112A CN201480036996.XA CN201480036996A CN105359112A CN 105359112 A CN105359112 A CN 105359112A CN 201480036996 A CN201480036996 A CN 201480036996A CN 105359112 A CN105359112 A CN 105359112A
- Authority
- CN
- China
- Prior art keywords
- memory
- segment
- time frame
- situation
- storage arrangement
- 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.)
- Granted
Links
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- 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/0629—Configuration or reconfiguration of storage 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明揭示在存储器装置中具有非易失性状态追踪器的多段操作。操作被分段到多个段中且经选择性地执行以避免违反存储器装置内的时序要求。在至少一个实施例中,存储器装置操作被分段成多个段且在其它存储器装置操作的时间帧内选择性地执行。非易失性状态追踪器维持对应于多个分段操作中的每一段的状态值。
Description
技术领域
本发明大体上涉及存储器,且特定来说,在一或多个实施例中,本发明涉及存储器装置中的操作管理。
背景技术
存储器装置通常被提供作为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、电阻式随机存取存储器(RRAM)、双倍数据速率存储器(DDR)、低功耗双倍数据速率存储器(LPDDR)、相变存储器(PCM)及闪速存储器。
非易失性存储器是可在不加电的情况下长时间保持其存储的数据的存储器。闪速存储器装置已发展成为颇受欢迎的用于大范围的电子应用的非易失性存储器来源。闪速存储器装置通常用于电子系统中,例如个人计算机、个人数字助理(PDA)、数码相机、数字媒体播放器、数字记录器、游戏、电器、交通工具、无线装置、蜂窝电话及可移动存储器模块,且闪速存储器的用途正不断扩展。
例如通常包含于一些电子系统中的许多存储器装置执行各种操作以管理存储器装置的操作。存储器装置通常执行存储器操作,例如读、写及擦除操作。这些操作有时被称为前台操作,这是由于这些操作有时由存储器存取装置(例如处理器)或耦合到存储器装置的其它存储器装置控制电路起始。额外操作包含有时被称为后台操作的操作。这些操作有时由存储器装置自身中的控制电路起始。举例来说,存储器装置中的损耗均衡可能作为后台操作执行。可能执行损耗均衡操作以使存储器擦除周期分布在存储器装置的整个存储器阵列中以改进可靠性。随着对存储器装置中的更高操作速度的需求继续增长,可能由于执行这些后台操作中的一或多者而违反存储器装置的时序要求。
出于上文陈述的原因,以及出于下文陈述的在阅读及理解本说明书之后将对所属领域的技术人员显而易见的其它原因,在所属领域中需要减少因在存储器装置中执行操作(例如后台操作)而对存储器装置时序要求的违反。
附图说明
图1为作为电子系统的部分的耦合到存储器存取装置的存储器装置的简化框图。
图2为存储器装置中的存储器操作的时序图。
图3为表示根据本发明的实施例的分段操作的简化框图。
图4说明根据本发明的实施例的确定存储器操作的段裕量的图形化表示。
图5为根据本发明的实施例的存储器操作的时序图。
图6说明根据本发明的实施例的状态追踪器的框图。
图7为说明根据本发明的实施例的执行分段操作的方法的流程图。
图8说明根据本发明的实施例的作为电子系统的部分的耦合到存储器存取装置的存储器装置的功能框图。
具体实施方式
在本发明的以下详细描述中,参考形成其部分且通过说明的方式展示特定实施例的附图。在图式中,相似的符号描述贯穿若干视图实质上类似的组件。在不背离本发明的范围的情况下,可利用其它实施例且可做出结构、逻辑及电气改变。因此,以下详细描述不应被认为为限制意义的。
图1说明作为电子系统100的部分的耦合到存储器存取装置104的存储器装置102的简化框图。存储器存取装置104可为处理器或某其它类型的控制电路。存储器装置102越过一或多个通信信道106(举例来说,通信总线)耦合到处理器104。通信总线可包括命令、地址及/或数据信号线。通信总线可包括若干标准接口,例如(举例来说)通用串行总线(USB)接口。通信总线可为与如所属领域的技术人员已知的许多硬盘驱动器(举例来说,SATA、PATA)一起使用的标准接口。存储器装置102、存储器存取装置104与通信总线106一起形成电子系统100的部分。
存储器装置102进一步包括存储器阵列110,例如(举例来说)包括存储器单元阵列。存储器阵列控制电路112协助在存储器阵列110上执行存储器装置操作。处理器104可经由通信总线将一或多个命令传送到存储器装置102以对存储器阵列110执行操作,例如读、写(举例来说,编程)及/或擦除操作。这些操作有时被称为前台操作,这是由于(举例来说)可响应于从处理器104接收的特定命令而执行所述操作。
存储器阵列110可包括一或多种类型的存储器,例如(举例来说)闪速存储器单元阵列。闪速存储器通常利用称为NOR闪存与NAND闪存的两种基础架构中的一者。名称来源于用以读取装置的逻辑。在NOR闪存架构中,存储器单元的逻辑列与耦合到数据线(例如通常被称为数字(举例来说,位)线的线)的每一存储器单元平行耦合。在NAND闪存架构中,存储器单元的列仅与耦合到位线的列的第一存储器单元串联耦合。包括存储器单元的行的存储器单元的控制栅极耦合到存取线,例如被称为字线的存取线。
在典型的闪速存储器阵列中,每一经选择的存储器单元被个别地被编程为单电平单元(SLC)或多电平单元(MLC)。可使用单元的阈值电压(Vt)作为存储于所述单元中的数据的指示。举例来说,在SLC中,2.5V的Vt可指示经编程的单元,而-0.5V的Vt可指示经擦除的单元。MLC使用各自指示不同状态的多个Vt范围。多电平单元可通过将位模式指派到特定Vt范围来利用传统电荷存储单元的模拟性质。
编程闪速存储器单元通常涉及将一或多个编程脉冲(Vpgm)施加到耦合到一或多个经选择的存储器单元的经选择的字线。典型的编程脉冲(Vpgm)在15V或接近15V处开始且趋向于随着每一编程脉冲施加而在量值方面增加。在编程操作期间,电位,例如接地电位(举例来说,0V)被施加到阵列的衬底,且因此被施加到经选择的存储器单元的沟道。此导致电荷从沟道转移到经选择用于编程的存储器单元的电荷存储结构。举例来说,通常通过直接注入或从沟道到浮动栅极的电子的福勒诺德海姆隧道效应使浮动栅极充电,从而导致在编程状态中Vt通常大于零。对存储器阵列的一或多个经选择的存储器单元执行感测(举例来说,读)操作通常需要将电压施加到经选择的存储器单元,所述电压通常在Vcc或低于Vcc,例如(举例来说)3V。
存储器阵列110可包括相变存储器(PCM)阵列。PCM为可提供非易失性存储但有潜力具有与闪速存储器相比相对更快的操作的电阻式存储器技术。如名称暗示般,PCM使用当材料发生相变时材料的电阻的改变来以非易失性方式存储数据。举例来说,不同元素的合金可从具有低电阻的晶相改变为具有高电阻的非晶相。当材料展现多种明显不同的电阻时,每一不同电阻可被指派一相应的数据值(举例来说,00、01、10、11)。
存储器阵列110可包括其它类型的存储器,例如(举例来说)动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、电阻式随机存取存储器(RRAM)、双倍数据速率存储器(DDR)及/或低功耗双倍数据速率存储器(LPDDR)。存储器装置102可包括一种以上的存储器类型,例如(举例来说)易失性与非易失性存储器的组合。
图2说明在存储器装置中执行的若干存储器操作(例如包含前台及后台操作)的时序图200。针对由图2说明的实例,可在线202处指示被指定为供存储器装置执行完整前台操作(例如擦除操作)的时间帧。时间帧可包括被指派(举例来说,被指派作为时序要求)到特定前台操作的时间帧。存储器装置应在例如(举例来说)已由处理器命令存储器装置执行操作之后在时间帧内完成特定的前台操作(举例来说,满足时序要求)。条204说明用以在存储器装置(例如(举例来说)闪速存储器装置)中执行擦除操作的持续时间。从图2可见,执行擦除操作204的时间在时间帧202内。条206说明用于执行擦除操作(例如由条204指示)及另一操作(例如特定的后台操作)的持续时间。可看出,如由条206表示的擦除操作及特定后台操作的持续时间在时间帧202内。
条208说明完成擦除操作及执行不同于由条206表示的后台操作的后台操作(例如(举例来说)在存储器装置中执行擦除操作及损耗均衡操作)的持续时间。从条208可见,擦除操作及完整损耗均衡操作的执行时间已超过时间帧202。用以执行对应于条208的擦除操作的时间可由线210指示,而线210与212之间的时间可对应于(举例来说)用以完成损耗均衡操作的时间。因此,执行擦除操作及损耗均衡操作212的持续时间违反存储器装置的时序要求。
图3说明根据本发明的各种实施例的表示分段操作(举例来说,分段后台操作)302的简化框图300。如上文论述,执行多个操作(例如与图2的条208相关联的擦除操作及损耗均衡操作)违反了存储器装置的时序要求。图3说明操作302(例如后台操作)可被划分(举例来说,分段)成数目N个段。举例来说,可确定损耗均衡操作被分段成若干部分,例如划分成段SEGMENT1304到SEGMENTN310。每一段的长度被确定,其中可随着另一操作(例如擦除操作)一起执行分段操作中的至少一个段,且不会违反存储器装置的特定时序要求。
图4说明根据本发明的各种实施例的可如何确定一或多个操作(举例来说,后台操作)的段长度的图形表示400。针对不同的存储器操作(例如读、写及/或擦除操作)的时间帧可被定义(举例来说,定义为时序要求)且针对存储器装置而不同。用以完成操作的时间帧406(举例来说,最大持续时间)可包括如在线T0404与T2406之间指示的持续时间402(举例来说,时间帧)。用以执行操作(例如擦除操作)的时间帧被确定且由线T0404与T1410之间的箭头408指示。
可通过各种方法确定由箭头408表示的擦除操作持续时间。擦除操作的持续时间408可包括(举例来说)预估或平均持续时间。可通过在代表性存储器装置中执行若干擦除操作且测量用以完成每一擦除操作的持续时间来实验性地确定擦除操作持续时间408。举例来说,可将最坏情况测量作为擦除操作持续时间408。替代地,可使用经测量的擦除时间的平均或某其它类型的算法来确定擦除操作持续时间408。擦除操作持续时间确定可进一步取决于各种因素,例如(举例来说)经受擦除操作的存储器的量。
在线T1410处指示的经确定的擦除操作持续时间408(举例来说,T1到T0)与在线T2406处指示的时间帧之间的差异可称为段裕量412(举例来说,T2到T1)。根据本发明的一或多个实施例,用于分段特定后台操作的段长度(举例来说,最大段长度)可被指派为小于或等于段裕量412。因此,可在不违反对应于前台操作的时序要求的情况下,在前台操作的一或多个裕量(举例来说,段裕量412)内执行(举例来说,执行)各种后台操作的一或多个段。
根据一或多个实施例,可希望在存储器装置中利用擦除操作410的完成与用于擦除操作406的时间帧的期满之间的时间(例如(举例来说)如图4中展示的(T2-T1))执行损耗均衡操作。损耗均衡操作可被分段成多个段,其中经分段的损耗均衡操作中的每一段长度小于或等于图4中展示的段裕量412。因此,可在多个擦除操作中的每一者之后执行分段的损耗均衡操作中的一或多个段直到分段损耗均衡操作中的每一段完成且不会违反存储器装置的时序要求。
图5说明根据本发明的各种实施例的随着包括SEGMENT1512到SEGMENT4518的经分段后台操作一起执行的多个前台操作MEMORYOP1504到MEMORYOP4510的时序图。前台操作504到510可包括相同类型的操作或可包括不同操作的组合。前台操作504到510可包括(举例来说)读、写及/或擦除操作。前台操作504到510中的一或多者可包括(例如)作为复位序列的部分(举例来说,例如在将电力施加到存储器装置之后)执行的操作。线502表示对应于一或多个前台操作的存储器装置时间帧。尽管在图5中展示一个时间帧502,但是不同的时间帧可与根据本发明的各种实施例的不同前台操作相关联。举例来说,对应于擦除操作的时间帧可与对应于读及/或写入操作的时间帧不同。
可响应于从(举例来说)耦合到存储器装置的处理器接收的对应命令CMD1520到CMD4526在存储器装置中起始每一前台操作504到510。尽管在相同的尺度(举例来说,时间尺度)上展示前台操作504到510,但可执行每一操作且对应时间帧的期满可在起始下一操作之前发生。举例来说,处理器可将CMD1520传送到前台操作MEMORYOP1504完成的存储器装置,且在对应时间帧502的期满之后,处理器传送CMD2522以起始(举例来说)操作MEMORYOP2506。因此,处理器在对应于先前传送的命令的时间帧502的期满之后(举例来说,随后)发送下一命令。图5中展示的时间尺度希望是说明的而并非限制的。
根据一或多个实施例,MEMORYOP1504到MEMOEYOP4510可表示在存储器装置中执行的四个擦除操作。耦合到存储器装置的处理器可将第一擦除命令CMD1520传送到存储器装置以执行第一擦除操作MEMORYOP1504。在对应于第一擦除操作504的时间帧502期满时,处理器可将第二擦除命令CMD2522传送到存储器装置以执行第二擦除操作506,等等。各种实施例利用完成前台操作与对应时间帧502的期满之间的时间,例如(举例来说)由箭头530指示。一或多个操作段可在这些剩余时序裕量530内执行,且因此协助减少存储器装置中的时序要求违反。
举例来说,可希望除了在存储器装置中执行擦除操作之外还执行损耗均衡操作。如上文关于图2所论述,伴随完整的损耗均衡操作一起执行擦除操作将违反存储器装置的擦除时序要求。各种实施例协助分段后台操作(例如如上文关于图3所论述的损耗均衡操作)以避免违反存储器装置的一或多个时序要求。可在完成每一擦除操作与用于每一擦除操作的对应时间帧的期满之间的时序裕量中执行经分段的损耗均衡操作的这些段中的一或多者。因此,由于在前台操作(例如擦除操作)的完成与前台操作的相应时间帧的期满之间的时序裕量中执行这些段,因此可对处理器“隐藏”经分段的损耗均衡操作的执行。
可确定组成损耗均衡操作的SEGMENT1512到SEGMENT4518的长度,例如如上文关于图3及4所论述。举例来说,可确定用以完成擦除操作的最坏情况持续时间。响应于所确定的段裕量(例如上文论述及图4中展示的段裕量412)指派SEGMENT1512到SEGMENT4518的段长度。
再次参看图5,处理器可将命令CMD1520传送到根据本发明的各种实施例的经配置以协助分段一或多个操作的存储器装置。经传送的命令CMD1520可包括待在存储器装置中执行的读取命令。存储器装置可响应于所接收的命令执行读取操作(举例来说,MEMORYOP1504)。存储器装置中的控制电路可经配置以在完成读取操作MEMORYOP1504之后执行SEGMENT1512。由于SEGMENT1512的长度已被指派为小于读取操作的经确定的最坏情况持续时间,所以可在时间帧502的期满之前执行SEGMENT1512。在与MEMORYOP1504相关联的时间帧502的期满之后的某时间处,处理器可将CMD2522传送到存储器装置以在存储器装置中执行写入操作MEMORYOP2506。在完成写入操作MEMORYOP2506之后,存储器装置中的控制电路协助执行组成分段的损耗均衡操作的下一段SEGMENT2514。
响应于处理器传送CMD3524及CMD4526以分别起始MEMORYOP3508及MEMORYOP4510,协助执行SEGMENT3516及SEGMENT4518。CMD3524及CMD4526可包括(举例来说)读、写及/或擦除命令的组合。因此,已通过在每一操作MEMORYOP1504到MOMORYOP4510的完成与其相应的时间帧502的期满之间的时序裕量内执行段SEGMENT1512到SEGMENT4518完成根据一或多个实施例的分段的损耗均衡操作。因此,可分段及执行如果响应于完成前台操作而完全被执行则可违反存储器装置的一或多个时序要求的后台操作,以便协助减少对存储器装置的一或多个时序要求的违反。
如上文论述,可确定根据本发明的各种实施例的对应于不同操作的不同的段裕量。对应于读取操作的段裕量可与对应于(举例来说)写及/或擦除段裕量的段裕量不同。因此,可将一或多个操作划分成段,其中每一段具有小于或等于经特定确定的段裕量的长度。可在第一时间帧期间执行操作的一或多个段以便不违反特定时序要求。在另一时间帧期间(举例来说,在第一时间帧之后)可执行特定操作的一或多个剩余段。可重复此,直到已执行分段操作的每一段。此协助响应于完成前台操作且在被指派以执行前台操作的对应时间帧内执行经分段后台操作中的一或多个段,以便减少在存储器装置中发生时序要求违反。因此,根据一或多个实施例,可在从前台操作完成之时到被指派以执行前台操作的时间帧已消逝之时的剩余时间中执行一或多个段。应注意,各种实施例并非限于分段损耗均衡操作。可分段其它操作(例如前台及/或后台操作)。各种实施例并非限于仅在擦除操作之后执行组成分段操作的一或多个段。
根据本发明的各种实施例提供状态追踪器(举例来说,非易失性状态追踪器)以协助维持每一分段操作的多个段中的每一段的状态。如通过实例说明,存储器装置可经历可中断组成根据本发明的各种实施例的分段操作的一或多个段的执行的事件。存储器装置的复位可发生,例如(举例来说)作为在存储器装置中发生的系统复位或电力循环事件的部分。在这些事件中的一者(例如(举例来说)系统复位)期间,损耗均衡操作可遭到损坏。在没有非易失性状态追踪器的情况下,多个段的执行状态(例如哪些段可能已起始、部分执行或完成)可在(举例来说)中断存储器装置的操作的事件中丢失。
图6说明根据本发明的实施例的分段操作(举例来说,多段操作)602及对应的非易失性状态追踪器604的图形表示。状态追踪器604经布置以存储多个状态STATE1到STATEN,其中每一状态(举例来说,状态值)使606与对应多段(举例来说,多段)操作602中的特定段相对应。包括状态值的状态追踪器604可被存储于存储器装置的存储器的位置中,例如(举例来说)存储于非易失性存储器位置中。状态追踪器604的每一状态(例如)STATE1到STATEN可包括对应于对应的多段操作602的段的单一位(举例来说,里程碑位)。特定位值可与对应的操作段的特定状态相关联。举例来说,位值“0”可指示目前尚未完成的操作段,而位值“1”可指示已完成的操作段,或者(举例来说)位值“0”可指示目前已完成的操作段,而位值“1”可指示尚未完成的操作段。根据一或多个实施例,状态追踪器604的每一状态可包括指示对应操作段的一或多个状态的多个位。举例来说,根据本发明的各种实施例,状态值可包括对应于‘段未起始状态’、‘段已起始状态’或‘段完成状态’的值。存储状态追踪器的存储器位置的非易失性性质协助保持状态追踪器的每一状态值,(举例来说)即使是在存储器装置断电时也是如此。
根据一或多个实施例的存储器装置可包括协助在存储器装置中进行逻辑到物理地址转换(有时也称为逻辑到物理地址映射)的地址重新映射单元。一对一映射装置可被认为包括对应于(举例来说)存储器的一个逻辑扇区的一个存储器物理扇区。为了防止损坏存储于存储器装置中的一或多个状态追踪器,对应于存储状态追踪器的一或多个物理地址的一或多个逻辑地址(举例来说,逻辑地址的范围)可被阻止由除了经配置以管理每一状态追踪器的存储器装置控制电路之外的其它装置存取。因此,一或多个实施例协助管理对映射到物理地址(其经配置以存储对应于一或多个多段操作的一或多个状态追踪器)的一或多个逻辑地址的存取,例如允许或阻止存取。举例来说,存储器装置的控制电路可能可存取存储器中的存储状态追踪器的物理地址,但耦合到存储器装置的处理器可能不被允许存取。
图7说明根据本发明的各种实施例的执行多段操作的至少一部分及更新对应状态追踪器(举例来说,非易失性状态追踪器)的流程图700。存储器装置的控制电路可确定706是否要在另一操作702(例如前台操作)之后在对应于(举例来说,经指派以执行)所述前台操作的时间内服务于多段操作。前台操作可被执行702(例如(举例来说)如上文关于图5论述的所执行的前台操作504到510)。
可由存储器装置的控制电路响应于各种事件做出服务于多段操作的确定706。可响应于(例如)存储器装置的电力循环之后的存储器装置的复位做出确定。可响应于(例如)从处理器接收的在存储器装置中执行特定前台操作702的命令做出确定706。举例来说,处理器可将命令传送到存储器装置以在存储器装置中执行前台操作702(举例来说,擦除操作)。如果一或多个分段后台操作段的段长度小于或等于对应于待执行的擦除操作的段裕量(例如上文关于图4所论述),那么控制电路可能做出确定706。如果确定在用于擦除操作的时间帧内存在执行擦除操作与至少一个操作段两者的充足裕量,那么控制电路可能做出确定以伴随擦除操作一起执行708至少一个操作段。如果确定不存在执行特定操作段的充足裕量(举例来说,执行前台擦除操作的结束与经指派以执行擦除操作的时间帧的结束之间的时间不充足),那么控制电路可能做出确定以禁止在用于擦除操作的时间帧内执行704一或多个段操作的段。在接收到来自处理器的在存储器装置中执行前台操作702的另一命令时,控制电路可重复进行关于是伴随待执行的下一前台操作执行操作段708还是不执行操作段704的确定706。
在确定服务于多段操作及执行操作段708时,控制电路读取710对应于待服务的多段操作的段的状态追踪器的一或多个状态。状态追踪器604的状态指示待服务的多段操作的每一段的状态。举例来说,组成对应状态追踪器的状态的一或多个状态位(例如图6中展示的604)经读取以确定状态追踪器的状态。可响应于对多段操作712的状态的确定执行714多段操作的特定段。响应于执行多段操作的段714更新716状态追踪器。可通过在存储根据本发明的一或多个实施例的状态追踪器的存储器位置中执行写入操作来更新716状态追踪器。可重复由图7说明的方法(举例来说,702到716)直到已完成特定多段后台操作。举例来说,可将存储器装置的存储器阵列的特定存储器块识别用于损耗均衡。根据各种实施例,可如关于图7论述地执行组成多段损耗均衡操作的段,直到已在存储器的全部经识别的块上执行完整的损耗均衡操作。此与存储器装置中的有时称为挂起操作的操作形成对照。挂起操作仅(例如)响应于在存储器装置中发生的中断暂停操作,所述操作可在稍后时间处恢复。如果事件(例如复位)发生于存储器装置中,则被挂起的操作的证据将会丢失。
根据各种实施例,可响应于在对应于经执行的前台操作702的段裕量内可执行多少个段将由图7说明的方法的一部分(举例来说,706到716)重复若干次迭代。举例来说,控制电路可确定在前台操作702的结束与经指派以执行前台操作的时间帧的结束之间存在的充足的裕量以便在相同的段裕量内执行多个段。根据一或多个实施例,存储器装置的计时电路可协助确定段裕量(举例来说,前台操作的结束与经指派以执行前台操作的时间帧的结束之间的剩余时间)以确定是否可在完成前台操作之后且在经指派以执行前台操作的时间帧的结束之前或同时执行一或多个段。
图8为根据本发明的一或多个实施例的具有至少一个设备(例如存储器装置800)的电子系统的功能框图。如本文中使用,“设备”可指代(但不限于)(举例来说)阵列、电路、一或多个装置、一或多个半导体裸片、一或多个模块及/或一或多个系统。图8中说明的存储器装置800耦合到存储器存取装置,例如处理器810。处理器810可为微处理器或某其它类型的控制电路。存储器装置800及处理器810形成电子系统820的部分。存储器装置800已被简化以将焦点放在在对理解本发明的各种实施例有用的存储器装置的特征上。
存储器装置800包含可被逻辑地布置到多行及多列中的一或多个存储器阵列830。一或多个存储器阵列830可包括2D及/或3D存储器阵列。存储器阵列830可包含驻留在作为存储器装置800的部分的单一裸片或多个裸片上的存储器单元的多个条(bank)及块。存储器阵列830可包括SLC及/或MLC存储器。存储器阵列830还可为自适应的以将不同密度(举例来说,MLC(四电平)及MLC(八电平))的数据存储在(举例来说)每一存储器单元中。
存储器阵列830可包括存储器,例如闪速存储器及/或PCM存储器。存储器阵列830可包括其它类型的存储器,例如(举例来说)动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、电阻式随机存取存储器(RRAM)、双倍数据速率存储器(DDR)及/或低功耗双倍数据速率存储器(LPDDR)。存储器装置800可包括一种以上的存储器类型,例如易失性及非易失性存储器的组合。
根据一或多个实施例的对应于多段操作的状态追踪器832可被存储于存储器阵列830中的非易失性位置中。状态追踪器832可包括若干位置834以存储状态STATE1到STATEN,其中每一状态对应于多段操作的特定段,例如(举例来说)上文关于图6所描述。为了减小损坏状态追踪器832的状态值的风险,根据本发明的各种实施例,对应于状态追踪器位置的一或多个逻辑地址可能被阻止由除存储器装置800的控制电路870以外的装置存取。
存储器装置800通过使用感测装置(例如感测/数据高速缓存电路848)感测存储器阵列的列中的电压或电流变化来读取存储器阵列830中的数据。在至少一个实施例中,感测/数据高速缓存电路848经耦合以读取及锁存来自存储器阵列830的一行数据。感测/数据高速缓存电路848可包括驱动器电路以(举例来说)将位线偏置到各种电位。针对与处理器810通过通信信道(举例来说,I/O总线)862的双向通信,包含输入与输出(I/O)缓冲电路860。可通过存储器装置800与处理器810之间的I/O总线传送地址及/或数据信号。提供地址缓冲电路840以锁存从I/O电路860提供的地址信号。地址信号由行解码器844及列解码器848接收及解码以存取存储器阵列830。行解码器844可包括经配置以偏置存储器阵列830的字线的驱动器电路。提供写入/擦除电路856以将数据写入到存储器阵列830及/或从存储器阵列830擦除数据。
控制电路870至少部分经配置以协助实施本发明的各种实施例。举例来说,控制电路870可经配置以协助执行由图7说明的方法,且可包括上文关于图7论述的一或多个计时电路。控制电路870可进一步经配置以管理对存储器阵列中的物理地址的存取(例如通过阻止一或多个逻辑地址)且(举例来说)维持逻辑到物理地址转换数据结构。控制电路870可包括如上文关于图7论述的一或多个计时电路。
控制电路870可耦合(图8中未展示)到存储器装置800的元件中的一或多者。举例来说,控制电路可耦合到行解码器844且经配置以引起行解码器驱动器电路偏置存储器阵列830的特定字线。控制电路870可耦合(图8中未展示)到感测/数据高速缓存电路848且经配置以引起感测/数据高速缓存电路848偏置阵列830的特定位线。控制电路870可进一步包括一或多个寄存器电路。在一或多个实施例中,控制电路870及/或固件或其它电路可个别地、以组合形式,或以与其它元件组合的形式形成内部控制器。然而,如本文中使用,控制器无需一定包含此类组件中的任一者或所有。在一些实施例中,控制器可包括内部控制器(举例来说,位于与存储器阵列相同的裸片上)及/或外部控制器。在至少一个实施例中,控制电路870可利用状态机。
可由处理器810将控制信号及命令通过命令总线872发送(举例来说,传送)到存储器装置800。命令总线872可为(举例来说)离散信号线或可由多条信号线组成。使用通过命令信号线872发送的命令来控制存储器阵列830上的操作,包含执行数据读取、数据写入(举例来说,编程)及擦除操作。命令总线872及I/O总线862可经组合或可经部分组合以形成若干标准接口(举例来说,通信接口)878。举例来说,存储器装置800与处理器810之间的接口878可为通用串行总线(USB)接口。接口878还可为与所属领域的技术人员已知的许多硬盘驱动器(举例来说,SATA、PATA)一起使用的标准接口。
已简化图8中说明的电子系统以协助对存储器的特征的基本理解且其仅出于说明的目的。所属领域的技术人员会更详细理解非易失性存储器的内部电路及功能。
总结
已描述存储器装置中的多段操作及非易失性状态追踪器。特定来说,已论述通过分段操作及提供对应于经分段操作的非易失性状态追踪器操作存储器装置的方法。可通过分段操作及伴随存储器装置内的其它操作执行此类经分段操作来管理存储器装置操作以避免违反存储器装置的特定时序要求。
尽管本文中已说明及描述特定实施例,但所属领域的普通技术人员应了解,打算实现相同目的的任何布置可取代展示的特定实施例。本发明的许多修改将对所属领域的技术人员显而易见。因此,本申请案希望涵盖本发明的任何修改或变种。
Claims (15)
1.一种操作存储器装置的方法,所述方法包括:
在第一时间帧内执行第一存储器操作;
在完成所述第一存储器装置操作之后且在所述第一时间帧内执行第二存储器操作的第一段;
响应于执行所述第二存储器操作的所述第一段,更新对应于所述第二存储器操作的状况;
在所述第一时间帧之后的第二时间帧内执行第三存储器操作;
在完成所述第三存储器装置操作之后且在所述第二时间帧内执行所述第二存储器操作的第二段。
2.根据权利要求1所述的方法,其中响应于执行所述第二存储器操作的所述第一段更新所述状况进一步包括更新所述状况的第一部分,其中所述状况的所述第一部分对应于所述第二存储器操作的所述第一段的状态。
3.根据权利要求2所述的方法,其中所述第一段的所述状态包括对应于未起始状态、起始状态或完成状态中的一者的状态值。
4.根据权利要求2所述的方法,其进一步包括响应于执行所述第二存储器操作的所述第二段,更新对应于所述第二存储器操作的所述状况。
5.根据权利要求4所述的方法,其中响应于执行所述第二段更新所述状况进一步包括更新所述状况的第二部分,其中所述状况的所述第二部分对应于所述第二存储器操作的所述第二段的状态。
6.根据权利要求5所述的方法,其中更新所述第一状况及所述第二状况进一步包括通过将所述第一状况及所述第二状况存储到存储于所述存储器装置的存储器阵列中的非易失性状态追踪器中来更新所述第一状况及所述第二状况。
7.根据权利要求1到6中任一权利要求所述的方法,其中响应于从耦合到所述存储器装置的存储器存取装置接收的第一命令,执行所述第一操作。
8.根据权利要求7所述的方法,其中所述第一命令包括读取命令、写入命令或擦除命令中的一者。
9.根据权利要求7所述的方法,其中响应于从耦合到所述存储器装置的所述存储器存取装置接收的第二命令,执行所述第三操作。
10.根据权利要求1到6中任一权利要求所述的方法,其中在所述第一时间帧内执行所述第一存储器操作进一步包括与所述第一时间帧的开始同时起始所述第一存储器操作,且其中在所述第二时间帧内执行所述第三存储器操作进一步包括与所述第二时间帧的开始同时起始所述第三存储器操作。
11.根据权利要求1到6中任一权利要求所述的方法,其进一步包括:
将所述第二存储器操作划分成多个段。
12.根据权利要求11所述的方法,其中将所述第二存储器操作划分成多个段进一步包括:将所述第二存储器操作划分成多个段;以及确定对应于所述多个段中的每一段的相应段长度,其中段长度包括用以执行所述第二存储器操作的对应段的时间量。
13.根据权利要求11所述的方法,其进一步包括维持多个状态追踪器,每一状态追踪器对应于所述多个段中的一个相应段。
14.根据权利要求13所述的方法,其进一步包括在执行特定段之前读取对应于所述特定段的状态追踪器以确定所述特定段的状态。
15.根据权利要求12所述的方法,其进一步包括:
确定用以执行所述第一存储器操作的时间长度,且确定用以执行所述第三存储器操作的时间长度;
确定第一段裕量,其中所述第一段裕量包括用以执行所述第一存储器操作的所述时间长度的结束与所述第一时间帧的结束之间的时间;
确定第二段裕量,其中所述第二段裕量包括用以执行所述第三存储器操作的所述时间长度的结束与所述第二时间帧的结束之间的时间;
确定所述第二存储器操作的所述第一段的段长度是否小于或等于所述第一段裕量;
当所述第一段的所述段长度小于或等于所述第一段裕量时,在所述第一时间帧内执行所述第二存储器操作的所述第一段;
确定所述第二存储器操作的所述第二段的段长度是否小于或等于所述第二段裕量;以及
当所述第二段的所述段长度小于或等于所述第二段裕量时,在所述第二时间帧内执行所述第二存储器操作的所述第二段。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/930,715 | 2013-06-28 | ||
US13/930,715 US9195406B2 (en) | 2013-06-28 | 2013-06-28 | Operation management in a memory device |
PCT/US2014/043846 WO2014209986A1 (en) | 2013-06-28 | 2014-06-24 | Operation management in a memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105359112A true CN105359112A (zh) | 2016-02-24 |
CN105359112B CN105359112B (zh) | 2018-09-11 |
Family
ID=52116810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480036996.XA Active CN105359112B (zh) | 2013-06-28 | 2014-06-24 | 存储器装置中的操作管理 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9195406B2 (zh) |
EP (1) | EP3014453B1 (zh) |
KR (1) | KR101711353B1 (zh) |
CN (1) | CN105359112B (zh) |
WO (1) | WO2014209986A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150132952A (ko) * | 2014-05-19 | 2015-11-27 | 에스케이하이닉스 주식회사 | 전자 장치 |
TWI612473B (zh) * | 2017-03-22 | 2018-01-21 | 慧榮科技股份有限公司 | 垃圾回收方法以及使用該方法的裝置 |
US10521375B2 (en) | 2017-06-22 | 2019-12-31 | Macronix International Co., Ltd. | Controller for a memory system |
US10509598B2 (en) | 2018-02-15 | 2019-12-17 | Western Digital Technologies, Inc. | Method and apparatus for programming flash based storage using segmented writes |
US11137914B2 (en) | 2019-05-07 | 2021-10-05 | Western Digital Technologies, Inc. | Non-volatile storage system with hybrid command |
US11614890B2 (en) * | 2019-07-30 | 2023-03-28 | Micron Technology, Inc. | Handling of host-initiated requests in memory sub-systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156950A1 (en) * | 2005-12-30 | 2007-07-05 | Durante Richard J | Dividing a flash memory operation into phases |
CN102804160A (zh) * | 2009-06-30 | 2012-11-28 | 桑迪士克科技股份有限公司 | 用于对数据进行操作的方法和存储器器件 |
WO2012172391A1 (en) * | 2011-06-15 | 2012-12-20 | Nokia Corporation | Method and apparatus for implementing memory segment access control in a distributed memory environment |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10142658A1 (de) * | 2001-08-31 | 2003-03-27 | Infineon Technologies Ag | Flüchtiger Halbleiterspeicher und mobiles Gerät |
US20050172091A1 (en) * | 2004-01-29 | 2005-08-04 | Rotithor Hemant G. | Method and an apparatus for interleaving read data return in a packetized interconnect to memory |
EP1619584A1 (en) * | 2004-02-13 | 2006-01-25 | Jaluna SA | Memory allocation |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US20080235480A1 (en) * | 2007-03-21 | 2008-09-25 | Shai Traister | Systems for storing memory operations in a queue |
US8683213B2 (en) | 2007-10-26 | 2014-03-25 | Qualcomm Incorporated | Progressive boot for a wireless device |
US8788740B2 (en) | 2007-12-21 | 2014-07-22 | Spansion Llc | Data commit on multicycle pass complete without error |
US8060719B2 (en) * | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
US8504759B2 (en) | 2009-05-26 | 2013-08-06 | Micron Technology, Inc. | Method and devices for controlling power loss |
GB2488259A (en) * | 2009-12-11 | 2012-08-22 | Ibm | Flash memory controller |
US8054684B2 (en) | 2009-12-18 | 2011-11-08 | Sandisk Technologies Inc. | Non-volatile memory and method with atomic program sequence and write abort detection |
US8819328B2 (en) | 2010-12-30 | 2014-08-26 | Sandisk Technologies Inc. | Controller and method for performing background operations |
US9779038B2 (en) * | 2013-01-31 | 2017-10-03 | Apple Inc. | Efficient suspend-resume operation in memory devices |
-
2013
- 2013-06-28 US US13/930,715 patent/US9195406B2/en active Active
-
2014
- 2014-06-24 CN CN201480036996.XA patent/CN105359112B/zh active Active
- 2014-06-24 EP EP14817213.3A patent/EP3014453B1/en active Active
- 2014-06-24 WO PCT/US2014/043846 patent/WO2014209986A1/en active Application Filing
- 2014-06-24 KR KR1020167002111A patent/KR101711353B1/ko active IP Right Grant
-
2015
- 2015-11-17 US US14/943,113 patent/US9465539B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156950A1 (en) * | 2005-12-30 | 2007-07-05 | Durante Richard J | Dividing a flash memory operation into phases |
CN102804160A (zh) * | 2009-06-30 | 2012-11-28 | 桑迪士克科技股份有限公司 | 用于对数据进行操作的方法和存储器器件 |
WO2012172391A1 (en) * | 2011-06-15 | 2012-12-20 | Nokia Corporation | Method and apparatus for implementing memory segment access control in a distributed memory environment |
Also Published As
Publication number | Publication date |
---|---|
EP3014453A4 (en) | 2017-03-01 |
KR20160025577A (ko) | 2016-03-08 |
US20160070476A1 (en) | 2016-03-10 |
EP3014453B1 (en) | 2018-06-13 |
CN105359112B (zh) | 2018-09-11 |
EP3014453A1 (en) | 2016-05-04 |
US20150006786A1 (en) | 2015-01-01 |
US9465539B2 (en) | 2016-10-11 |
KR101711353B1 (ko) | 2017-02-28 |
WO2014209986A1 (en) | 2014-12-31 |
US9195406B2 (en) | 2015-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105359112A (zh) | 存储器装置中的操作管理 | |
CN108932175B (zh) | 固态储存装置的控制方法 | |
CN112148209A (zh) | 存储器系统、存储器控制器及其操作方法 | |
KR20210079549A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
US11315650B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11216208B1 (en) | Memory system, memory controller, and operation method of memory system | |
US11544002B2 (en) | Memory system, memory controller and operating method thereof | |
US20230325273A1 (en) | Managing error-handling flows in memory devices | |
KR20210101785A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
US20240071440A1 (en) | Determining read voltage offset in memory devices | |
US11307942B2 (en) | Memory system, memory controller and method for operating memory controller | |
US10978161B2 (en) | Memory system, memory controller and memory device | |
KR20230049858A (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
KR20210071314A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
US11561853B2 (en) | Memory system and memory controller determining a magnitude of a power supplied to the memory controller when error has occurred in target data | |
US11709610B2 (en) | Memory system, memory controller and operating method | |
US11532373B2 (en) | Managing error-handling flows in memory devices | |
US20200394074A1 (en) | Memory system, memory controller and method for operating memory controller | |
KR20220144102A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20230094622A (ko) | 슈퍼 메모리 블록의 프로그램 상태를 기초로 타깃 동작을 실행하는 메모리 시스템 및 그 방법 | |
KR20230034524A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220130409A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20230036680A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20230068712A (ko) | 메모리 시스템의 성능 최적화 장치 및 그 방법 | |
KR20220025401A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |