CN111989646A - 用于计数器更新操作的设备及方法 - Google Patents
用于计数器更新操作的设备及方法 Download PDFInfo
- Publication number
- CN111989646A CN111989646A CN201980026839.3A CN201980026839A CN111989646A CN 111989646 A CN111989646 A CN 111989646A CN 201980026839 A CN201980026839 A CN 201980026839A CN 111989646 A CN111989646 A CN 111989646A
- Authority
- CN
- China
- Prior art keywords
- memory
- counter
- commands
- memory cells
- system controller
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 165
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000002093 peripheral effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 239000000306 component Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 238000005192 partition Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 7
- 239000008358 core component Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 150000004770 chalcogenides Chemical class 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 125000000524 functional group Chemical group 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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/0658—Controller construction arrangements
-
- 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/1668—Details of memory controller
-
- 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
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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
- G06F3/0637—Permissions
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0033—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0035—Evaluating degradation, retention or wearout, e.g. by counting writing cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7207—Details relating to flash memory management management of metadata or control data
-
- 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
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0007—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
- G11C2013/0076—Write operation performed depending on read result
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明包含用于计数器更新操作的设备及方法。一种实例设备包括包含受管理单元的存储器,所述受管理单元包含多个第一群组的存储器单元及第二群组的存储器单元,其中与所述受管理单元相关联的相应计数器被存储于所述第二群组的存储器单元上。所述实例设备进一步包含控制器。所述控制器包含:核心,其经配置以路由从主机接收的存储器操作请求;及数据路径,其耦合到所述核心及所述存储器。所述数据路径可经配置以响应于从所述核心路由的所述存储器操作请求的接收而向所述存储器发出与所述路由存储器操作请求相关联的多个命令以对所述多个第一群组的存储器单元执行对应存储器操作。所述相应计数器可独立于所述多个命令而更新。
Description
技术领域
本发明大体上涉及半导体存储器及方法,且更特定来说,涉及用于计数器更新操作的设备及方法。
背景技术
存储器装置常被提供为计算机或其它电子装置中的内部半导体集成电路及/或外部可移除装置。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。易失性存储器需要电力来维持其数据,且可包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)等。非易失性存储器可通过在未供电时留存存储数据而提供永久性数据,且可包含NAND闪存、NOR闪存、只读存储器(ROM)及电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁性随机存取存储器(MRAM))等。
存储器装置可作为易失性存储器及非易失性存储器用于需要高存储器密度、高可靠性及低电力消耗的各种电子应用。例如,非易失性存储器可用于个人计算机、可携式记忆棒、固态磁盘驱动器(SSD)、个人数字助理(PDA)、数码相机、蜂窝式电话、可携式音乐播放器(例如,MP3播放器及影片播放器)以及其它电子装置。数据(例如程序代码、用户数据及/或系统数据(例如基本输入/输出系统(BIOS)))通常存储于非易失性存储器装置中。
可对电阻可变存储器单元设置数个状态(例如,电阻状态)中的一者。例如,单电平单元(SLC)可经编程(例如,写入)到两个状态(例如,逻辑1或0)中的一者,这可取决于所述单元是否经编程到高于或低于特定电平的电阻。作为额外实例,各种电阻可变存储器单元可经编程到对应于相应数字模式(例如,10、01、00、11、111、101、100、1010、1111、0101、0001等)的多个不同状态中的一者。此类单元可被称为多状态单元、多数字单元及/或多电平单元(MLC)。
例如,可通过感测响应于所施加讯问电压通过存储器单元的电流来确定(例如,读取)所述单元的状态。基于单元的电压电平改变的所述经感测电流可指示单元的状态(例如,通过单元存储的二进制数据)。然而,单元的所述电压电平可归因于各种原因而非所期望地改变,这可导致存储器单元的错误感测。
附图说明
图1是根据本发明的数个实施例的呈包含能够执行计数器更新操作的存储器系统的计算系统的形式的设备的框图。
图2说明根据本发明的数个实施例的具有数个物理页的实例物理块的图。
图3A说明与更新写入操作所相关联的计数器相关联的时序图。
图3B说明与更新读取操作所相关联的计数器相关联的时序图。
图3C说明根据本发明的数个实施例的与执行计数器更新操作相关联的时序图。
图4说明根据本发明的数个实施例的与在读取操作期间执行实例计数器操作相关联的图。
图5说明根据本发明的数个实施例的与在写入操作期间执行实例计数器更新操作相关联的图。
具体实施方式
本发明包含用于执行计数器更新操作的设备及方法。实例设备包括包含受管理单元的存储器,所述受管理单元包含多个第一群组的存储器单元及第二群组的存储器单元,其中与所述受管理单元相关联的相应计数器被存储于所述第二群组的存储器单元上。所述实例设备进一步包含控制器。所述控制器包含:核心,其经配置以路由从主机接收的存储器操作请求;及数据路径,其耦合到所述核心及所述存储器。所述数据路径可经配置以响应于从所述核心路由的所述存储器操作请求的接收而向所述存储器发出与所述路由存储器操作请求相关联的多个命令以对所述多个第一群组的存储器单元执行对应存储器操作。所述相应计数器可独立于所述多个命令而更新。
数个计数器(例如,读取/写入计数器)可用于确定何时“刷新”单元(例如,将单元设置回其目标状态)。例如,施加到单元的读取信号及/或写入信号可非所期望地变更(例如,读取/写入干扰)特定单元(例如,对其施加所述信号)以及所述相邻单元(例如,邻近于所述特定单元的单元)的状态,这导致所述单元的逻辑状态的错误确定。因此,所述数个计数器可用于识别信号对(例如)相邻单元的影响程度,且可确定何时刷新所述相邻单元以正确地感测所述单元的逻辑状态。
本发明的实施例相较于先前方法提供各种益处,例如减少与能够更新计数器(例如,读取/写入计数器)的存储器装置相关联的延时。例如,与更新计数器相关联的各种先前方法包含:从存储器单元阵列检索计数器;在不同于包含所述存储器单元阵列的装置的装置处更新所述经检索计数器;及/或将所述经检索的计数器存储回到其中先前存储所述计数器的所述存储器单元阵列。此方法需要在相关联装置间持续传送信息(例如,传送数据),这可导致与传送信息相关联的非所要延时及/或可因需要若干非所要单元感测/编程(例如,此将进一步导致降低的数据可靠性及/或数据完整性)而在能量消耗方面是昂贵的。相比来说,如相较于先前方法,本发明的数个实施例可以减少与传送信息(例如,读取/写入计数器)相关联的延时及降低能量消耗的方式提供计数器更新操作。
在本发明的以下详细描述中,参考构成本发明的一部分的附图,且在附图中通过图解展示可如何实践本发明的一或多个实施例。这些实施例经足够详细描述以使所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不脱离本发明的范围的情况下作出过程、电及结构改变。
如本文中所使用,例如“N”及“M”的指定符(尤其关于图式中的元件符号)指示可包含如此指定的数个特定特征。还应理解,本文中所使用的术语仅出于描述特定实施例的目的,且并不意欲限制。如本文中所使用,除非上下文另有明确规定,否则单数形式“一”、“一个”及“所述”可包含单数及多个参考物两者。另外,“数个”事物(例如,数个存储器单元)可是指一或多个此类事物,而“多个”意指一个以上此类事物(例如,一个以上存储器单元)。此外,贯穿此申请案在容许意义上(例如,有可能、能够)而非在强制意义上(例如,必需)使用字词“可(can及may)”。
本文中的图遵循编号惯例,其中第一数字或前几个数字对应于图式图号且剩余数字识别图式中的元件或组件。可通过使用类似数字识别不同图之间的类似元件或组件。例如,110可指代图1中的元件“10”,且类似元件可在图3中指代为310。
序数(例如第一及第二)在本文中用于帮助使类似及/或可选择耦合的组件相互关联及/或区分类似及/或可选择耦合的组件(例如,存储器单元群组、材料等),且除非上下文另有明确规定(例如,通过使用例如相邻的术语等),否则所述序数并不用于指示所述组件之间的特定排序及/或关系。
图1是根据本发明的数个实施例的呈包含能够执行计数器更新操作的存储器系统104的计算系统100的形式的设备的框图。如本文中所使用,存储器系统104、系统控制器110或存储器装置116还可被单独视作“设备”。存储器系统104可为(例如)固态磁盘驱动器(SSD),且可包含主机接口106、系统控制器110及可用作系统104的存储器的存储器装置116。
系统控制器110可经由主机接口106耦合到主机102且经由存储器接口108耦合到存储器装置116,且可用于在存储器系统104与主机102之间传送数据。主机接口106可呈标准化接口的形式。例如,在存储器系统104用于计算系统100中的数据存储时,主机接口106可为串行进阶附接技术(SATA)、外围组件快速互连(PCIe)或通用串行总线(USB)以及其它连接器及接口。一般来说,经由主机接口106彼此耦合的存储器系统104及主机102可各自具有用于经由主机接口106传递控制、地址、数据及其它信号的兼容接收器。类似地,系统控制器110及存储器装置116可各自具有与存储器接口108兼容的接收器。存储器接口108可支持各种标准及/或遵守各种接口类型(例如,DDR、ONFI等)。
主机102可包含系统主板及/或背板且可包含数个存储器存取装置(例如,数个处理器)。主机102还可为存储器控制器,例如在存储器系统104是存储器装置(例如,具有裸片上控制器的存储器装置)的情况下。作为实例,假定计算系统100是蜂窝式电话(例如,智能电话),那么主机102可为单芯片系统(SoC)且存储器系统104可为嵌入式多媒体控制器(eMMC)及/或通用快闪存储装置(UFS)。
系统控制器110可与存储器装置116(在一些实施例中其可为单裸片及/或数个裸片上的数个存储器阵列)通信以控制数据读取、写入及擦除操作以及其它操作。系统控制器110可耦合到存储器接口108,所述存储器接口108将系统控制器110耦合到存储器装置116。例如,系统控制器110可包含呈硬件及/或固件的形式的数个组件(例如,一或多个集成电路)及/或用于控制对存储器装置116的存取及/或用于促进主机102与存储器装置116之间的数据传送的软件。
在一些实施例中,系统控制器110可为非易失性存储器快速(NVMe)控制器。例如,系统控制器110可经配置以根据逻辑设备接口规范(例如,协议)(例如NVMe规范或非易失性存储器主机控制器接口规范)操作。因此,在一些实施例中,系统控制器110可经配置以根据NVMe协议处理命令。
系统控制器110可包含核心组件112及数据路径组件114。核心组件112可经配置以执行各种功能,例如从主机102接收存储器操作请求(例如,对存储器装置116执行操作的请求)及将所述请求路由到数据路径组件114。数据路径组件114可经配置以响应于所述路由请求的接收而产生与所述路由请求相关联的命令且向存储器装置116发出所述命令。
在一些实施例中,数据路径组件114可用作可经配置以执行各种功能(例如协调对存储器装置116执行的命令)的仲裁器组件。在一些实施例中,数据路径组件114可用作序列发生器组件,所述序列发生器组件可经配置以执行各种功能,例如定序待向存储器装置116发出的命令,使得对应于所述命令的操作可在存储器装置116内如由数据路径组件114定序那样执行。
存储器装置116可包含数个存储器阵列(未展示)及控制逻辑118(例如,存储器控制器)。控制逻辑118可定位于存储器装置116内部且可经由存储器接口108从系统控制器110接收命令(例如,写入命令、读取命令、刷新命令等)。如本文中进一步描述,控制逻辑118可经配置以独立于主机102(例如,无需来自例如主机102的外部控制器的协助)管理(例如,更新)存储于存储器装置116中的计数器。换句话说,尽管系统控制器110不会引起控制逻辑118执行计数器更新操作,但控制逻辑118可经配置以执行计数器更新操作。因此,控制逻辑118可经配置以在无需将计数器传送回到系统控制器110的情况下更新计数器。
在一些实施例中,系统控制器110可不引起控制逻辑118执行计数器更新操作,除非由控制逻辑118请求。例如,控制逻辑118可独立于系统控制器110(例如,不存在从系统控制器110发出的指示)通过例如使相应计数器值递增/递减直到达到阈值而执行计数器更新操作。当达到所述阈值时,控制逻辑118可请求来自系统控制器110的指示。在此事件中,响应于来自控制逻辑118的请求,系统控制器110可发出与在达到阈值时要做什么(例如,递增、递减及/或复位)相关联的指示。因而,在一些实施例中,系统控制器110可通过将一部分负担分配给控制逻辑118而卸下执行计数器更新操作的负担。
在数个实施例中,更新计数器(例如,通过控制逻辑118)可包含:使计数器的值递增例如直到达到阈值;例如,在刷新存储器单元的状态时使计数器的值递减/复位;及/或在计数器中的任一者达到阈值时警示(例如,中断信号)主机102及/或系统控制器110。在一些实施例中,可在每次读取对应存储器单元时使读取计数器递增。类似地,可在每次编程(例如,写入)对应存储器单元时使写入计数器递增。术语“编程”及“写入”在本文中可互换使用且可具有相同含义,视上下文而定。
在一些实施例中,计数器(例如,计数器的至少一部分)可具有多个阈值。例如,特定计数器(例如,读取及/或写入)可包含两个不同阈值,且所述两个不同阈值中的每一者可用于进一步定义(例如)在达到每一阈值时存储器装置116可采取什么行动方针。作为实例,存储器装置116可经配置以在满足用于特定计数器的阈值(例如,较低)时向主机发送警示且进一步经配置以在满足另一阈值(例如,较高)时复位(例如,饱和)特定计数器。术语“复位”及“饱和”在本文中可互换使用且可具有相同含义,视上下文而定。
在一些实施例中,复位值可包含将值调整到初始值(例如,0及/或例如X的预定值)。例如,当特定值达到阈值时,可将所述特定值调整(例如,复位)到所述初始值,使得所述特定值可在不超过所述阈值的情况下再次递增/递减。可在每次满足阈值时复位值(例如,重新初始化)。
在一些实施例中,不同类型的计数器可用于计算系统100。例如,所述不同类型的计数器可包含可尤其用于高速缓存,使得其可比将读取计数器用于主存储器(例如,存储器装置116)的情况更频繁地复位。例如,不同类型的计数器可包含两个不同写入计数器,使得所述两个不同写入计数器中的一者可用于存储器操作(例如,读取/写入操作)且所述两个不同写入计数器中的另一者可用于损耗平衡操作。
在数个实施例中,存储器装置116的存储器阵列可包括非易失性存储器单元。例如,存储器阵列的存储器单元可为电阻可变存储器单元,例如PCRAM及/或RRAM。作为实例,存储器单元可为相变存储器(PCM)单元,所述相变存储器(PCM)单元可为包含用作单元的存储元件及切换元件两者的单一硫属化物材料及/或具有用作单元的切换元件的第一硫属化物材料及用作单元的存储元件的第二硫属化物的材料堆叠的基于硫属化物的存储器单元。然而,实施例并不受限于此。例如,存储器装置116的存储器阵列可包括NAND闪存单元及/或NOR闪存单元等。
存储器单元(例如,电阻可变存储器单元)可为可重新写入的。例如,特定数据模式可经编程到电阻可变存储器单元群组而不必擦除先前存储于所述群组中的数据。
在操作中,可将数据作为(例如)数据块写入到存储器装置116及/或从存储器装置116读取。因而,数据块可被称为存储器系统104的数据传送大小。可在被称为区段(例如,主机区段)的数据片段中往返于主机(例如,主机102)发送数据。因而,数据区段可被称为主机的数据传送大小。在数个实施例中,存储器装置116可将受管理单元存储于存储器单元(例如,电阻可变存储器单元)的相应块中。如本文中所使用,受管理单元可被称为一起被编程及/或读取或作为功能群组的数个存储器单元。
受管理单元可对应于存储器系统(例如,存储器系统104)的逻辑块大小(例如,例如主机102的主机的数据传送大小)及/或数据管理大小(例如,其可为4KB)。作为实例,受管理单元可映射(例如,经由系统控制器110)到存储器单元的物理块。然而,实施例并不受限于此。例如,当存储用户数据及额外耗用数据(例如,告知存储于存储器单元群组内的其它数据的数据)的存储器单元群组对应于超过逻辑块大小时,受管理单元可对应于超过逻辑块大小。作为实例,额外耗用数据可包含数据,例如元数据、错误校正码(ECC)数据、逻辑块地址(LBA)数据以及与对受管理单元(例如,物理块220)执行的存储器操作相关联的计数器(例如,读取/写入计数器)。
在数个实施例中,受管理单元可包含不同类型的存储器单元群组。例如,所述受管理单元可包含多个第一群组的存储器单元及第二群组的存储器单元,其中与受管理单元相关联的计数器可存储于所述第二群组的存储器单元上。如本文中所描述,“存储器单元群组”可对应于存储器单元的页。
图2说明根据本发明的数个实施例的具有数个物理页222-0(页0)、222-1(页1)、…、222-N(页N)的实例物理块220的图。在数个实施例中,实例物理块220可为如结合图1所描述的受管理单元。例如,单元的物理块可是指一起被编程及/或读取或作为功能群组的数个存储器单元。
块220可包含数页222-0(页0)、222-1(页1)、…、222-N(页N)(例如,统称为页222)。作为实例,物理页222的数目可为128页,其中每一页对应于32字节页大小。因而,块220还可对应于4KB字节块大小。然而,实施例并不受限于此。例如,物理页222的数目可为516页、1024页等,且块220的块大小可基于每一页(例如,页220)的页大小及块220包含的页数而改变。
在一些实施例中,物理页222-0、…、222-(N-1)可用于存储用户数据,且物理页222-N可用于存储额外耗用数据,例如元数据、错误校正码(ECC)数据、逻辑块地址(LBA)数据以及与对受管理单元(例如,物理块220)执行的存储器操作相关联的计数器(例如,读取/写入计数器)。在一些实施例中,一个以上物理页(例如,物理页222-N)可经分配以存储额外耗用数据。
物理页222-N是在图2中更详细说明。如图2中所说明,物理页222-N包含可用于存储不同类型的数据的第一部分224及第二部分226。在一些实施例中,存储于第一部分224上的数据可为包含完整性数据之元数据,例如错误数据(例如,错误检测及/或校正码数据)。在一些实施例中,存储于第一部分224上的数据可为可由系统控制器110使用的与特定物理块有关的信息(例如,对应于所述特定物理块的逻辑块地址)。
物理页222-N的第二部分226可包含计数器,例如读取计数器及/或写入计数器。如本文中所使用,读取计数器可被称为值,所述值(例如)相对于对受管理单元执行的读取操作的数量指示对受管理单元(例如,物理块220)执行的读取操作的数量。如本文中所使用,写入计数器可被称为值,所述值(例如)相对于对受管理单元执行的写入操作的数量指示对受管理单元(例如,物理块220)执行的写入操作的数量。
作为实例,其中物理页222对应于32字节的页大小,存储用户数据的第一部分224可对应于30个字节,且存储计数器(例如,读取/写入计数器)的第二部分226可对应于2个字节(例如,计数器中的每一者各1个字节)。然而,实施例并不受限于此。例如,计数器的大小可改变使得,在一些实施例中,读取计数器及写入计数器可各为8位,及/或在一些实施例中,读取计数器的大小可对应于16位,而写入计数器的大小可对应于32位。
如相较于具有对应于512KB、1.024MB等的块大小的块的所述方法,具有针对受管理单元的相对较小大小(例如,物理块220对应于4KB的块大小)可提供例如使控制逻辑118能够管理存储于所述受管理单元中的计数器的益处。例如,控制逻辑118可归因于存储器装置116的大小/设计而在电路设计方面受限制,使得控制逻辑118的所述电路设计在一些实施例中需要相较于系统控制器110简化。因而,具有经简化电路设计的控制逻辑118可能无法管理对应于相对较大块大小(例如512KB、1.024MB等)的所述块的计数器。相比来说,本发明的实施例减小通过控制单元118管理的各自受管理单元的大小,这提供实现独立于系统控制器110的计数器管理的益处。
图3A说明与更新写入操作336所相关联的计数器相关联的时序图330。可通过系统控制器310更新(例如,管理)所述计数器,系统控制器310可为例如结合图1所描述的包含核心组件112(例如,类似于核心组件312)及数据路径组件114(例如,类似于数据路径组件314)的系统控制器110的控制器。在此实例中,写入操作336是由主机(例如,主机102)请求以对存储器装置316执行的操作。读取操作332是经执行以获得(例如,检索)待经由计数器更新操作334更新的计数器的操作。
在此实例中,在时间t1,核心312将计数器请求发送到数据路径314。例如,所述计数器请求可为用于检索(例如,读取)与物理块地址(PBA)(将对其执行写入操作336)相关联的计数器(例如,写入计数器)的请求。数据路径314产生对应于所述经接收计数器请求的命令(例如,“读取命令”),且在时间t2将所述所产生命令发送到存储器装置316。在时间t3,在数据路径314处接收从存储器装置316检索的计数器,所述数据路径314在时间t4将所述经检索计数器路由到核心312。因而,在t4之后的某一时间点,可通过核心312经由计数器更新操作334更新计数器。可经由写入操作336将所述经更新计数器存储回到存储器装置316。例如,在时间t5,核心312将写入请求(例如,执行写入操作336)发送到数据路径314,数据路径314产生对应于所述写入请求的写入命令(例如,“写入命令”),且从时间t6开始将所述所产生的写入命令发送到存储器装置316。作为实例,当将对存储器装置316的受管理单元(例如,块220)中的一者执行写入操作336时,所产生的写入命令中的每一者可被引导到受管理单元的对应页。
如图3A中所说明,当通过系统控制器310管理(例如,更新)与写入操作336相关联的计数器时,系统控制器310可能需要在将所述经更新计数器写回到存储器装置316之前获得与所述计数器相关联的信息。因此,需要执行与写入操作336分开的读取操作332以获得计数器。
图3B说明与更新读取操作342所相关联的计数器相关联的时序图340。可通过系统控制器310更新(例如,管理)所述计数器,所述系统控制器310可为例如图1中所描述的包含核心组件112(例如,类似于核心组件312)及数据路径组件114(例如,类似于数据路径组件314)的系统控制器110的控制器。在此实例中,读取操作342是由主机(例如,主机102)请求以对存储器装置316执行的操作。写入操作346是经执行以获得(例如,检索)待经由计数器更新操作344更新的计数器的操作。
在此实例中,在时间t1,核心312发送请求(例如,读取请求)以对存储器装置316(例如,存储器装置316的块)执行读取操作342。数据路径314产生对应于所述请求的命令(例如,如图3B中所说明的读取命令),且从时间t2开始将所产生命令发送到存储器装置316。
可在时间t3将(例如,如由读取命令指定)被请求读取的数据检索(例如,返回)到数据路径314。数据路径314在时间t4将所述经接收数据路由到核心312,使得核心312进一步将所述经检索数据返回到主机(例如,主机102)。经检索数据(例如,被检索到主机)可包含计数器(例如,与将对其执行写入操作346的物理块地址相关联的读取计数器)。因而,在接收计数器(例如,在系统控制器310处)之后,可通过系统控制器310在t4(例如,继在核心312处接收计数器之后)与t5(例如,在发送请求以将经更新计数器写回到存储器装置316之前)之间的某一时间更新计数器。
为将经更新计数器回写(例如,存储回)到存储器装置316,需要执行与读取操作342分开的另一操作(例如,写入操作346)。例如,在时间t5,核心312将计数器请求(例如,将经更新计数器写回到存储器装置316)发送到数据路径314,所述数据路径314产生对应于所述计数器请求的写入命令(例如,“写入命令”),且在时间t6将所述所产生的写入命令发送到存储器装置316的特定位置(例如,先前从其检索计数器的处)。
当通过控制器(例如系统控制器110)管理(例如,更新)计数器时,更新与写入操作(例如,如图3A中所说明)及读取操作(例如,如图3B中所说明)相关联的计数器可能需要与相关联的写入操作336及读取操作342分开的操作。例如,在无分开读取操作332的情况下无法更新与图3A的写入操作336相关联的计数器,这是因为系统控制器310在将所述计数器更新且写回到存储器装置316之前需要识别对应于所述计数器的值。类似地,在无分开写入操作346的情况下无法更新与图3B的读取操作342相关联的计数器,这是因为尽管可通过读取操作342读取所述计数器,但需要将经更新计数器写回到存储器装置316(这无法通过读取操作342执行)。
图3C说明根据本发明的数个实施例的与执行计数器更新操作相关联的时序图350。图3C中说明的写入操作352及读取操作354可为由主机(例如,主机102)请求的操作。可通过例如存储器装置316的控制逻辑(例如,图1的控制逻辑118)更新(例如,管理)计数器。
在此实例中,在时间t1,核心312发送请求以对存储器装置316(例如,存储器装置316的块)执行写入操作352。例如,执行所述写入操作的所述请求可为从主机(例如,主机102)接收的请求。响应于从核心312接收所述请求,数据路径314产生对应于所述请求的命令(例如,“写入命令”),且从时间t2开始将所产生命令发送到存储器装置316。作为实例,当将对存储器装置316的受管理单元(例如,块220)中的一者执行写入操作352时,所产生的写入命令中的每一者可被引导到受管理单元的对应页。
在此实例中,在时间t3,核心312发送请求以对存储器装置316(例如,存储器装置316的块)执行读取操作。例如,执行读取操作354的所述请求可为从主机(例如,主机102)接收的请求。响应于从核心312接收所述请求,数据路径314产生对应于所述请求的命令(例如,“读取命令”),且从时间t4开始将所产生命令发送到存储器装置316。作为实例,当将对存储器装置316的受管理单元(例如,块220)中的一者执行读取操作354时,所产生的读取命令中的每一者可被引导到受管理单元的对应页。可在时间t5将(例如,如由读取命令指定)被请求读取的数据检索(例如,返回)到数据路径314。数据路径314在时间t6将所述经接收数据路由到核心312,使得核心312进一步将所述经检索数据返回到主机(例如,主机102)。在数个实施例中,在时间t6从存储器装置316检索的数据可能无(例如,可能不包含)与计数器相关联的信息(例如,计数器值)。
在数个实施例中,通过数据路径314产生且向存储器装置316发出的命令可能不含引起存储器装置316(例如,控制逻辑118)更新计数器的指令。换句话说,从时间t2及t4开始发出的命令可包含引起控制逻辑118执行对应存储器操作(例如,读取操作352/写入操作354)的指令,而相同命令可能不含(例如,可能不包含)引起控制逻辑118执行计数器更新操作的指令。因此,控制逻辑118可经配置以独立于系统控制器110及/或主机102执行计数器更新操作,同时经配置以取决于经接收命令执行(例如,由主机102请求的)存储器操作。
此外,如图3C中所说明那样执行的计数器更新操作是嵌入于写入操作352及/或读取操作354内,其中其可在不具有分开读取操作(例如,例如用于写入操作336的读取操作332)及/或分开写入操作(例如,例如用于读取操作342的写入操作344)的情况下执行。又,不同于图3A及图3B中所描述的响应于来自核心312的请求(其与执行读取操作336及/或写入操作342的请求分开)执行的计数器更新操作,嵌入于对应存储器操作内的计数器操作可响应于还将触发执行所述对应存储器操作的个别请求执行。
图4说明根据本发明的数个实施例的与在读取操作期间执行计数器更新操作相关联的图450。在图4中所说明的此实例中,所述读取操作可为由主机(例如,主机102)请求以对块420(例如,块220)执行的操作。例如,可在系统控制器(例如,系统控制器110)处接收执行读取操作的请求,所述系统控制器产生对应命令(例如,通过数据路径组件114)且将所述对应命令发送到控制逻辑(例如,控制逻辑118)。
如图4中所说明,图4中展示两个不同块420-1及420-2(例如,统称为块420)。所述块中的每一者可为受管理单元且分割成数个地址空间,使得所述数个地址空间中的每一者可独立于其它地址空间加以控制。例如,块的各经分割地址空间可包含(例如,块中的每一者的)数页的一部分,使得可在相同块的数页间同时执行数个操作。例如,控制逻辑118可在执行对应于命令452-(N-1)的读取操作时起始对应于命令452-N的读取操作(例如,连同一计数器更新操作)。作为实例,(例如,块420-1的)页454-(N-2)、454-(N-1)、454-N可分别被指派给分区1、2及3,且页458-0、458-1、458-2及458-3可分别被指派给分区0、1、2及3。
块420-1可包含数页(例如,N+1页),其包含页452-(N-1)及页452-N。例如,页452-(N-1)(例如,多个第一群组的存储器单元中的一者)可包括可经由读取命令452-(N-1)读取(例如,被检索到主机102)的用户数据。例如,页452-N(例如,第二群组的存储器单元)可包括额外耗用数据连同与块420-1相关联的计数器。因此,可对页452-N执行计数器更新操作。
在图4中所说明的此实例中,可在时间t1之前循序接收包含命令452-(N-1)及452-N的读取命令452。因此,可响应于读取命令452的接收而循序起始在包含页454-(N-2)、454-(N-1)及454-N的页454上的读取操作。
在时间t1之前以及在命令452-N之前的某一时间(例如,在控制逻辑118处)接收被引导到页454-(N-1)的命令452-(N-1)。因而,响应于确定页454-(N-1)包括用户数据,控制逻辑118可通过将用户数据检索回到系统控制器110而对页454-(N-1)执行读取操作,所述系统控制器110可进一步将所述经检索用户数据返回到主机102。
在时间t1(例如,在控制逻辑118处)接收被引导到页454-N的命令452-N。因而,响应于确定页454-N包括计数器,控制逻辑118除了执行如由主机102请求且通过命令452-N指示的读取操作之外还可更新(例如,执行计数器更新操作)计数器(例如,读取计数器)。例如,可从t1到t2读取存储于页454-N上的数据(例如,“tRead”)且可从t2到t3更新计数器(例如,“tCounterUpdate”)。可经由数据总线(例如DQ总线)将经检索数据(例如,表示为“454-N”)发送回到系统控制器110。
在数个实施例中,可在无需将计数器传送回系统控制器110的情况下更新计数器。因此,在此实例中,可在将从页454-N检索的额外耗用数据(例如,元数据)及计数器发送回到系统控制器110时同时更新存储于页454-N上的计数器。例如,可在时间t2将从页454-N检索之元数据发送回到系统控制器110,且还可在时间t2更新计数器。因此,可在更新计数器时消除与在存储器装置116与系统控制器110之间传送计数器相关联的延时。
在一些实施例中,可缓冲计数器以在稍后时间(例如,继时间t2之后)更新。代替在时间t2更新,例如,可(例如,从更新开始)缓冲计数器直到内部资源可易于用于更新计数器,使得其它操作(例如,读取/写入操作)不会受到与更新计数器相关联的延时的不利影响。
在图4中所说明的此实例中,可继时间t1之后循序接收包含命令456-0、456-1、456-2及456-3的写入命令456,且可响应于写入命令566的接收而循序起始在包含页458-0、458-1、458-2及458-3的页458上的写入操作。在更新计数器时,可在另一块420-2上起始另一操作(例如,读取操作)。例如,可在对页454-N执行计数器更新操作的情况下同时读取被指派给不同于页454-N的分区(例如,地址空间)的所述页458-0、458-2及458-3。
在一些实施例中,存储于页454-N上的数据可能不被检索到系统控制器110。在此实例中,控制逻辑118可在时间t2经由数据总线提供存储于页458-1上且从页458-1检索的数据,而非将存储于页454-N上的数据提供到系统控制器110。因而,可在对存储器装置116(例如,包含块420-1及420-2)执行数个存储器操作时消除与传送存储于页454-N上的数据(例如,包含计数器)相关联的延时。
图5说明根据本发明的数个实施例的与在写入操作期间执行计数器更新操作相关联的图560。在图5中所说明的此实例中,所述写入操作可为由主机(例如,主机102)请求以对块520(例如,块220)执行的操作。例如,可在系统控制器(例如,系统控制器110)处接收执行写入操作的请求,所述系统控制器产生对应命令(例如,通过数据路径组件114)且将所述对应命令发送到控制逻辑(例如,控制逻辑118)。
如图5中所说明,图5中展示两个不同块520-1及520-2(例如,统称为块520)。所述块中的每一者可为受管理单元且分割成数个地址空间,使得所述数个地址空间中的每一者可独立于其它地址空间加以控制。例如,块的每一经分割地址空间可包含(例如,块中的每一者的)数页的一部分,使得可在相同块的数页间同时执行数个操作。例如,控制逻辑118可在执行对应于命令562-(N-1)的写入操作时起始对应于命令562-N的写入操作(例如,连同一计数器更新操作)。作为实例,(例如,块420-1的)页564-(N-3)、564-(N-2)、564-(N-1)及564-N可分别被指派给分区0、1、2及3,且页568-0、568-1、568-2及568-3可分别被指派给分区0、1、2及3。
块520-1可包含数页(例如,N+1页),其包含页562-(N-1)及页562-N。例如,页562-(N-1)(例如,多个第一群组的存储器单元中的一者)可包括可经由写入命令562-(N-1)写入(例如,被检索到主机102)的用户数据。例如,页562-N(例如,第二群组的存储器单元)可包括可经由写入命令562-N写入的额外耗用数据及与块520-1相关联的计数器。因此,可对页562-N执行计数器更新操作。
在图5中所说明的此实例中,可从时间t3循序接收包含命令562-(N-1)及562-N的写入命令562。因此,可响应于写入命令562的接收在时间t3之前循序起始在包含页564-(N-1)及564-N的页564上的写入操作。
在时间t1之前以及在命令562-N之前的某一时间(例如,在控制逻辑118处)接收被引导到页564-(N-1)的命令562-(N-1)。例如,命令562-(N-1)可包含用以写入数据模式(例如,从主机102接收的用户数据)以及待存储于页562-(N-1)上的数据模式的指令。因而,控制逻辑118可通过将从系统控制器110(例如,如从主机102)接收的数据模式存储于页564-(N-1)上而对页564-(N-1)执行写入操作。
在时间t1(例如,在控制逻辑118处)接收被引导到页564-N的命令562-N。例如,命令562-N可包含用以写入数据模式(例如,从主机102接收的额外耗用数据)以及待存储于页562-N上的数据模式的指令。响应于在时间t2数据模式的接收,控制逻辑118除了(例如,以及)将经接收的数据模式写入到页562-N之外还可从时间t2到时间t4更新存储于页562-N上的计数器。
因而,控制逻辑118可更新计数器及通过个别写入操作(例如,通过从时间t2到时间t4执行的写入操作)写入数据。因此,可能不需要分开操作(例如计数器更新操作)用于在写入操作期间更新计数器。换句话说,计数器更新操作可嵌入于对页564-N执行的写入操作内。
在图5中所说明的此实例中,可从时间t3循序接收包含命令566-0、…、566-5的写入命令566,且可响应于写入命令566的接收而从时间t3循序起始在包含页568-0、…、568-3的页568上的写入操作。在对页564-N执行写入操作时,可在另一块520-2上起始另一操作(例如,写入操作)。例如,可在对页564-N执行写入操作时将数据模式(例如,经请求以写入到块520-2)写入到被指派给不同于页564-N(例如,分区3)的分区(例如,分区0及分区1)的所述页568-0及568-1。可分别响应于写入命令566-2及566-3的接收而起始数据模式以写入到页568-2(例如,在时间t4)及页568-3(例如,在时间t5)。
在一些实施例中,写入操作可包含可被称为读取-修改-写入(RMW)操作的操作。例如,将数据模式写入到页可包含从存储器单元阵列读取整页数据,用新数据模式更新所述页且接着将所述经更新页写回到所述存储器单元阵列。因而,可作为RMW操作的一部分执行的读取操作是RMW操作的固有操作,使得相同读取-修改-写入操作的所述读取操作及写入操作是通过个别操作执行。因此,如果写入操作是RMW操作,那么图5中所说明的所述写入操作可能不需要与所述写入操作分开的读取操作。在一些实施例中,更新计数器可包含仅对页中其状态将在写入操作期间改变的那些单元施加写入信号。
尽管在本文中已说明及描述特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本发明希望涵盖本发明的数个实施例的调适或变化。应理解,已以阐释性方式且非限制性方式作出上文描述。所属领域的技术人员在检视上文描述之后将明白上述实施例的组合及在本文中未具体描述的其它实施例。本发明的数个实施例的范围包含其中使用上述结构及过程的其它应用。因此,应参考所附权利要求书连同此类权利要求书所授权的等效物的全范围而确定本发明的数个实施例的范围。
在前述具体实施方式中,出于简化本发明的目的,将一些特征集中于单个实施例中。本发明的此方法不应被解释为反映本发明的所揭示实施例必须使用多于每一权利要求中明确叙述的特征的意图。而是,如所附权利要求书反映,本发明目标在于少于单个所揭示实施例的所有特征。因此,以下权利要求书特此并入实施方式中,其中每一权利要求自身独立地作为单独实施例。
Claims (23)
1.一种设备,其包括:
存储器,其包含受管理单元,其中所述受管理单元包含多个第一群组的存储器单元及第二群组的存储器单元,其中与所述受管理单元相关联的相应计数器被存储于所述第二群组的存储器单元上;及
控制器,其包含:
核心,其经配置以路由从主机接收的存储器操作请求;及
数据路径,其耦合到所述核心及所述存储器,所述数据路径经配置以响应于从所述核心路由的所述存储器操作请求的接收而向所述存储器发出与所述路由存储器操作请求相关联的多个命令以对所述多个第一群组的存储器单元执行对应存储器操作,其中所述相应计数器独立于所述多个命令而更新。
2.根据权利要求1所述的设备,其中从所述数据路径发出的所述多个命令不含引起所述存储器更新所述相应计数器的指令。
3.根据权利要求1所述的设备,其中所述数据路径经由数据总线耦合到所述存储器,且其中所述相应计数器在无需经由所述数据总线将所述相应计数器传送回到所述数据路径的情况下更新。
4.根据权利要求1到3中任一权利要求所述的设备,其中逻辑到物理地址表与所述相应计数器一起存储于所述第二群组的存储器单元上。
5.根据权利要求1到3中任一权利要求所述的设备,其中元数据与所述相应计数器一起存储于所述第二群组的存储器单元上。
6.根据权利要求1到3中任一权利要求所述的设备,其中所述相应计数器包括以下各项中的至少一者:
读取计数器,其值在每次读取所述多个第一群组的存储器单元时递增;及
写入计数器,其值在每次编程所述多个第一群组的存储器单元时递增。
7.根据权利要求1到3中任一权利要求所述的设备,其中所述多个第一群组的存储器单元及所述第二群组的存储器单元是非易失性存储器单元。
8.一种设备,其包括:
系统控制器,其耦合到主机且经配置以发出对应于从所述主机接收的存储器操作请求的多个命令;及
存储器装置,其耦合到所述系统控制器且包含受管理单元,其中所述受管理单元包含多个第一群组的存储器单元及第二群组的存储器单元,其中与所述受管理单元相关联的相应计数器被存储于所述第二群组的存储器单元上;且
所述存储器装置经配置以经由控制逻辑:
从系统控制器接收所述多个命令;
响应于所述多个命令的所述接收而对所述受管理单元执行对应存储器操作;及
独立于所述多个命令而对所述第二群组的存储器单元执行计数器更新操作,使得存储于所述第二群组的存储器单元上的所述相应计数器根据对所述多个第一群组的存储器单元执行的所述对应存储器操作来更新。
9.根据权利要求8所述的设备,其中所述多个命令包括引起所述控制逻辑对所述多个第一群组的存储器单元执行对应存储器操作的指令,同时所述多个命令不含引起所述控制逻辑对所述第二群组的存储器单元执行所述计数器更新操作的指令。
10.根据权利要求8所述的设备,其中尽管所述系统控制器不会引起所述控制逻辑执行所述计数器更新操作,但所述控制逻辑经配置以执行所述计数器更新操作。
11.根据权利要求8到10中任一权利要求所述的设备,其中所述系统控制器经由物理外围组件快速互连PCIe命令路径耦合到所述主机。
12.根据权利要求8到10中任一权利要求所述的设备,其中所述系统控制器包括非易失性存储器快速NVMe控制器。
13.根据权利要求8到10中任一权利要求所述的设备,其中所述控制逻辑是在所述存储器装置内部,且其中所述多个命令经由存储器接口从所述系统控制器接收。
14.一种设备,其包括:
系统控制器,其包括:
核心,其经配置以从主机接收请求以对包含受管理单元的存储器装置执行存储器操作,其中:
所述受管理单元包含多个第一群组的存储器单元及第二群组的存储器单元;且
所述第二群组的存储器单元包括与所述受管理单元相关联的相应计数器;及
数据路径,其经配置以:
从所述核心接收执行所述存储器操作的路由请求;及
定序待向所述存储器发出的各自与所述路由请求中的对应者相关联的多个命令;
所述数据路径进一步经配置以响应于从所述核心接收的特定路由请求而向所述存储器装置发出对应于所述特定路由请求的多个命令;且
所述存储器装置经配置以经由控制逻辑:
对所述受管理单元执行由所述所接收的多个命令指示的所述存储器操作;及
独立于所述所接收的多个命令而对存储于所述第二群组的存储器单元上的所述相应计数器执行计数器更新操作。
15.根据权利要求14所述的设备,其中所述存储器操作及所述计数器更新操作一起响应于个别请求而执行,所述个别请求是从所述数据路径路由的所述请求。
16.根据权利要求14所述的设备,其中所述经更新相应计数器未被传送回到所述数据路径。
17.根据权利要求14到16中任一权利要求所述的设备,其中所述存储器操作是读取-修改-写入操作,其中对所述受管理单元执行的读取操作是所述读取-修改-写入操作的固有操作,使得所述读取-修改-写入操作的所述读取操作及写入操作由个别操作执行。
18.一种方法,其包括:
从耦合到主机的系统控制器接收被引导到受管理单元的多个命令,所述受管理单元包含多个第一群组的存储器单元及第二群组的存储器单元,其中所述系统控制器从所述主机接收存储器操作请求且发出对应于所述存储器操作请求的命令;
响应于接收所述多个命令而对所述多个第一群组的存储器单元及所述第二群组的存储器单元执行对应于所述多个命令的存储器操作;及
独立于所述多个命令而对所述第二群组的存储器单元执行计数器更新操作。
19.根据权利要求18所述的方法,其中独立于所述多个命令而执行所述计数器操作包括使所述相应计数器的值递增直到达到阈值。
20.根据权利要求18所述的方法,其中独立于所述多个命令而执行所述计数器更新操作包括使所述相应计数器的值递减。
21.根据权利要求18所述的方法,其中独立于所述多个命令而执行所述计数器更新操作包括响应于确定所述相应计数器的所述值达到阈值而复位所述相应计数器的值,使得所述复位值被调整到初始值。
22.根据权利要求18所述的方法,其中独立于所述多个命令而执行所述计数器操作包括在所述相应计数器中的任一者达到阈值时警示所述系统控制器。
23.根据权利要求18所述的方法,其中独立于所述多个命令而执行所述计数器更新操作包括仅对所述第二群组中其状态将由所述计数器更新操作改变的那些单元施加写入信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/958,614 US10719248B2 (en) | 2018-04-20 | 2018-04-20 | Apparatuses and methods for counter update operations |
US15/958,614 | 2018-04-20 | ||
PCT/US2019/024201 WO2019203995A1 (en) | 2018-04-20 | 2019-03-27 | Apparatuses and methods for counter update operations |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111989646A true CN111989646A (zh) | 2020-11-24 |
Family
ID=68235969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980026839.3A Pending CN111989646A (zh) | 2018-04-20 | 2019-03-27 | 用于计数器更新操作的设备及方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10719248B2 (zh) |
EP (1) | EP3782016A4 (zh) |
JP (1) | JP2021522567A (zh) |
KR (1) | KR20200135549A (zh) |
CN (1) | CN111989646A (zh) |
TW (1) | TWI709074B (zh) |
WO (1) | WO2019203995A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366763B2 (en) * | 2017-10-31 | 2019-07-30 | Micron Technology, Inc. | Block read count voltage adjustment |
US11194503B2 (en) | 2020-03-11 | 2021-12-07 | Samsung Electronics Co., Ltd. | Storage device having a configurable command response trigger |
US20230342314A1 (en) * | 2020-09-14 | 2023-10-26 | Google Llc | Memory Request Timeouts Using a Common Counter |
KR102253362B1 (ko) * | 2020-09-22 | 2021-05-20 | 쿠팡 주식회사 | 전자 장치 및 이를 이용한 정보 제공 방법 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259370A (ja) * | 1998-03-06 | 1999-09-24 | Mitsubishi Electric Corp | データ書込装置及びデータ書込方法 |
US20040066680A1 (en) * | 2001-12-27 | 2004-04-08 | Sandisk Corporation | Non-volatile semiconductor memory device adapted to store a multi-valued data in a single memory cell |
US20070150644A1 (en) * | 2005-12-28 | 2007-06-28 | Yosi Pinto | System for writing non-volatile memories for increased endurance |
US20070150664A1 (en) * | 2005-12-28 | 2007-06-28 | Chris Dombrowski | System and method for default data forwarding coherent caching agent |
JP2007519083A (ja) * | 2003-10-28 | 2007-07-12 | サンディスク コーポレイション | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 |
US20070245067A1 (en) * | 2006-04-13 | 2007-10-18 | Emilio Yero | Cycle count storage systems |
US20110119431A1 (en) * | 2009-11-13 | 2011-05-19 | Chowdhury Rafat | Memory system with read-disturb suppressed and control method for the same |
CN102799392A (zh) * | 2012-06-16 | 2012-11-28 | 北京忆恒创源科技有限公司 | 存储设备及其中断控制方法 |
WO2014128967A1 (ja) * | 2013-02-25 | 2014-08-28 | 株式会社日立製作所 | 記憶制御装置、及びデータの書き込み完了を検知する方法 |
CN104541280A (zh) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | 用于利用非易失性存储器装置的备选引导路径支持 |
CN104769557A (zh) * | 2012-11-09 | 2015-07-08 | 高通股份有限公司 | 经由页访问计数的处理器存储器优化 |
US20150213877A1 (en) * | 2012-10-22 | 2015-07-30 | Hewlett-Packard Development Company, L.P. | Refreshing a group of memory cells in response to potential disturbance |
US20170068479A1 (en) * | 2015-09-09 | 2017-03-09 | Kabushiki Kaisha Toshiba | Memory system and controller |
JP2017063298A (ja) * | 2015-09-24 | 2017-03-30 | 富士ゼロックス株式会社 | 制御装置および画像形成装置 |
US20170277634A1 (en) * | 2016-03-25 | 2017-09-28 | Advanced Micro Devices, Inc. | Using Leases for Entries in a Translation Lookaside Buffer |
CN107256196A (zh) * | 2017-06-13 | 2017-10-17 | 北京中航通用科技有限公司 | 基于闪存阵列的支持零拷贝的缓存系统及方法 |
US20170329703A1 (en) * | 2016-05-16 | 2017-11-16 | Sk Hynix Memory Solutions Inc. | Self-management memory system and operating method thereof |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5559975A (en) | 1994-06-01 | 1996-09-24 | Advanced Micro Devices, Inc. | Program counter update mechanism |
US6781877B2 (en) * | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US7304942B1 (en) | 2002-11-15 | 2007-12-04 | Cisco Technology, Inc. | Methods and apparatus for maintaining statistic counters and updating a secondary counter storage via a queue for reducing or eliminating overflow of the counters |
KR100606242B1 (ko) | 2004-01-30 | 2006-07-31 | 삼성전자주식회사 | 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치 |
US7391721B1 (en) | 2004-07-08 | 2008-06-24 | Cisco Technology, Inc. | Maintaining counters and updating a secondary counter storage |
JP2009003880A (ja) * | 2007-06-25 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及びその制御方法及び記憶装置 |
US7937521B2 (en) * | 2008-01-29 | 2011-05-03 | Cadence Design Systems, Inc. | Read disturbance management in a non-volatile memory system |
JP5528011B2 (ja) * | 2008-10-30 | 2014-06-25 | 京セラ株式会社 | 電子機器及び電子機器の制御方法 |
KR101033465B1 (ko) * | 2008-12-30 | 2011-05-09 | 주식회사 하이닉스반도체 | 플래쉬 메모리 장치 및 및 이를 위한 리드동작 제어 방법 |
JP2011186553A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
US9257169B2 (en) * | 2012-05-14 | 2016-02-09 | Samsung Electronics Co., Ltd. | Memory device, memory system, and operating methods thereof |
KR102200489B1 (ko) | 2014-05-30 | 2021-01-11 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치 |
JP6423282B2 (ja) * | 2015-02-18 | 2018-11-14 | ラピスセミコンダクタ株式会社 | メモリ制御装置及びメモリ制御方法 |
US10019360B2 (en) | 2015-09-26 | 2018-07-10 | Intel Corporation | Hardware predictor using a cache line demotion instruction to reduce performance inversion in core-to-core data transfers |
US10019198B2 (en) * | 2016-04-01 | 2018-07-10 | Intel Corporation | Method and apparatus for processing sequential writes to portions of an addressable unit |
US10566048B2 (en) * | 2017-11-13 | 2020-02-18 | Western Digital Technologies, Inc. | Managing refresh operations for a memory device |
-
2018
- 2018-04-20 US US15/958,614 patent/US10719248B2/en active Active
-
2019
- 2019-03-27 CN CN201980026839.3A patent/CN111989646A/zh active Pending
- 2019-03-27 JP JP2020557898A patent/JP2021522567A/ja active Pending
- 2019-03-27 WO PCT/US2019/024201 patent/WO2019203995A1/en active Application Filing
- 2019-03-27 KR KR1020207033102A patent/KR20200135549A/ko active IP Right Grant
- 2019-03-27 EP EP19789011.4A patent/EP3782016A4/en active Pending
- 2019-04-10 TW TW108112417A patent/TWI709074B/zh active
-
2020
- 2020-06-18 US US16/905,030 patent/US11055000B2/en active Active
-
2021
- 2021-05-07 US US17/314,493 patent/US20210263661A1/en not_active Abandoned
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259370A (ja) * | 1998-03-06 | 1999-09-24 | Mitsubishi Electric Corp | データ書込装置及びデータ書込方法 |
US20040066680A1 (en) * | 2001-12-27 | 2004-04-08 | Sandisk Corporation | Non-volatile semiconductor memory device adapted to store a multi-valued data in a single memory cell |
JP2007519083A (ja) * | 2003-10-28 | 2007-07-12 | サンディスク コーポレイション | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 |
US20070150644A1 (en) * | 2005-12-28 | 2007-06-28 | Yosi Pinto | System for writing non-volatile memories for increased endurance |
US20070150664A1 (en) * | 2005-12-28 | 2007-06-28 | Chris Dombrowski | System and method for default data forwarding coherent caching agent |
US20070245067A1 (en) * | 2006-04-13 | 2007-10-18 | Emilio Yero | Cycle count storage systems |
US20110119431A1 (en) * | 2009-11-13 | 2011-05-19 | Chowdhury Rafat | Memory system with read-disturb suppressed and control method for the same |
CN102799392A (zh) * | 2012-06-16 | 2012-11-28 | 北京忆恒创源科技有限公司 | 存储设备及其中断控制方法 |
CN104541280A (zh) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | 用于利用非易失性存储器装置的备选引导路径支持 |
US20150213877A1 (en) * | 2012-10-22 | 2015-07-30 | Hewlett-Packard Development Company, L.P. | Refreshing a group of memory cells in response to potential disturbance |
CN104769557A (zh) * | 2012-11-09 | 2015-07-08 | 高通股份有限公司 | 经由页访问计数的处理器存储器优化 |
WO2014128967A1 (ja) * | 2013-02-25 | 2014-08-28 | 株式会社日立製作所 | 記憶制御装置、及びデータの書き込み完了を検知する方法 |
US20170068479A1 (en) * | 2015-09-09 | 2017-03-09 | Kabushiki Kaisha Toshiba | Memory system and controller |
JP2017063298A (ja) * | 2015-09-24 | 2017-03-30 | 富士ゼロックス株式会社 | 制御装置および画像形成装置 |
US20170277634A1 (en) * | 2016-03-25 | 2017-09-28 | Advanced Micro Devices, Inc. | Using Leases for Entries in a Translation Lookaside Buffer |
US20170329703A1 (en) * | 2016-05-16 | 2017-11-16 | Sk Hynix Memory Solutions Inc. | Self-management memory system and operating method thereof |
CN107256196A (zh) * | 2017-06-13 | 2017-10-17 | 北京中航通用科技有限公司 | 基于闪存阵列的支持零拷贝的缓存系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI709074B (zh) | 2020-11-01 |
JP2021522567A (ja) | 2021-08-30 |
EP3782016A1 (en) | 2021-02-24 |
TW202006530A (zh) | 2020-02-01 |
US20200319809A1 (en) | 2020-10-08 |
US20210263661A1 (en) | 2021-08-26 |
US10719248B2 (en) | 2020-07-21 |
US20190324672A1 (en) | 2019-10-24 |
US11055000B2 (en) | 2021-07-06 |
WO2019203995A1 (en) | 2019-10-24 |
KR20200135549A (ko) | 2020-12-02 |
EP3782016A4 (en) | 2022-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200233585A1 (en) | Data relocation in hybrid memory | |
US11586357B2 (en) | Memory management | |
US10452532B2 (en) | Directed sanitization of memory | |
KR102337160B1 (ko) | 혼합 모드 블록들의 동작 | |
US11055000B2 (en) | Apparatuses and methods for counter update operations | |
CN109815160B (zh) | 最后写入页搜索 | |
KR102635689B1 (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
KR20200139913A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치 | |
US20230221895A1 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
KR20210017181A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
US11194708B2 (en) | Data relocation in memory having two portions of data | |
KR20220130526A (ko) | 메모리 시스템 및 그 동작 방법 | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US11967384B2 (en) | Algorithm qualifier commands | |
US20240070067A1 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
US20240078027A1 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
US20230103515A1 (en) | Memory system and operating method of memory system |
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 |