CN112201287A - 用于动态地调整分区存储器的性能的方法和设备 - Google Patents
用于动态地调整分区存储器的性能的方法和设备 Download PDFInfo
- Publication number
- CN112201287A CN112201287A CN202010650064.1A CN202010650064A CN112201287A CN 112201287 A CN112201287 A CN 112201287A CN 202010650064 A CN202010650064 A CN 202010650064A CN 112201287 A CN112201287 A CN 112201287A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- configuration
- application
- configuration requests
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 506
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012937 correction Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000003860 storage Methods 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 6
- 238000005192 partition Methods 0.000 abstract 1
- 238000003491 array Methods 0.000 description 73
- 239000003990 capacitor Substances 0.000 description 21
- 230000008859 change Effects 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000003139 buffering effect Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000012805 post-processing Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 8
- 230000006855 networking Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 5
- 230000007334 memory performance Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000003595 mist Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1052—Bypassing or disabling error detection or correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/221—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements using ferroelectric capacitors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
- G11C11/225—Auxiliary circuits
- G11C11/2273—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- 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
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40626—Temperature related aspects of refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4062—Parity or ECC in refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
本发明揭示用于动态地调整分区存储器的性能的方法和设备。在一个实施例中,所述方法包含:接收对存储器装置的一或多个配置请求;确定是否准予对所述存储器装置的所述一或多个配置请求;响应于所述确定,在所述存储器装置内实施所述一或多个配置请求;及根据所述实施操作所述存储器装置。对所述分区存储器的所述性能的所述调整包含以下操作中的一或多个:启用/禁用刷新操作,变更所述分区存储器的刷新速率,对所述分区存储器启用/禁用纠错码ECC电路系统,和/或变更所述分区存储器的存储器单元架构。本发明还揭示可从所述动态性能调整受益的系统和应用程序。
Description
优先权
本申请案主张在2019年7月8日提交的标题为“用于动态地调整分区存储器的性能的方法和设备(METHODS AND APPARATUS FOR DYNAMICALLY ADJUSTING PERFORMANCE OFPARTITIONED MEMORY)”的共同拥有和共同未决的美国专利申请案第16/505472号的优先权,所述美国专利申请案以全文引用的方式并入本文中。
技术领域
本发明大体上涉及半导体存储器装置,且更具体地,在一个示范性方面中,涉及动态地调整例如易失性存储器装置(例如,动态随机存取存储器(DRAM))和非易失性存储器装置(例如,快闪存储器)的存储器装置中的性能。
背景技术
存储器装置广泛用于在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中存储信息。通过编程存储器装置的不同状态来存储信息。例如,二进制装置具有两种状态,常常由逻辑“1”或逻辑“0”表示。为了存取所存储信息,存储器装置可读取(或感测)存储器装置中的所存储状态。为了存储信息,存储器装置可将状态写入(或编程)于存储器装置中。所谓的易失性存储器装置可能需要功率来维持此所存储信息,而非易失性存储器装置可能甚至在存储器装置自身例如已经循环供电之后仍可持久地存储信息。
易失性存储器装置(例如,DRAM装置)可能需要定期刷新其存储器内容,以便保留存储在其中的信息。存储器刷新通常为在存储器装置操作期间所需的后台维护过程。例如,在DRAM装置中,信息的每一位被存储为位于半导体装置上的小电容器上是否存在电荷。随着时间流逝,这些存储器单元中的电荷开始耗散,使得如果未对其内容进行“刷新”,存储在其上的信息最终将丢失。为了防止这种信息丢失,需要电路系统,所述电路系统需要周期性地读取每一单元并将其重写,从而将给定存储器单元上的电荷恢复到其原始水平。此刷新过程通常由存储电路系统在后台自动进行,且否则对用户为透明的。然而,在刷新周期中,所述存储器装置不可用于常规读取和写入操作。这些定期刷新周期尤其会引入额外的处理开销,从而降低存储器装置的吞吐量。
另外,通常结合这些存储器装置来实施所谓的纠错码(ECC)存储器。具有ECC能力的存储器用于检测和纠正可能发生的各种类型的内部数据损坏。例如,电和/或磁干扰可能在例如DRAM的半导体装置内引起单个位错误。这些损坏可能是由于背景辐射(例如,来自宇宙射线的中子)引起的,背景辐射可能导致例如DRAM装置中的存储器单元自发翻转到相反状态。虽然具有ECC能力的存储器在纠正这些单个位错误中很有用,但具有ECC能力的存储器的纠正错误性质并非没有其缺点。与非ECC存储器相比,具有ECC 能力的存储器装置通常涉及对最终用户带来更高的成本,这是因为生产这些具有ECC 能力的存储器装置需要额外的硬件。另外,支持ECC的主板、芯片组和处理器也可能更昂贵,从而提高了系统成本。由于ECC存储器控制器执行错误检查所需的额外处理时间(例如,2-3%),ECC存储器还可导致较低的存储器性能。
存储器装置的性能通常由标准设定组织(如电子装置工程联合委员会(JEDEC))管辖。测试大多数存储器装置以确保在广泛的存储器密集型应用上的存储器互操作性。例如,传统或“通用计算”存储器假定错误率实际上不存在(例如,位错误率(BER)大约为 1×10-18)。然而,并非所有应用均需要此性能水平,且符合JEDEC标准可能无法针对此些应用的功率消耗及存储器处理吞吐量而优化。
尽管例如前述的刷新和ECC的各种存储器技术的进步已产生高度可靠的存储器装置;但对于某些类型的存储器装置应用,这些存储器技术可能证明为次优的。因此,需要提供超过根据例如前述JEDEC标准操作的现有存储器技术的增加的设计灵活性的存储器技术。
发明内容
本发明通过尤其提供用于动态调整分区存储器的性能的方法和设备来满足前述需求。
在一个方面中,揭示一种用于操作存储器装置的方法。在一个实施例中,所述方法包含:接收对存储器装置的一或多个配置请求;确定是否准予对所述存储器装置的所述一或多个配置请求;响应于所述确定,在所述存储器装置内实施所述一或多个配置请求;及根据所述实施操作所述存储器装置。
在一个变体中,接收所述一或多个配置请求包含接收变更对存储器装置的一部分的刷新操作的请求。
在另一变体中,接收变更对所述存储器装置的所述部分的所述刷新操作的所述请求包含接收降低所述存储器装置的所述部分的刷新速率的请求。
在又一变体中,接收变更对所述存储器装置的所述部分的所述刷新操作的所述请求包含接收增加所述存储器装置的所述部分的刷新速率的请求。
在又一变体中,接收变更对所述存储器装置的所述部分的所述刷新操作的所述请求包含接收禁用对所述存储器装置的所述部分的刷新的请求。
在又一变体中,接收所述一或多个配置请求包含接收对所述存储器装置的一部分禁用纠错码电路系统的请求。
在又一变体中,接收所述一或多个配置请求包含接收变更存储器装置的至少一部分的存储器单元架构的请求。
在另一方面中,揭示一种存储器装置。在一个实施例中,所述存储器装置经配置以至少部分地实施本文中别处所揭示的一或多个方面的至少一部分。
在又一方面中,揭示一种存储器阵列。在一个实施例中,所述存储器阵列经配置以接收一或多个配置请求,所述一或多个配置请求使得能够变更用于存储器阵列的存储器单元架构。
在又一方面中,揭示一种计算装置。在一个实施例中,计算装置包含处理设备;存储器装置,其与处理设备通信;及非暂时性计算机可读设备,其具有存储媒体,所述存储媒体包含多个计算机可读指令,所述多个计算机可读指令在由所述处理设备执行时经配置以:从驻留在所述计算装置上的应用程序接收对所述存储器装置的一或多个配置请求;确定是否准予来自所述应用程序的所述一或多个配置请求;响应于所述确定,在所述存储器装置内实施所述一或多个配置请求;及根据一或多个配置请求的实施来操作所述存储器装置。
在一个变体中,确定是否准予来自所述应用程序的所述一或多个配置请求包含确定所述应用程序是否为受信任的应用程序。
在另一变体中,确定是否准予来自所述应用程序的所述一或多个配置请求包含确定所述所接收的一或多个配置请求是否与先前所接收的配置请求冲突。
在又一变体中,确定是否准予来自所述应用程序的所述一或多个配置请求包含确定所述应用程序的优先级。
在又一变体中,实施一或多个配置请求包含对所述存储器装置的配置寄存器的写入,对所述配置寄存器的所述写入启用所述实施。
在又一变体中,与在不实施所述一或多个配置请求的情况下操作所述存储器装置相比,根据所述一或多个配置请求的所述实施操作所述存储器装置使得能够节省所述计算装置的功率资源。
在又一方面中,揭示一种集成电路(IC)。在一个实施例中,IC经配置以:接收对存储器装置的一或多个配置请求;在所述存储器装置内实施所述一或多个配置要求,所述实施包括变更所述存储器装置的一或多个性能特性;及根据所述实施操作所述存储器装置。
在一个变体中,变更所述一或多个性能特性包含变更对所述存储器装置的一部分的刷新操作。
在另一变体中,变更对所述存储器装置的所述部分的刷新操作包含降低所述存储器装置的所述部分的刷新速率。
在又一变体中,变更对所述存储器装置的所述部分的刷新操作包含增加所述存储器装置的所述部分的刷新速率。
在又一变体中,变更对所述存储器装置的所述部分的刷新操作包含禁用对所述存储器装置的所述部分的刷新操作。
在又一变体中,变更所述一或多个性能特性包含对所述存储器装置的一部分禁用纠错码电路系统。
在又一变体中,变更所述一或多个性能特性包含变更用于所述存储器装置的至少一部分的存储器单元架构。
在又一方面中,揭示一种操作存储器装置的方法。在一个实施例中,所述方法包含:通过第一地址范围提供对存储器装置的第一部分的存取;在所述存储器装置内实施一或多个配置改变;及至少基于所述一或多个配置改变,通过第二地址范围提供对所述存储器装置的所述第一部分及第二部分的存取。
在所述方法的一个变体中,在其中集成有所述存储器装置的主机计算机化装置的正常操作状态期间,分别执行通过第一地址范围提供对存储器装置的第一部分的存取以及通过第二地址范围提供对存储器装置的第一部分及第二部分的存取。
在另一变体中,一或多个配置改变包含禁用存储器装置的ECC(纠错码)功能,且第二地址范围包含比第一地址范围多一(1)位的地址范围。
在本发明的又一方面中,描述一种计算机可读设备。在一个实施例中,计算机可读设备包含存储媒体,所述存储媒体具有多个计算机可读指令,所述多个计算机指令在由处理设备执行时经配置以:接收对存储器装置的一或多个配置请求;在所述存储器装置内实施所述一或多个配置要求,所述实施包括变更所述存储器装置的一或多个性能特性;及根据所述实施操作所述存储器装置。
在一个变体中,变更所述一或多个性能特性包含变更对所述存储器装置的一部分的刷新操作。
在另一变体中,变更对所述存储器装置的所述部分的刷新操作包含降低所述存储器装置的所述部分的刷新速率。
在又一变体中,变更对所述存储器装置的所述部分的刷新操作包含增加所述存储器装置的所述部分的刷新速率。
在又一变体中,变更对所述存储器装置的所述部分的刷新操作包含禁用对所述存储器装置的所述部分的刷新操作。
在又一变体中,变更所述一或多个性能特性包含对所述存储器装置的一部分禁用纠错码电路系统。
在又一变体中,变更所述一或多个性能特性包含变更用于所述存储器装置的至少一部分的存储器单元架构。
在又一方面中,揭示一种实现前述方面中的任何一个的系统架构。在一个实施例中,系统架构经配置用于视频缓冲应用程序。
在另一实施例中,系统架构经配置用于物联网(IoT)应用程序。
在又一实施例中,系统架构经配置用于雾联网应用程序。
当根据本文中所提供的揭示内容考虑时,这些和其它方面将变得显而易见。
附图说明
图1为说明根据本发明原理的用于包含分区存储器阵列的存储器系统的示范性架构的逻辑框图。
图1A为说明根据本发明原理的用于包含多个存储器芯片的存储器系统的示范性架构的功能框图。
图2为根据本发明原理的与示范性存储器装置相对应的逻辑存储器映射。
图3为作为刷新间隔的函数的原始位错误率(BER)的图形标绘图,可用于说明本发明的各方面。
图4为示范性存储器单元电路系统的图形表示,用于说明本发明的各方面。
图5为根据本发明原理的示范性存储器单元电路系统的图形表示。
图6为根据本发明原理的说明用于在分区存储器阵列内存储数据及后处理数据的各种架构的逻辑框图。
图7为根据本发明原理的说明用于在分区存储器阵列的冗余存储位置内存储数据的各种架构的逻辑框图。
图8为根据本发明的各种原理制造的存储器装置的一种示范性实施方案的逻辑框图。
图9为根据本发明的各种原理配置的示范性计算系统的图形表示。
图10为根据本发明的各种原理的用于操作存储器装置的示范性方法的逻辑流程图。
图10A为根据本发明的各种原理的用于操作存储器装置的另一示范性方法的逻辑流程图。
图11为根据本发明的各种原理的雾计算或雾联网应用中的示范性计算系统的图形表示。
具体实施方式
现在参考图式,其中贯穿全文相同的编号指代相同的部分。
如本文中所使用的,术语“计算机程序”或“软件”旨在包含执行功能的人或机器可识别步骤的任何序列。此程序可以实际上任何编程语言或环境来呈现,包含例如C/C+ +、Fortran、COBOL、PASCAL、Python、Ruby、汇编语言、标记语言(例如,HTML、 SGML、XML、VoXML)等,以及面向对象的环境,例如共用对象请求代理架构(CORBA)、 JavaTM(包含J2ME、JavaBeans等)等,且还可包含脚本,包含但不限于以脚本语言编写的那些脚本。
如本文中所使用,术语“存储器”或“存储器装置”可包含任何类型的集成电路或适于存储数字数据的其它存储装置,包含但不限于ROM、PROM、EEPROM、DRAM、 SDRAM、DDR/2SDRAM、DDR/3SDRAM、DDR/4SDRAM、GDDRx、EDO/FPMS、 FeRAM、ReRAM、RLDRAM、SRAM、“快闪”存储器(例如,NAND/NOR)、3D存储器和PSRAM。
如本文所使用的,术语“微处理器”、“处理器”或“数字处理器”通常旨在包含所有类型的数字处理装置,包含但不限于数字信号处理器(DSP)、精简指令集计算机 (RISC)、通用(CISC)处理器、微处理器、门阵列(例如,FPGA)、PLD、可重新配置的计算机结构(RCF)、阵列处理器、安全微处理器和专用集成电路(ASIC)。此数字处理器可包含在单个整体式IC裸片中,或分布在多个组件中。
概述
在一个示范性方面中,本发明提供用于动态调整分区存储器装置的性能的经改进方法和设备。在示范性实施例中,针对给定应用程序优化存储器装置,使得与现有的非柔性存储器架构相比,改良存储带宽和/或使功耗最小化。
在本文中揭示多个实施例,所述实施例使得应用程序或操作系统(OS)能够在应用程序运行时灵活地变更存储器装置的配置,以便进一步优化其操作,尤其是在其中存储器需求可能随时间改变的情况下。在本发明的一种示范性方法中,揭示可禁用或启用存储器刷新操作的存储器装置。例如,在可预期在规定的时间段存储和消耗存储在存储器装置中的数据的应用程序中(例如,在视频缓冲应用程序中),存储器装置可禁用存储器刷新操作,以便使存储器吞吐量最大化并最小化存储器装置的功耗。同一存储器装置的其它部分可启用存储器刷新操作,其中需要保留存储在存储器装置的这些其它部分中的数据。其它应用可容忍与存储器存储相关联的较高位错误率,且因此可调整存储器刷新速率以便较不频繁地发生。在另一示范性方法中,存储器装置可进一步经配置以便启用或禁用纠错码(ECC)电路系统。其它实施方案可允许在下伏存储器装置内变更存储器单元架构本身。
还揭示可采用的前述技术的组合,以便进一步增强下伏存储器装置的设计灵活性。例如,本文中所描述的各种技术可针对给定应用程序专门定制,且当调用另一应用程序时可变更存储器装置的操作特性。还揭示特定的操作实例,其中这些存储器装置可能比现有的存储器装置架构更适合。例如,在视频缓冲应用程序、物联网(IoT)应用程序和雾联网实施方案的上下文中给出了特定的操作实例。有利的是,所述方法和设备的一些示范性实施例消耗较少的功率;因此,从而有利于在功率受限或在其它方面功率敏感的计算装置内实施。
有利地,可在存储器装置的正常操作条件(例如,当在主机装置中安装并操作时)及在测试操作期间(存储器装置是否集成在主机内)中的任一者或两者中利用各种方面。
所属领域的普通技术人员参考附图和下文给出的示范性实施例的详细描述,将立即认识到本发明的其它特征和优点。
示范性实施例的详细说明
现在详细描述本发明的设备和方法的示范性实施例。虽然主要在易失性存储器装置 (例如,前述DRAM和静态随机存取存储器(SRAM)装置)的上下文中描述这些示范性实施例,但本发明的一般原理和优点可扩展到其它类型的集成电路存储器装置,包含但不限于非易失性存储器装置,例如,但不限于快闪存储器、非易失性随机存取存储器(NVRAM)、电阻式随机存取存储器(ReRAM)、铁电随机存取存储器(FeRAM)、磁阻随机存取存储器(MRAM)等,因此下文本质上仅为示范性的。
将进一步了解,虽然本文中所描述的各种方法和设备的某些步骤和方面可由人执行,但所揭示方面以及个别方法和设备通常为计算机化的/计算机实施的。计算机化的设备和方法对于完全实施这些方面是必要的,这是由于许多原因,包含但不限于商业可行性、实用性、和甚至可行性(即,某些步骤/过程完全不能由人类以任何可行的方式来执行)。
所属领域的普通技术人员参考附图和下文给出的示范性实施例的详细描述,将立即认识到本发明的其它特征和优点。
示范性系统设备/架构–
图1为说明根据本发明原理的用于包含分区存储器阵列144的系统100的示范性架构的逻辑框图。系统100可包含经由例如通信接口110与存储器装置140耦合的处理器 130(例如,微处理器、数字处理器等)。通信接口110可包含任何数目的合适的计算总线架构,例如系统总线架构,或甚至通常用于将各种外围装置连接到一或多个处理器的任何数目的输入/输出(I/O)总线架构。
在一些实施方案中,系统存储器控制器120可辅助处理器130与存储器装置140之间的通信(如所展示)。在其它实施方案中,系统存储器控制器功能性被包含在处理器130或存储器140内。在图1中,处理器130经由通信接口110a耦合到系统存储器控制器 120,而系统存储器控制器120经由通信接口110b耦合到存储器装置140。
系统存储器控制器120可包含数字电路,所述数字电路管理在处理器130与存储器装置140之间进行的数据流。换句话说,系统存储器控制器120可辅助管理去往/来自存储器阵列144中的相应者的数据流。例如,系统存储器控制器120可包含固件(例如,存储器驱动程序),其允许在处理器130上运行的应用程序与存储器装置140通信,而与存储器技术无关。
简短地说,存储控制器包含连接到存储器装置所需的特定于技术的逻辑。例如,DRAM存储器控制器将存储器存取(例如,存储器映射的输入/输出(MMIO)地址)转换为特定于DRAM存储器的行和列寻址。此外,DRAM存储器很快会失去其电容电荷。因此,DRAM存储器控制器还可以执行所需的刷新以确保数据保持有效(即,使得主处理器不需要刷新DRAM)。在另一此类实例中,快闪存储器控制器将把MMIO存取转换为特定于快闪存储器的适当的写前擦除指令。快闪存储器可能还需要统一的“耗损均衡”以延长快闪存储器寿命;因此,快闪存储器控制器可周期性地将数据内容移动到不同的物理存储位置(其使用相同的逻辑MMIO地址)。相关领域的普通技术人员将容易了解,几乎所有存储器技术都具有不同的接口要求;存储器控制器120可向处理器130呈现共用接口,以便从处理器130提取和卸载存储器技术特质。
返回参考图1,存储器装置140可经分区为多个存储器阵列(144a、144b、...、144n)。在本发明的一个示范性实施例中,这些存储器阵列中的个别存储器阵列可与其它存储器阵列中的其它存储器阵列独立地操作。例如,第一存储器阵列可独立于第二存储器阵列进行操作。在一些实施方案中,此独立操作可通过不同的操作参数来表征。在一个此类变体中,存储器阵列可操作为具有第一刷新速率的存储器阵列,而其它存储器阵列可具有不同的刷新速率。此外,可将自动刷新和自刷新操作修改为具有不同的循环结构。在一个实施方案中,第一刷新循环可包含存储器芯片的整个地址空间,而第二刷新循环可仅包含存储器芯片的地址空间的一部分。在另一实施方案中,第一刷新循环可涉及存储器芯片的地址空间的一个部分,且第二刷新循环可涉及所述地址空间的不同部分。
操作参数的其它常见实例可包含例如存储器单元操作(例如,单端对差分)、纠错、功率、时钟、字长等。
如在本文中所使用,术语“独立”是指具有将时钟域、电源域、刷新电路系统、纠错电路系统、配置寄存器和/或存储器单元中的一或多个隔离的存储器阵列的存储器装置。独立的存储器阵列是隔离的,从而允许处理器与存储器装置中的其它存储器阵列不同地存取所述阵列。
图1中所说明的各种存储器阵列144可进一步包含与存储器阵列144相关联的一或多个配置寄存器142(使用静态随机存取存储器(SRAM)实施)。这些个别配置寄存器142 可与例如(i)对应的相应存储器阵列144,(ii)作为整体的存储器阵列144和/或(ii)存储器阵列144的一或多个子集相关联。在一些实施方案中,这些配置寄存器142可用于重新配置存储器阵列144中的个别存储器阵列。例如,用于给定配置寄存器142a(或给定数目的配置寄存器)的一些值可与存储器阵列144a相关联。取决于加载到配置寄存器中的值,存储器阵列144a的行为可改变。在一个此类示范性实施例中,一个配置寄存器值可关闭对存储器阵列144a的刷新,另一值可以第一刷新速率开启对存储器阵列144a的刷新,而另一值可以第二刷新速率开启对存储器阵列144a的刷新。所述第二刷新速率比第一刷新速率更频繁地出现,依此类推。
在替代实施例中,可利用一组操作参数来静态地设置或“强化”多个存储器阵列。例如,第一存储器阵列可具有第一预设定刷新速率,且第二存储器阵列可具有第二预设定刷新速率。在一些此类状况下,存储器阵列可在结构上经配置以仅支持强化的参数。在其它此类状况下,存储器阵列包含配置寄存器,所述配置寄存器在制造期间被“融合”,且随后不会改变。
如在本文中所使用的,在半导体装置的上下文中,术语“强化”是指在存储器装置制造时固定的参数。强化的实例包含,例如,不灵活的电路设计、破坏性的编程(例如,烧断熔丝,所述熔丝不可能未烧断)和/或其它永久性制造技术。
图1A为说明根据本发明原理的系统105的示范性架构的功能框图,所述系统包含多个存储器IC或芯片140(140-1、...、140-N)。系统105可包含经由例如通信接口110 耦合到多个存储器芯片140的处理器130。系统控制器120可协助处理器130与存储器装置140之间的通信。在其它实施方案中,系统存储器控制器功能性被包含在处理器130 或存储器装置140内。在图1A中,系统存储器控制器120经由相应通信接口110b-1、...、 110b-N耦合到多个存储器装置140-1、...、140-N。在一些实施例中,个别存储器控制器耦合到个别存储器装置。
个别存储器芯片140可经分区为多个存储器阵列(144a、…、144n)或仅具有单个存储器阵列。在图1A的实例中,存储器芯片140-1经分区为多个存储器阵列(144a-1、...、144a-N),而存储器芯片140-2仅含有单个存储器阵列144a-2。以上实例仅为说明性的,且可在系统架构105内使用不同类型的存储器芯片的各种配置。在一种实施方案中,所有存储器装置140经分区为多个存储器阵列。返回参考图1A,在一些实施例中,个别存储器芯片140可独立于其它存储器芯片140进行操作。在一种变体中,存储器控制器 130可指示相同类型的个别存储器芯片140(例如,所有DRAM)以不同的刷新间隔操作。
存储器芯片内的个别存储器阵列可独立于同一存储器芯片内的其它存储器阵列而操作。在一些实施例中,同一芯片内的一些存储器阵列可耦合在一起(例如,具有相同的刷新速率、错误相关性、时钟等)。在各种实施例中,不同芯片内的一些存储器阵列可耦合在一起。
与系统100(图1)相似,图1A中所说明的各种存储器阵列144可包含一或多个与存储器阵列144相关联的配置寄存器142。
图2说明与示范性存储器装置相对应的一个逻辑存储器映射200。存储器装置240的存储器阵列244被映射到存储器映射的I/O(MMIO)的线性空间。在正常操作期间,存取MMIO内的位置的软件应用程序直接存取存储器装置240内的存储位置。具体地说, MMIO由操作系统(OS)创建,以表示可存取空间的范围。
存储器阵列244中的每一个的大小和寻址范围可为固定的。例如,存储器阵列242a被映射到存储器地址空间202a(0x 10000000至0x1FFFFFFF);存储器阵列242b被映射到存储器地址空间202b(0x20000000至0x2FFFFFFF);...存储器阵列242n被映射到存储器地址空间202n(0xn0000000至0xnFFFFFFF)。
在一些实施方案中,给定的存储器阵列244(例如,存储器阵列244a)可经由其对应的配置寄存器242(例如,配置寄存器242a)动态地配置。在一些此类变体中,可经由带外通信(例如,专用装置总线等)来寻址配置寄存器。例如,可经由特殊模式设置对配置寄存器进行编程,所述特殊模式设置可经由在操作期间通常不使用的引脚配置来存取。在其它变体中,可将配置寄存器附加到存储器阵列空间或与存储器阵列空间串接。参考图2,在其它变体中,配置寄存器空间204被包含作为MMIO的一部分(例如,0x 00000000 至0x0FFFFFFF)。以此方式,处理器可在操作期间直接从配置寄存器242a、242b、...、 242n读取和/或写入到配置寄存器242a、242b、...、242n。鉴于本发明的内容,普通技术人员可用其它用于配置存储器的变体来代替。
虽然本论述是在特定存储器分配方案的上下文中呈现,但其它方案可等效成功地来代替。例如,下文中将更详细地描述端口映射I/O(PMIO)。在下文中更详细地描述各种操作参数及其对操作的对应影响。
可配置的刷新速率-
如先前所述,动态随机存取存储器(DRAM)为将数据存储在集成电路中的电容器中的一类型随机存取存储器。信息的每一位都可存储为位于存储器装置内电容器上电荷的存在或不存在。随着时间的流逝,在易失性存储器阵列中,这些存储器单元中的电荷开始耗散;在足够长的时间间隔(例如60毫秒(ms))内,所存储信息会丢失。为了确保DRAM 内容在更长的时间内保持有效,“刷新”电路系统会定期地读取每一单元并将其重写,从而将给定存储器单元(例如电容器)上的电荷恢复到其原始水平。
电容放电为每一存储器单元电容器的物理性质,且由于制造公差,一些存储器单元可能比其它存储器单元具有更长的放电时间。出于实际目的,如果刷新间隔过长,那么DRAM将随着时间逐渐累积位错误。在一般计算范例的上下文中,可靠性以位错误率 (BER)来测量。因此,较高可靠性存储器可表征为存储器的更频繁的刷新(例如,每60ms),而较低可靠性存储器可表征为易失性存储器的较不频繁刷新或无刷新。
然而,一般的计算范例忽略了DRAM存储的基本物理存储机制;换句话说,可靠性为DRAM更新之间时间的函数。某些类型的应用程序使用DRAM存储器的存储时间非常短(不到60ms)。例如,标准的电影视频以24帧/秒的速度拍摄;即,每一视频帧的寿命约为~42ms。因此,视频帧中的数据具有比DRAM存储器单元刷新短的寿命。因此,可使用DRAM存储器而无需刷新,而不会对视频应用造成不利影响。换句话说,在DRAM电容器失去电荷之前,使用存储在DRAM上的视频帧数据。
另外,一些应用程序可以容忍更高的BER。容错计算(有时也称为“错误恢复”)是指假定并允许存储器和/或数据中存在一些噪声和/或错误的计算。概率计算、随机计算和/或其它类型的容错计算有许多应用。
返回参考图1,本发明的示范性实施例使得包含在存储器装置140内的不同存储器阵列144能够不同地操作。例如,第一存储器阵列144a可符合标准(例如,JEDEC JESD79-4BDDR4),而第二存储器阵列144b可不符合标准。换句话说,存储器阵列144a 可在大于60ms的时间段内被视为较高可靠性的存储器,而存储器阵列144b可在大于 60ms的时间段内被视为相对较低可靠性的存储器,或替代地可在60ms的时间帧内使用而没有任何可靠性降级。即使刷新周期不直接影响处理器130的性能,刷新存储器140 也消耗存储器存取带宽和系统存储器控制器120的处理周期。因此,减少刷新负担可间接改进整体系统性能。以此方式,可基于应用要求定制单个存储组件以优化存储性能。
除了在一段时间内较高和较低的可靠性之外,一些实施方案还可能引入可靠性操作的各种等级(例如,刷新长于60ms的时间标度,并减轻所导致的数据丢失)。图3说明作为刷新间隔的函数的原始位错误率(BER)的一个说明标绘图300的图形表示。应用程序可智能地使用存储器性能特性来选择刷新速率,所述刷新速率既最小化刷新的存储器带宽,同时仍提供可接受的可靠性。例如,第一存储器阵列可使用刷新速率(例如,60ms),其导致第一存储器阵列的低位错误率(例如,1×10-18);然而,第二存储器阵列可使用刷新速率(例如,90ms),其导致比第一存储器阵列稍高的位错误率(例如,1×10-17)。
虽然在DRAM刷新的背景下呈现前述实例,但相关领域的普通技术人员将容易了解,可选择性地修改大多数动态存储器技术以增加或减小易失性(BER随时间的变化),以便折衷其它存储器性能。鉴于本发明的内容,这些和其它变化对于普通技术人员将为显而易见的,前述内容仅为示范性的。
可配置单元架构-
现有的DRAM存储器单元(以及其它存储器技术,例如,铁电随机存取存储器(FRAM))分为两种不同的类型:一个晶体管一个电容器(1T1C)和两个晶体管两个电容器(2T2C)。图4为一个示范性1T1C存储器单元400和一个示范性2T2C存储器单元450 的图形说明。
如在图4中所说明,1T1C存储器单元400由耦合到一个电容器404的一个晶体管402构成。在写入操作期间,字线(WL)406被断言,且位值被断言在位线(BL)408(例如,逻辑低、逻辑高)上以对电容器404进行充电。在读取操作期间,可经由BL 408(例如,逻辑低,逻辑高)来读取所存储电荷,并对其进行放大以恢复所存储位值。板线(PL)410 为许多单元提供共用电势,所述共用电势可用于在感测期间对BL上的电压加偏压。板线电势可经调整以改变感测操作—但仅对于一组位而言-且改变PL的偏压通常不会改变 BL上产生的信号的振幅。1T1C配置使用单端测量来比较共用板与每一个别BL之间的电压。
2T2C存储器单元由耦合到两个电容器404p、404n的两个晶体管402p、402n构成。相似于1T1C存储器单元400的操作,2T2C存储器单元450可包含共用WL 406和共用 PL 410;然而,与1T1C存储器单元400不同,2T2C存储器单元450可包含不同的位线 (BL)408及其补码BLB 412。在操作期间,两个电容器304的电荷被差分地读取或写入到BL 408和BLB 412上,且感测放大器在位线408、412上的电压之间执行差分比较。
通常认为2T2C存储器单元比1T1C存储器单元具有较高的可靠性。此较高的可靠性源于以下事实:位被存储并读取为差分值,而不是单端值。更直接地,PL 410可纠正 1T1C配置中的一些电容性负载,但PL 410无法消除由相邻电容引入的所有共模噪声。 2T2C配置的差模操作不受共模噪声的影响,且提供比1T1C明显更多的信号容限。
现在参考图5,本发明的一个示范性实施例使得存储器阵列能够在单端与差模操作之间进行选择。如其中所展示,所说明的存储器单元500可经切换为操作为1T1C单元或2T2C单元。
示范性存储器单元500由耦合到相应电容器504/505、字线506/507和位线508/512的两个晶体管502/503构成。存储器单元配置可为折叠或展开的。在折叠配置中,两个电容器504/505共享一个共用电容器板(即,电容器板线310及311为同一条线)。在展开的配置中,电容器不共享共用板(即,电容器板线310及311为分离线)。感测放大器 (SA)可在差分模式与单端模式之间切换存储器单元。请注意,开关SW1/SW2/SW3/SW4 在SA的电路系统内部,但为清楚起见在SA外部进行说明。
在2T2C差模期间,SA以相反的电荷测量两个存储器子单元500a/500b,且存储器单元500的操作就像普通的2T2C存储器单元一样。电容器504/505可经由字线506/507 充电(在此状况下,使用相同信号)。在读取操作期间,经由位线508/512差分地读取电容器504/505的电荷。
在单端模式期间,SA仅写入存储器子单元(例如,存储器子单元500a)中的一个,并将另一存储器子单元(例如,存储器子单元500b)保持处于参考电压(Vref)。
应注意,通过使用此配置,地址位中的一个实际上变成“无关位”,但仅用于所有其它存储器地址的子集。替代地,某些地址组合会变得未经定义,不允许等。例如,表1展示共用的寻址方案,其中括号中的数字指示位数或位数范围。当设置模式寄存器X 时,对于CA<1:9>的子集以及RA<0:13>和RA<15>的子集,RA<14>变为“无关”或 1(0),但不适用于整个地址范围。替代地,设置此模式寄存器将针对所有地址范围将 RA<14>改变为“无关”或1(0)(即,将转换整个芯片或整个存储器阵列)。
表1
由存储器单元500构成的存储器阵列可以2T2C模式或1T1C模式存储数据。1T1C 存储器单元可具有比2T2C存储器单元更低水平的可靠性。本发明的实施方案使得存储器阵列能够在2T2C存储器单元架构与1T1C存储器单元架构之间进行转换,且反之亦然。更一般地,可灵活地设计一些存储器阵列架构,以便使得用户能够在多个存储器单元架构之间动态选择。与“强化”存储器单元架构相比,此实施方案可为存储器装置的用户实现灵活性的增加,同时仅稍微增加用于存储器阵列设计的占用空间(例如0.1%)。
虽然在1T1C和2T2C存储器单元构造的上下文中呈现前述实例,但相关领域的普通技术人员将容易了解,各种其它存储器技术(例如DRAM、FRAM、MRAM等)采用可以基于配置寄存器设置针对每一存储器阵列选择性修改的相似存储器单元构造。
可配置的纠错码(ECC)和eFuse-
纠错码(ECC)通常用于存储器装置中以增加可靠性。ECC通过将少量奇偶校验位与数据一起存储在存储器阵列中,为存储器提供冗余。例如,128位数据字可与八(8)个奇偶校验位相关联。这些奇偶校验位可用于检测和纠正128位字中的单个位错误。每当将数据写入到存储器时,相关联的奇偶校验位也更新。在读取时,DRAM验证整个136位 (128位数据及其相对应8个奇偶校验位)码字的完整性。如果检测到单个位,那么ECC 电路系统可纠正错误。
ECC奇偶检验方案可消除大多数错误,但并不完美;现有的存储器技术很少会在同一码字中遇到两个单个位错误。因此,ECC技术提供消除大多数计算应用中的随机单个位错误的有效方式。
如在本文中所使用,“码字”为符合标准化的“码”或协议的数据。基于数据值和一组规则对码字进行编码。必须对码字进行解码以提取原始数据值。通常,规则确保可检测和/或纠正码字中的错误。码的常见实例包含例如汉明码、奇偶码、循环冗余校验 (CRC)、里德-所罗门码、卷积码、8B10B、64B/66B、128B/130B和/或计算领域中众所周知的其它方案。
在一个示范性实施例中,配置寄存器可启用、禁用和/或修改对存储器阵列的ECC存储器操作。如在图6的配置600中所展示,存储器阵列602可为ECC 604实施128位数据字和八(8)个奇偶校验位。在正常操作期间,针对单个位错误读取并纠正136位码字,以恢复128位值。然而,另外,可根据直通操作610来配置存储器阵列602。在直通操作中,数据被读取和写入为136位值。在直通操作中,数据中的错误可直接直通ECC 模块614(无需纠正)。在又一实例中,可根据更严格的操作620来配置存储器阵列602。例如,存储器阵列可实施较高阶的CRC码624,以便检测和纠正多个位错误。此配置还可经由添加额外的例如列地址位来实施,以便避免将通常用于主阵列的地址位重新映射到ECC区域中或将数据从阵列的正常可寻址部分移位到阵列的当前可寻址部分中。
更一般地,相关领域的普通技术人员将容易了解,可使用各种其它编码技术(如果有的话)选择性地对存储器阵列进行后处理。例如,后处理的其它常见实例可包含例如行编码(例如,8B10B、64B66B、128B130B等)、汉明码、奇偶码、低密度奇偶校验(LDPC)、交错、和/或任何数目的其它编码技术。
存储器阵列中用于增加可靠性的另一项技术为存储器单元熔丝更换。例如,现有技术的DRAM装置可在任何地方具有128兆位(1024×1024×128)到1吉位(1024×1024×1024) 或更多的数据存储。每一存储器位由存储器单元电容器和存取装置晶体管构成。使用如此大数目个位,存在几乎100%机会使得任何一个存储器装置或芯片均将具有多个缺陷位。为了补偿这些缺陷,将冗余位或冗余存储器单元制造到存储器阵列中以逻辑上替换缺陷位。对于每1024行,可存在两个或四个额外冗余行,且对于每1024列,可存在四个或八个额外冗余列。
冗余存储器耦合到熔丝存储体;每一熔丝存储体可被熔断以替换由于例如制造缺陷而出故障的存储位置。制造无缺陷的存储器包含未熔断的熔丝存储体和无法存取的冗余存储器;在一些状况下,此可能为大量的存储器(~4%)。更直接地,未使用的冗余存储器消耗宝贵的裸片空间并被“浪费”。
图7包含正常操作700和未融合操作750的简化表示。在正常操作700下,可经由行和列解码器(704、706)来存取存储器阵列702。行解码器704另外耦合到熔丝存储体 708,熔丝存储体708可被熔断以用冗余位置712替换故障数据位置710。如其中所展示,熔丝存储体操作针对故障存储位置710a、712b切换替换存储位置712a、712b。然而,保守地保留冗余存储位置;例如,冗余位置712c不可经由行解码器704寻址。
未融合操作750相似于正常操作700;仍可经由行及列解码器(704、706)来存取存储器阵列702。然而,行解码器704使用直通熔丝存储体752。单独的扩展范围解码器 752允许存储器映射IO(MMIO)存取冗余存储位置712。因此,主存储器阵列(710a、710b) 中的存储器故障未被纠正,且冗余存储位置(712a、712b、712c)的整个范围可经由扩展行解码器754(例如,作为MMIO内的存储器的另一范围)被存取。
更一般地,相关领域的普通技术人员将容易了解,可基于配置寄存器设置对每一存储器阵列选择性地启用、禁用和/或修改用以改进存储器可靠性的各种形式的冗余存储器。具体地,冗余存储位置可被重新用于提供额外存储器空间或实施其它形式的数据保护和/或其它形式的数据编码。
混合和其它变体-
虽然呈现关于存储器阵列的修改(例如,刷新)单元架构和/或错误处理的前述论述,但许多存储器装置由多个存储器阵列构成。存储器装置内的多个存储器阵列的个别配置可使得用户或应用程序能够以任何数目的排列“定制”存储器装置的操作。
本发明的各种实施例根据指定的应用程序(或多个指定的应用程序)来定制存储器装置的部分。例如,在存储器装置的用户打算在视频缓冲应用程序中使用存储器装置的至少一部分的情况下,存储器装置的用户可配置存储器装置的适当部分以针对视频缓冲应用程序进行优化。在一种此类实施方案中,视频数据帧大小具有固定大小和有用的持续时间。1920×1080 24位图像(也通常称为“1080p”)的视频图像数据对应于~6MB的总数据大小,且具有~42ms(例如,24帧/秒)的有用寿命。视频缓冲应用程序可禁用对与存储器地址范围相对应的一组指定的存储器阵列的刷新操作,以实现前述性能。由于视频帧信息寿命比存储器阵列的刷新周期速率短,因此不需要刷新用于此特定视频缓冲器应用的存储器阵列(数据的有用寿命在执行刷新周期之前结束)。通过禁用对一些存储器阵列的刷新操作,如与尚未禁用刷新操作的存储器的可比较部分相比,存储器的这些部分可实现较高吞吐量。
然而,视频缓冲应用程序可要求存储器装置的其它部分在较长时间段内为可靠的。例如,用于视频内容的长期存储的存储器可具有其它期望的性质。因此,视频缓冲应用可配置其它存储器阵列以定期刷新和/或利用ECC。实际上,对于极其长期的存储,这些存储器阵列可进一步经配置从而以2T2C配置操作,例如,所述配置可最大化可靠性并最小化刷新存取。
因此,本文中存在本发明优于现有存储器装置的一个显著优点。即,与根据单个标准化存储器操作统一操作的存储器装置相比,用户或应用程序根据期望的应用程序(或多个期望的应用程序)定制给定存储器装置的所要部分以最大化数据吞吐量和/或最小化能量消耗的能力。
本文中所描述的各种技术可用于在同一存储器组件内提供多个不同的存储器能力。在一些实施方案中,存储器装置的用户可能够在用于给定存储器阵列的这些设计选择中的两个(或多于两个)之间进行选择(例如,可基于例如给定应用的要求来针对给定存储器阵列个别地选择刷新速率、ECC存储器操作和/或存储器单元架构)。鉴于本发明的内容,这些和其它变体对于普通技术人员将为显而易见的。
示范性存储器装置–
图8为根据本发明的各种原理制造的存储器装置800的一种示范性实施方案的逻辑框图。存储器装置800可包含多个分区存储器单元阵列821。在一些实施方案中,分区存储器单元阵列821中的每一个可在装置制造时被分区。在其它实施方案中,可动态地对分区存储器单元阵列821进行分区(即,继装置制造之后)。存储器单元阵列821可各自包含多个存储体,每一存储体包含多个字线,多个位线以及布置在例如多个字线与多个位线的交点处的多个存储器单元。字线的选择可由行解码器816执行,且位线的选择由列解码器820执行。
包含在半导体装置800中的多个外部端子可包含地址端子860、命令端子862、时钟端子864、数据端子840及电源端子850。可向地址端子860供应地址信号和存储体地址信号。供应到地址端860的地址信号和存储体地址信号经由地址输入电路802传送到地址解码器804。地址解码器804接收例如地址信号,且将经解码行地址信号供应到行解码器816,且将经解码列地址信号供应到列解码器820。地址解码器804还可接收存储体地址信号,且将存储体地址信号供应到行解码器816和列解码器820。
命令端子862向命令控制电路870供应命令信号。命令控制电路870可包含命令输入电路806和命令解码器808。命令信号870可包含一或多个单独的信号,例如,行地址选通(RAS),列地址选通(CAS)和/或读取/写入(R/W)。输入到命令端子862的命令信号经由命令输入电路806提供到命令解码器808。命令解码器808可对命令信号862进行解码以产生各种控制信号。例如,RAS可被断言以指定待在其中读取/写入数据的行,且CAS可被断言以指定待读取/写入数据的位置。在一些变体中,R/W命令信号确定数据端子840的内容是否被写入到存储器单元821或从中读取。
在读取操作期间,读取数据可经由读取/写入放大器824和输入/输出电路824从数据端子840外部输出。相似地,当发布写入命令且通过写入命令及时供应行地址及列地址时,写入数据命令可供应到数据端子840。可经由输入/输出电路824和读取/写入放大器822将写入数据命令供应到给定存储器单元阵列821,且将其写入在由行地址和列地址指定的存储器单元中。根据一些实施方案,输入/输出电路824可包含输入缓冲器。
时钟端子864可经供应有用于同步操作的外部时钟信号(通常在例如同步DRAM(SDRAM)中使用)。在一个变体中,时钟信号为单端信号;在其它变体中,外部时钟信号可彼此互补(差分信令),且经供应到时钟输入电路810。时钟输入电路810接收外部时钟信号并调节时钟信号以确保所得内部时钟信号具有足够的振幅和/或频率以用于随后的锁定环操作。经调节内部时钟信号经供应到反馈机构(内部时钟发生器812),从而为内部存储器逻辑提供稳定的时钟。内部时钟产生逻辑812的常见实例包含但不限于:数字或模拟锁相环(PLL),延迟锁定环(DLL)和/或频率锁定环(FLL)操作。
在替代变体(未展示)中,存储器800可依靠于外部时钟(即,没有其自己的内部时钟)。例如,可将相位控制的时钟信号从外部供应到输入/输出(IO)电路824。此外部时钟可用于时钟输入写入数据和时钟输出数据读取。在此类变体中,IO电路824将时钟信号提供到对应逻辑块(例如,地址输入电路802、地址解码器804、命令输入电路806、命令解码器808等)中的每一个。
电源端子850可经供应有电源电势。在一些变体(未展示)中,可经由输入/输出(I/O) 电路824来提供这些电源电势。在一些实施例中,电源电势可与I/O电路824隔离,以使得由IO电路824产生的电源噪声不会传播到其它电路块。这些电源电势经由内部电源电路830来调节。例如,内部电源电路830可产生各种内部电势,所述内部电势例如移除噪声和/或寄生活动,以及升压或降压从电源电势提供的电势。内部电势可用于例如地址电路系统(802、804)、命令电路系统(806、808)、行和列解码器(816、820),RW放大器822和/或任何各种其它电路块中。
当内部电源电路830可充分地供应用于通电序列的内部电压时,通电复位电路(PON)828提供通电信号。温度传感器826可感测半导体装置800的温度并提供温度信号;半导体装置800的温度可能影响一些操作参数。例如,随着半导体装置的温度增加 /降低,可能需要调整刷新速率。
信号产生电路818可包含一或多个振荡器,所述一或多个振荡器基于例如由通电复位电路(PON)828产生的通电信号和由温度传感器826提供的温度来提供振荡器参考信号。信号产生电路818可响应于温度信号(当由通电信号启用时)控制振荡器参考信号的间隔。例如,当温度较高时(例如,响应于指示较高温度的温度信号),信号产生电路818 可减小用于更频繁的刷新操作的振荡器参考信号的激活间隔。响应于指示温度较低的温度信号,信号产生电路818还可增加振荡器信号的激活间隔,以用于较不频繁的刷新操作。
刷新控制电路814提供用于控制刷新操作的内部参考信号。在一个实施例中,刷新控制电路814接收来自命令解码器808的地址参考信号,来自命令输入电路806的时钟启用信号,及来自信号产生电路818的振荡器参考信号。对于基于行的刷新,行解码器 816可接收内部参考信号并响应于内部参考信号而递增用于刷新操作的行地址。在替代实施方案中(其中刷新是基于列而不是行的),列解码器820可接收内部参考信号并响应于内部参考信号而递增用于刷新操作的列地址。
在一个示范性实施例中,可经由使用配置寄存器来控制与存储器阵列821中的各种存储器阵列相关联的各种操作参数。换句话说,这些配置寄存器的使用可使得能够针对给定应用程序(或多个应用程序)来定制存储器阵列821。这些配置寄存器可进一步使得存储器阵列内的存储器单元架构自身能够动态地改变。鉴于本发明的内容,这些和其它变体对于普通技术人员将为显而易见的。
在一个示范性实施例中,配置寄存器可动态地调整刷新控制电路814,以便控制存储器阵列821中的个别存储器阵列的刷新速率。例如,刷新控制电路814可禁用对存储器阵列821a的刷新操作,可对另一存储器阵列821b实施第一刷新速率,且可对又一存储器阵列821c实施第二刷新速率(其与第一刷新速率不同)。
在一个示范性实施例中,配置寄存器可动态地调整行解码器816和/或对应的RW放大器822,以便根据例如存储器阵列821中的个别存储器阵列的1T1C或2T2C操作来操作。例如,行解码器816可启用(或禁用)与单端(1T1C)或差模(2T2C)相对应的额外行地址位。额外行地址位使存储器阵列821的可寻址范围加倍。同时,对应的RW放大器821 切换到单端(1T1C)或差模(2T2C)。例如,配置寄存器可为存储器阵列821a选择1T1C操作,且可为存储器阵列821b、821c实施2T2C操作。
在一个示范性实施例中,配置寄存器可动态地调整后处理的操作。例如,存储器阵列821可启用(或禁用)与各种存储器阵列821相关联的ECC。在一个此类实施方案中,可对存储器阵列821a启用ECC电路系统,而可对存储器阵列821b禁用ECC电路系统。在一些状况下,后处理可进一步配置;例如,不使用ECC,而是可修改存储器阵列821c 以用于基于CRC的校正,以提供甚至较高级别的位错误纠正。
在一个示范性实施例中,配置寄存器可动态地调整行和/或列寻址的操作,以便使得能够存取冗余存储器部分。行解码器816可启用(或禁用)对冗余熔丝存储体存储器的存取。例如,存储器阵列821a可具有经启用的正常熔丝存储体操作,而存储器阵列821b 可经由直通熔丝存储体寻址,从而可经由扩展行地址范围存取的冗余存储器阵列。
示范性操作系统注意事项-
现在参考图9,展示并详细描述根据本发明的各种原理配置的示范性计算系统900。示范性计算系统900可用于例如桌上型计算机、膝上型计算机、平板、智能装置(例如,智能电话、智能手表等)或字面上能够执行计算机可读指令的任何其它装置内。本文中所描述的计算系统900的功能(或操作)可以硬件、软件、固件或前述的组合来实施。如果以由处理器执行的软件实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读设备(例如,计算机可读存储媒体)上进行传输。计算机可读媒体可包含非暂时性计算机存储媒体及通信媒体两者,包含有利于将计算机程序从一个地方传送到另一地方的任何媒体。非暂时性计算机可读设备可包含例如可由计算系统900存取的任何可用媒体。
计算系统900可包含一或多个应用程序902。一般来说,应用程序在用户空间内操作,所述用户控件可被认为是不受信任的。例如,一或多个应用程序902可包含通常不被计算系统900信任的第三方应用程序。第三方应用程序为由不同于计算系统900开发人员的各方产生或开发的软件应用程序。一或多个应用程序902还可包含可为受信任或不受信任的第二方应用程序。第二方应用程序是由计算系统900的开发者部分拥有或与其有密切的商业关系的各方产生或开发的软件应用程序。一或多个应用程序902还可包含可为受信任或不受信任的第一方应用程序。第一方应用程序为由计算系统900的制造商或开发人员产生或开发的软件应用程序。
如本文中所使用,在计算系统的上下文中,术语“特权”、“有特权”、“无特权”、“信任”、“受信任”和/或“不受信任”是指由计算机系统实施以保护避免错误和/或恶意行为的保护。受信任和/或有特权的软件可自由地存取系统资源,而不受信任和/或无特权的软件可仅在约束下存取系统资源。在一些状况下,计算机操作系统可提供对资源的多个不同级别的存取。受信任和不受信任的软件之间的特殊接口(应用程序编程接口(API)) 的集合形成信任协议,所述信任协议允许不受信任应用程序以有限、安全方式存取资源。通过防止不受信任程序滥用资源,在受信任的存取与不受信任的存取之间的门控存取可改进安全性。
如在本文中所使用,术语“用户空间”和“内核空间”是指软件执行特权中的逻辑分离。在用户空间内运行的进程可仅存取有限的资源分配(受内核限制),而内核受系统管理信任且可存取任何系统资源。大多数安全计算机系统限制不受信任的用户空间应用程序以不受限制的方式修改系统操作(例如,存储器操作)。例如,在本发明的上下文中,恶意用户空间应用程序和/或故障用户空间应用程序修改用于不同应用程序的存储器阵列的配置将是非常不希望的。
返回参考图9,一或多个应用程序902(其为不受信任的)可经由例如操作系统(OS)904的API与计算系统900上的受信任软件进行通信。例如,可打开使得应用程序902 能够与例如计算系统900的存储器驱动程序906通信的套接口或接口。OS 904可为存储器驱动程序906和/或一或多个应用程序902提供运行时服务。通常,OS 904为受信任的软件实体,其经由装置驱动程序(例如,存储器驱动程序906)控制对外围组件(例如,存储器装置910)的存取。
装置驱动程序为计算机程序,其操作或控制附接到计算系统900(为其一部分)的特定类型的硬件。在示范性存储器装置910的上下文中,装置驱动程序负责操作和/或控制这些装置。在一个示范性实施方案中,装置驱动程序包含存储器驱动程序906。存储器驱动程序906经由OS 904在例如存储器装置910与应用程序902之间提供抽象层(例如,转换层)。所说明的存储器驱动程序906为受信任的,然而应了解,一些系统可将存储器驱动程序906视为不受信任的应用程序。例如,存储器驱动程序906可经由例如网络接口或外部装置接口与外部存储器装置(未展示)介接。
在本发明的一个示范性实施例中,存储器驱动程序906在应用程序902与存储器装置910之间提供存储器映射的输入/输出(MMIO)接口。MMIO被映射到与程序存储器和/ 或用户存储器相同的地址空间,并以相同的方式进行存取。MMIO接口允许应用程序902 本机存取存储器装置910,并操纵I/O。MMIO接口对于每一存储器装置910被完全映射和解码;此可能对应于增加的硬件复杂性和/或专用的存储控制器逻辑。
在本发明的其它实施例中,存储器驱动程序906在应用程序902与存储器装置910之间提供端口映射的输入/输出(PMIO)接口。端口映射的I/O使用单独的专用地址空间,且可经由一组专用的微处理器指令进行存取。需要较少的专用硬件逻辑来解码PMIO的离散地址,然而地址转换是在软件中执行的(其相对于MMIO较慢)。
返回参考图9,应用程序902(其假定为不受信任的)可请求例如通过应用程序编程接口(API)动态地配置存储器装置910的存储器阵列912。例如,应用程序902通过API 的请求可包含对预定义大小的存储器的请求,例如:不需要刷新,应具有存储器单元配置,和/或可能/可能不需要预处理或后处理。
在一些实施例中,检查请求以确保其符合计算机系统900的信任协议。在其它实施例中,API在结构上仅接受符合计算机系统900的信任协议的请求。例如,API可允许不受信任的应用程序902仅配置专门分配给其自身的存储器(应用程序的隔离资源902 通常也被称为“沙盒”)。
如果计算机系统900的信任协议允许动态地配置存储器装置910的存储器阵列912的请求,那么将所述请求发送到存储器驱动程序906。然后,存储器驱动程序906可重新配置存储器阵列912和/或存储器装置910的相关联逻辑以适应所述请求;例如,存储器阵列912例如不被刷新,针对1T1C/2T2C配置,启用/禁用ECC和/或任何其它操作参数。在某些情况下,存储器驱动程序906可另外向应用程序902和/或OS 904确认存储器装置910和/或存储器阵列912的重新配置已成功。然后,存储器驱动程序906可根据成功的重新配置来服务来自应用程序902的请求。
在本发明的一个实施例中,存储器装置910的制造商可经由各种配置寄存器设置来指定如何启用存储器装置阵列912的重新配置。例如,存储器装置的制造商可指定启用 /禁用刷新操作的配置寄存器设置,以及如何指定启用/禁用刷新操作的阵列的大小和/或数目。制造商可另外指定刷新速率,以及如何指定刷新速率适用的阵列的大小和/或数目。各种其它配置寄存器设置可与例如存储器单元配置和/或预处理或后处理配置相关联。
在本发明的一个示范性实施例中,计算机系统900的制造商可指定应用程序编程接口(API),应用程序902可通过所述API来存取存储器驱动程序906。在所说明的实施例中,API为计算机系统900的操作系统(OS)904的接口,然而其它变体可将存储器驱动程序906并入为内核、基本输入输出系统(BIOS)或其它特权软件功能性的一部分。
通常,API将不提供对存储器装置910的制造商提供的配置寄存器设置的直接存取。相反,API可识别与特定性质和/或特定功能性相关联的配置。例如,存储器装置910的制造商可提供例如各种位错误率(BER)选项,存储器大小选项和/或其它性能和可靠性折衷。以此方式,应用程序902可识别OS 904的适当性质和/或功能性;OS 904相应地配置存储器驱动程序906、配置寄存器和/或存储器装置910。
考虑其中应用程序902为容错视频处理应用程序请求大量存储器的一种情况。API调用OS 904的存储器重新配置功能,所述存储器重新配置功能为存储器装置910及其存储器阵列912提供适当的配置寄存器设置。例如,存储器驱动程序906可针对指定的大小和/或阵列数目降低刷新速率,因为使用视频应用数据的速度比默认刷新间隔快。另外,存储器驱动程序906可将存储器单元配置为以1T1C操作而非2T2C操作进行操作,从而在同一存储器阵列内提供高得多的存储器容量。最后,存储器驱动程序906可依靠于用于错误恢复的容错视频处理软件而禁用ECC和/或熔丝存储体操作。鉴于本发明的内容,此和其它变体对于普通技术人员将为显而易见的。
可了解,存储器装置910具有有限数目个存储器阵列912;例如,具有三(3)个不同的存储器阵列912的存储器装置910可仅支持多达三个不同的存储器配置。因此,在一些实施方案中,存储器驱动程序906可确定是否将准予(或实施)给定的重新配置请求。作为确定的一部分,存储器驱动程序906可鉴于当前使用的当前存储器阵列而考虑是否可容纳给定重新配置请求。值得注意的是,重新配置存储器阵列可能需要拷贝、丢失或转储清除整个存储器阵列的内容;例如,将1T1C存储器阵列转换为2T2C操作需要将所有存储器内容从差分值重写为单端值。此外,从2T2C操作转换为1T1C操作可能为有损的(2T2C操作可仅保存1T1C存储器阵列的一半存储器内容)。
在一些实施例中,如果给定的重新配置请求与其它存储器阵列使用冲突,那么存储器驱动程序906可不实施所述重新配置请求,且可通知OS 904和/或应用程序902所述请求不成功。在其它实施例中,如果给定的重新配置请求与其它存储器阵列使用冲突,那么存储器驱动程序906可尝试将不同的存储器阵列功能性合并到可接受参数的“最小公分母”中。例如,容错应用程序可与不容错应用程序共享存储器阵列;容错应用程序的操作参数不太严格,且不受较高可靠性的不利影响。
在其它实施例中,可基于优先级排序方案来决定是否实施给定重新配置请求。例如,可向受信任的应用程序赋予比不受信任的应用程序高的优先级。在其它实例中,OS 904可在从用户接口应用程序(其对用户是可感知的)做出的请求与由后台守护程序(其对用户是不可感知的)做出的请求之间区分优先级。更一般地,OS 904可基于发出请求的应用程序902的优先级来对重新配置请求做出决定。例如,应用程序A可具有比应用程序 B的优先级高的优先级。应用程序B可具有比应用程序C的优先级高的优先级,而应用程序C可具有比应用程序D的优先级高的优先级。因此,OS 904可基于此已建立的层次结构级别实施(或不实施)重新配置请求。一旦OS 904已选择适当的存储器配置,OS 904即可指示存储器驱动程序906相应地配置或重新配置存储器装置910。
将了解,虽然根据基本上动态的系统描述前述示范性计算系统900,但可与本发明一致地利用其它方法(包含静态的或“强化的”和准动态的)。具体地,在一个此类实施例中,系统将在设计时经配置以具有不同性质的地址范围,以平衡对高可靠性与更大容量的需求。因此,任何应用程序均将经配置以在所述系统中运行。
另外,使用例如上文所述的动态配置的成本可包含所需的额外电路系统或组件(例如,待内置到存储器控制器中),因此至少部分地抵消经由利用本文中大体所描述的配置而实现的成本节省如此,本发明进一步预期可利用两种类型的配置(例如,强化的和动态的)的有利的或期望的属性,和/或选择性地使用此类组件的混合动力或准动力系统。例如,可仅采用上文所描述动态操作的某些方面,从而减少对控制器逻辑的修改/添加。
方法-
现在将在本文中进一步描述使用或操作前述存储器装置架构的方法。
现在参考图10,展示并详细描述用于根据所实施配置来操作存储器装置的示范性方法1000的逻辑流程图。
在操作1002处,接收到用于配置存储器装置的一或多个配置请求。在一个示范性实施例中,一或多个配置请求由在有特权或受信任的内核空间中操作的操作系统(OS)接收。在一个变体中,一或多个配置请求由用户空间应用程序产生。在一些此类变体中,配置请求可为由不受信任或无特权用户空间应用程序进行的应用程序编程接口(API)调用。
在一些状况下,用户空间应用程序可向OS(或存储器驱动程序)查询有关存储器性能选项,且然后根据其自己的应用程序特定注意事项选择要使用的选项。在其它变体中,用户空间应用程序可通知OS关于其存储器性能偏好,并依靠于OS(或存储器驱动程序) 来基于各种系统范围的注意事项(其可包含对其它用户空间应用程序、正在进行的内核空间任务等的要求)来智能地处置存储器管理。
在一些变体中,用户空间应用程序可产生具有对应优先级和/或最低可接受性能的配置请求。例如,用户空间应用程序可指示无错误操作相对于性能为较低优先级。另外,用户空间应用程序可指示低至1×10-10位错误率(BER)的性能为可接受的,然而需要最小存取延迟。出于下文中更详细描述的原因,可取决于多种其它系统注意事项来准予用户空间应用程序的请求。因此,识别重要性和/或性能约束可显著地改进准予配置请求的可能性。换句话说,所述应用程序可从提供尽可能多的信息显著地受益。
在其它变体中,用户空间应用程序可产生识别特定配置寄存器值的配置请求。鉴于本发明的内容,相关领域的普通技术人员可用其它识别所请求性能的方法来代替。
在一些实施例中,计算机系统可不实施受信任/不受信任应用程序空间划分。例如,一些装置(例如,物联网(IoT)装置)可在操作中充分固定,不复杂和/或另外以其中不需要受信任/不受信任应用空间来实现安全性和/或容错的方式受到约束。在此类实施方案中,一或多个配置请求可由存储器驱动程序直接接收。
虽然所说明实施例说明用户空间起始的配置请求,但替代实施例可使得操作系统(OS)能够起始配置/重新配置而无需例如用户空间应用的请求。在此类实施方案中,OS 可基于当前的应用负载和/或系统配置来动态地管理存储器配置。例如,确定需要更多存储器来服务其当前应用程序负载的OS可主动将存储器装置的存储器阵列从2T2C切换到1T1C类型的操作(从而使存储器阵列的容量加倍)。在另一此类实例中,确定用户空间应用历史上已在短于标准刷新间隔的时间尺度上存储和使用来自相同存储器位置的数据的OS可将存储器配置为较不频繁地刷新。
可配置用于存储器装置的各种操作参数。在一些实施方案中,可在操作期间动态地调整一或多个操作参数而不会影响存储器内容。在其它实施方案中,一或多个操作参数可仅在存储器使用之前进行调整(因为在存储器使用期间的调整可能导致不可接受的数据丢失)。然而,应注意,在一些状况下,动态调整(即使有损)可能比非调整更优选。例如,调整存储器以处置高优先级内核空间任务可能会优先于低优先级用户空间任务,且可能导致用户空间任务“被转储清除”。
与存储器阵列相关联的操作参数的常见实例包含但不限于:例如刷新速率、存储器单元架构、纠错、寻址模式等。例如,配置请求可包含开启/关闭对一或多个存储器装置阵列的刷新的请求。作为另一非限制性实例,配置请求可包含例如变更(或建立)存储器装置的一或多个阵列的刷新速率的请求。配置请求可包含例如禁用(或启用)对存储器装置的一或多个阵列的ECC操作的请求。配置请求还可包含例如变更存储器装置的一或多个阵列的存储器单元架构的请求。例如,变更存储器单元架构的请求可包含将1T1C 存储器单元架构变更为2T2C存储器单元架构的请求,或反之亦然。
与各种其它存储器逻辑和/或组件相关联的操作参数包含但不限于:例如时钟速率、功耗、电压电平、建立/保持时间等。例如,配置请求可包含减少存储器的功耗和/或增加时钟速率的请求。存储器操作的各种其它方面可经修改以便实现其它期望的性能,例如在例如以下美国专利申请案中较详细论述:在2019年2月14日提交的且标题为“用于表征存储器装置的方法和设备(Methods and Apparatus for Characterizing Memory Devices)”的美国专利申请案第16/276,461号;在2019年2月14日提交的且标题为“用于检验经表征存储器搜索的结果的方法和设备(Methods and Apparatus for Checking the Results ofCharacterized Memory Searches)”的美国专利申请案第16/276,471号及在2019 年2月14日提交的且标题为“用于维护经表征存储器装置的方法和设备(Methods and Apparatusfor Maintaining Characterized Memory Devices)”美国专利申请案第16/276,489 号,前述美国专利申请案中的每一个以全文引用的方式并入本文中。例如,根据其中描述的“解决方案密度函数”,本发明的各种存储器阵列可接受较低的可靠性以实获得较高性能。
在操作1004处,做出关于是否准予一或多个所接收到的配置请求的决定。通常,任何物理存储器装置可仅支持不同操作参数的有限数目个排列。然而,物理存储器装置可由许多软件应用程序共享,因为软件应用程序为“虚拟的”,且可能相当众多。
在说明性实施例中,具有有限数目(N)个存储器阵列的存储器装置最多可支持多达N 个不同的存储器配置。在更复杂的实施例中,存储器装置可能能够对存储器阵列进行分段,以提供较大量的灵活性。在其它实施例中,一些存储器配置可能必然限制其它存储器配置;例如,改变存储器单元架构以使一个存储器阵列的存储器大小加倍可影响用于刷新其它存储器阵列的可用带宽等。因此,具有N个存储器阵列的存储器装置可支持少于N个存储器配置。
典型的计算机系统可能运行支持数百个不同软件应用程序的操作系统(OS)。例如,现代蜂窝式装置可运行多线程OS(每一线程对应于单独内核空间应用程序),所述多线程OS支持大量用户空间应用程序,所述用户空间应用程序中的每一个也可为多线程的 (每一线程对应于单独的用户空间应用程序)。相关领域的普通技术人员将容易了解,企业服务器装置可支持基本上更多的应用程序,且专用使用装置(例如,物联网(IoT))可支持更少的应用程序,前述纯粹为说明性的。
在本发明的一个示范性实施例中,每一软件应用程序可能潜在地请求不同的存储器配置,因此操作系统(OS)确定何时应容纳配置请求和/或何时应拒绝配置请求。在其它实施例中,应用程序或存储器驱动程序确定应容纳或拒绝配置请求。
在一个示范性实施例中,操作系统(OS)可基于规则来确定是否可准予/拒绝所接收请求。例如,规则可拒绝来自具有比具有当前准予的存储器配置的应用更低优先级的应用的请求。在一些实施方案中,OS可存取给定数目个应用程序的优先级列表。因此,授予(或拒绝)的决定可基于优先级列表和/或可基于给定请求是否与已准予/接收的另一请求冲突。在其它实施方案中,可从计算系统的用户显式地设置或推断这些规则或优先级。例如,用户界面可识别前台中的特定用户空间应用程序,所述应用程序应优先于其它应用程序(例如,后台守护程序等)。
如在本文中所使用,“规则”是指当满足一或多个条件时执行一或多个动作的预定义指令。多个规则可同时和/或顺序地为活动的,以便实现广泛范围的操作。在一些状况下,可静态设置规则和/或优先级。例如,某些固定使用装置可具有预设定规则和/或预设定优先级。在其它状况下,可动态地设置规则和/或优先级。在另一实例中,多用途装置可在规则集和/或优先级设置之间动态地切换。更一般地,可使用任何数目个算法和/ 或启发法来确定是否应准予/拒绝请求。
可在规则中考虑的系统注意事项的常见实例可包含但不限于例如:资源使用(例如,处理负担、存储器使用、功耗等)、性能注意事项(带宽、等待时间、吞吐量、性能等)、用户空间和/或内核空间应用程序注意事项(容错/不容忍、服务质量、历史使用、优先级)、外部注意事项(对等装置、网络限制、网络带宽、网络拥塞等)和/或通常与装置性能相关联的任何数目个其它因素。
在一个示范性实施例中,基于存储器装置的一或多个存储器阵列的当前使用来确定是否可准许配置请求。如先前所述,具有有限数目(N)个存储器阵列的存储器装置最多可支持多达N个不同的存储器配置。由于大多数应用程序可在不同的时间点任意起始和 /或终止,因此在任何时间点均可使用存储器阵列中的各种存储器阵列。在正常操作期间,可能在当前使用所有存储器阵列时接收配置请求,因此,本发明的各种方面进一步预期在现有分配内服务请求和/或修剪现有分配。
考虑存储器装置,所述存储器装置包含用于所述存储器装置的一组两(2)个存储器阵列。最初,具有最高优先级的第一应用程序请求并被准予不被刷新以实现较高性能的存储器阵列。具有中等级别优先级的第二应用程序请求并被准予以标准刷新速率刷新以实现无错误操作的存储器阵列。随后,具有最低优先级的第三应用程序请求降低的刷新速率。在此实例中,第一和第二应用程序由于其较高的优先级而保留其存储器阵列分配。取决于第三应用程序请求的性质,第三应用程序的请求可被拒绝或合并于现有分配中。如果与第一或第二请求相关联的经配置存储器阵列可满足第三应用程序的请求(没有冲突),那么可在其中合并第三应用程序的请求。另一方面,如果第三应用程序请求减少刷新操作作为对容错操作的优化,那么其可在与第一应用程序或第二应用程序相同的存储器阵列中被服务。相比之下,如果第三应用程序请求减少刷新操作以便实现较高的性能,那么可仅使用第一存储器阵列对其进行服务(如果有的话)。
应进一步注意,随着时间,操作系统(OS)和/或应用程序可改变请求优先级。例如,OS可基于例如等待时间来增加被拒绝和重新提交的请求的优先级。例如,如上文所描述,如果第三应用程序的请求被拒绝,那么第三应用程序可在稍后的时间以较高优先级重新提交。OS可在那时确定第三应用程序优先级已上升到例如第二应用程序的优先级之上。在此情况下,OS可指示存储器驱动程序重新配置与第三应用程序的请求一致的存储器阵列,并在其中合并第二应用程序的分配。
作为相关变体,操作系统(OS)和/或应用程序可抢先修剪存储器阵列分配以准备将来的请求。例如,OS可确定第二应用程序的存储器阵列配置已足够老化且可被释放。操作系统可抢先释放第二应用程序的当前存储器分配,而不是等待另一请求(或等待第二应用程序释放存储器分配)。通过抢先修剪存储器阵列分配,OS可立即对将来请求做出响应。
鉴于本发明的内容,这些和其它实例对于普通技术人员将为显而易见的。前述实例仅旨在说明本发明的原理。
在操作1006处,在存储器装置中实施一或多个配置。在一个示范性实施例中,由存储器驱动程序根据来自OS和/或用户空间应用程序的指令来管理存储器装置中的配置的实施。在其它实施例中,仅通过存储器驱动程序来管理存储器装置中的配置的实施。
例如,如果OS决定应准予一或多个配置请求,那么OS可指示存储器驱动程序根据所准予的配置请求来配置存储器装置的一或多个存储器阵列。在一些实施方案中,实施配置请求可由存储器驱动程序写入到例如位于存储器装置内的一或多个配置寄存器引起。因此,存储器装置根据位于这些配置寄存器内的值来变更其操作。这些值可包含例如禁用(或启用)对存储器装置的存储器阵列中的一或多个的刷新操作的值、设置存储器装置的存储器阵列中的一或多个的刷新速率的值、启用(或禁用)ECC电路系统和/或存储器装置的存储器阵列中的一或多个内的其它预处理或后处理的值,和/或改变存储器装置的存储器阵列中的一或多个的存储器单元架构的值。
在一些实施例中,实施存储器配置进一步需要在现有存储器阵列分配内合并、修剪或以其它方式操纵一些存储器阵列。在一个此类变体中,存储器阵列的一或多个区段被合并在另一存储器阵列内。例如,合并包含将数据从一个存储器阵列的各区段移动到另一存储器阵列(即,拷贝-删除操作)。在一些变体中,合并可为有损的;即,数据的一些部分可能未被拷贝。在其它变体中,合并可能为无损的。在另一此类实例中,修剪包含从存储器阵列删除数据。也可能需要修改存储器内容。例如,用不同类型的预处理或后处理(例如,CRC、ECC、LDPC等)合并存储器阵列可能需要从一个阵列读取数据,将其转换并重新写入到另一阵列。
在一些实施例中,如果准予不同于所请求的特征集,那么存储器驱动程序和/或OS可通知用户空间应用程序。此信息对于防止意外和/或浪费的操作可能为有用的。例如,请求但不能获得较少刷新以获得经改进的存储器带宽的用户空间应用程序可能能够降低其性能以处理低于所请求的存储器带宽。相似地,请求但无法获得存储器单元改变(例如,从2T2C1到T1C)的用户空间应用程序可能需要调整其存储器占用空间大小和/或可靠性期望。另外,OS可在对重新提交的请求的随后优先化中考虑历史准许和/或拒绝信息。例如,在先前的请求被拒绝或与其它准予合并的情况下,可为重新提交分配较高优先级。在其它实例中,在先前被拒绝或合并的请求仍然足够的情况下,可为重新提交分配较低优先级。
在一个实施例中(参见图10A),如本文中别处所描述,在存储器装置中实施配置(或配置改变)中的一或多个将使装置上的可存取存储变化。例如,在一个此类情况下,由于经由配置(改变)包含或移除一或多个功能,产生在存储器装置上可存取的存储的增加。例如,如果实施对存储器装置的一或多个阵列停用ECC操作的请求,那么由于阵列的较少数目的单元或部分被认为不可用于表面上失败的ECC,所以增加那些存储器阵列中可用于应用程序或用户的存储量。可用存储容量的此改变通过存储器装置的可寻址空间的改变来反映。换句话说,一旦实施配置改变,具有第一地址范围X的存储器装置现在将对更大的第二地址范围Y做出响应。第二地址范围可包含第一地址范围X,加上一或多个额外可寻址位,所述一或多个额外可寻址位经添加以囊括新近可存取的单元/部分。在各种实施方案中,本发明预期:(i)在地址的MSB部分处添加一或多个位;(ii)在地址的LSB部分处添加一或多个位;和/或(iii)在地址内,例如在规定的范围边界或其它合适的位置处添加一或多个位。相似地,如果实施用以启用ECC操作的操作,那么可用/可寻址存储器的数量减少。
鉴于本发明的内容,这些和其它实例对于普通技术人员将为显而易见的。前述实例仅旨在说明本发明的原理。
返回参考图10,对存储器空间的配置请求可被部分拒并被部分准予;例如,即使对于存储器空间的配置请求被拒绝,也可分配存储器空间。替代地,无法配置的存储器空间为完全失败的(即,如果无法准予所述请求,那么不会为所述请求分配任何存储器空间)。
当在步骤1008处拒绝配置请求时,请求应用程序可确定是否在稍后时间重新提交请求(返回到步骤1002),或使用存储器(继续到步骤1010)。例如,可在配置有较高优先级配置的存储器阵列内分配存储器空间;因此,即使配置请求被拒绝,存储器分配仍可以“按原样”使用。
在一个实施例中,已做出被拒绝的一或多个配置请求的应用程序可根据其存储器分配的属性来变更(或不变更)其操作。相似于上文所描述的,在所请求特征中无一个被准予的情况下,那么存储器驱动程序和/或OS可通知使用者空间应用程序经分配的存储器性质,以便防止意外和/或浪费的操作。例如,请求但不能获得经改进的存储器带宽的用户空间应用程序可能能够降低其性能以处理低于所请求的存储器带宽。在其它实例中,用户空间应用程序可得体地终止其请求(放弃任何存储器分配)并在稍后时间重新提交。
在一些实施方案中,拒绝配置请求未传递到提出一或多个配置请求的应用程序。此实施方案对于保持安全性和/或防止恶意行为可能为必需的。如此,应用程序可根据其现有设计规范进行操作,且OS和/或存储器驱动程序可以对用户空间应用程序隐藏下伏存储器操作的方式为应用程序提供服务。
鉴于本发明的内容,这些和其它变化对于普通技术人员将为显而易见的,前述实例仅为示范性的。
在操作1010处,根据其实施的配置来操作存储器装置。特定地,存储器装置可根据所准予配置请求操作,以便尤其优化应用程序中的各种应用程序的性能。
在动态可配置的实施例中,用于根据所实施配置来操作存储器装置的示范性方法1000然后可返回到操作1002,在操作1002中,例如操作系统(OS)可接收对所述存储器装置的额外配置请求。现在描述具体的操作实例。
第一实例操作–
可优化易失性存储器装置以用于视频缓冲应用程序。如先前所述,存储在存储器装置中的视频帧信息可具有预期的有用寿命。例如,视频缓冲应用程序的开发人员可禁用对存储器装置的视频缓冲部分的刷新操作,以便使得尤其能够增加存储器吞吐量并降低存储器装置的功耗。具体地,视频缓冲应用程序包含计算机可执行代码,所述计算机可执行代码请求应对视频缓冲存储器分配禁用刷新机制。存储器装置的视频缓冲部分经配置以在视频帧间隔(例如,~42ms)内存储和提供视频信息的帧。
在示范性操作期间,不刷新存储器装置的易失性存储器单元,且在视频帧间隔内存储和使用视频信息的帧。换句话说,视频帧数据未保持足够长的时间来对内容进行刷新;易失性存储器装置仅需要刷新保持时间超过60ms的数据。可允许视频帧数据消散,直到可将新的信息写入到存储器装置。以此方式,可最小化存储器装置的视频缓冲部分的刷新开销和实施刷新操作所需的功率。对于资源受限的装置,此实施方案可能为特别期望的。例如,在便携式计算装置(例如,膝上型计算机、智能电话等)的上下文下,可减少由便携式计算装置消耗的功率,从而实现较长的电池寿命且实现便携式计算装置的用户的用户体验经改进。此所实现的较长电池寿命可增加消费者对便携式计算装置的期望性。
作为另一非限制性实例,考虑其中内容的观看者可仅希望观看可用视觉内容的一部分的使用场景。换句话说,用户可仅期望注视例如360度全景空间内的给定空间范围(例如,视口)。在此应用中,给定帧的全景空间的整个范围可加载到存储器中以供随后查看;然而,实际上仅可查看此所加载存储器的有限子集。在视频应用程序的上下文中,如果未刷新,那么加载到存储器中的未查看内容可被认为是过时的。
简短地说,读取易失性数据需要将所存储电荷解析为逻辑电平。因此,读取数据提供对数据值的隐式刷新。因此,正被查看(读取)的视口数据可被存储到未刷新的存储器阵列中。必须刷新未定期读取的非视口数据。然而,在一些状况下,仅呈现给用户观看的视频信息很重要;所存储的视频信息的其它部分(即,非视口数据)未被用户使用且可具有极其高错误率。
更直接地,整个360°全景空间可存储在易失性存储器中,而无需刷新。全景空间的观看部分通过读取和解码成视频帧而经隐式刷新。全景空间的非可视部分未使用且可被忽略。
以此方式,可以减少刷新开销从而增加存储器吞吐量的方式来操作存储器装置。此外,与其中启用刷新操作的存储器装置相比,所述存储器装置的功率需求也可降低。此外,对于资源受限的装置,此实施方案可能为特别期望的。换句话说,在便携式计算装置(例如,膝上型计算机、智能电话等)的上下文下,可减少由便携式计算装置消耗的功率,从而实现较长的电池寿命且实现便携式计算装置的用户的用户体验经改进。如上文先前所论述,此所实现的较长电池寿命可增加消费者对便携式计算装置的期望性。
第二实例操作–
除了上文所提及视频缓冲应用程序之外,相同或相似的原理可容易地应用于其中存储在存储器装置上的数据原本可能具有有限的有用持续时间的其它类型的应用程序。例如,所确定的应用程序可包含物联网(IoT)应用程序。可能需要与给定IoT应用程序权衡的一些注意事项为成本、大小、功耗和/或启动时间例如,一些IoT应用程序可能运行在小电池上,或以其它方式受到能量限制(例如,可使用所谓的能量收集来供电)。此外,在IoT应用程序中产生(或消耗)的一些数据可被认为是“关键”,而所产生(或消耗)的其它数据可被认为是“非关键”。因此,存储器阵列中的一些可经配置以处置关键数据,而其它存储器阵列可经配置以处置非关键数据。
作为一个非限制性实例,可刷新用于处置关键数据的存储器阵列,而可不刷新(或较不频繁地刷新)用于非关键数据的存储器阵列。中间关键数据的各种等级可比非关键数据更频繁地刷新,且比关键数据较不频繁地刷新。此外,用于处置关键数据的存储器阵列可启用对存储器装置的ECC功能性,而对非关键数据的处置可禁用对存储器装置的ECC 功能性。上文所提及的注意事项可使得IoT应用程序能够消耗较少功率,和/或可增加存储器装置的存储器吞吐量。
在一些实施方案中,IoT应用程序可为其当前(或预期)的存储器存取活动量确定存储器需求。例如,在其当前(或预期)的存储器存取活动量较低的情况下,存储器装置可例如禁用对其存储器阵列中的一或多个的刷新操作。随后,IoT应用程序可确定可能需要更多的存储器资源,且因此可启用其存储器阵列中的一或多个的刷新操作。换句话说,存储器装置可取决于应用程序的预期要求来变更其容量和/或要求。
例如,考虑使用野生动物(猎物或踪迹)相机的应用程序。为了检测野生动物的存在,可能需要所述应用程序来捕获低分辨率的红外线视频(热图像)。然而,当存在野生动物时,相机可能会拍摄单个(或相对较少)的高分辨率快照。因此,相机应用程序可在红外线操作期间禁用对其易失性存储器阵列的部分的刷新,以便节省功率。当存在野生动物时,相机应用程序可对其易失性存储器阵列启用刷新以拍摄高分辨率图像。一旦捕获了高分辨率快照,即可将其长期存储在非易失性存储器(例如,快闪存储器)中,且相机可返回到低分辨率红外线视频操作。
鉴于本发明的内容,存储器装置的灵活配置的这些和其它实例对于普通技术人员将为显而易见的。
第三实例操作–
现在参考图11,展示并详细描述供在雾计算或雾联网应用程序中使用的示范性系统 1100。简短地说,雾计算或雾联网是使用协作的多个最终用户客户端(例如,节点1108)实施大量存储、通信和管理的架构。雾状架构可能是完全分布式的,大部分集中式的或大约介于两者之间。然而,不管特定架构如何,雾联网通常将计算、通信、控制和存储的资源和服务分布较接近于在雾联网的用户处或附近的系统。例如,且如在图11中所展示,用户装置1104可能需要与一或多个基站1106a、1106b通信数据。此数据可从用户装置1104传输到基站1106a,1106b,或可在用户装置1104处从基站1106a,1106b 接收。然而,直接通信可能为不可能的,因为基站1106a、1106b可驻留在用户装置1104 的通信区域1102之外。因此,可能需要多个中间通信节点1108,以便于有利于用户装置1104与基站1106a、1106b之间的通信。
此分布式架构的结果为用户装置1104可能需要跟踪其覆盖区域1102内的节点1108。然而,用户装置1104和/或中间节点1108可处于恒定运动中。因此,各种节点 1108可正在进入和/或退出用户装置的覆盖区域102。用户装置1104和节点1108可被功率约束。例如,用户装置1104可依赖于有限的电源(例如,电池、太阳能等)。这样,对于用户装置1104和/或节点1108来说,以尽可能功率高效的方式进行操作可能是重要的。用户装置1104和/或节点1108可包含各种电子装置,例如智能电话、平板、可穿戴装置或实际上任何其它功率受限的计算装置。在一些实施方案中,用户装置1104和节点1108 可采用相似的形式(例如,其均可构成智能电话)。用户装置1104(和/或节点1108)可各自包含存储器装置,所述存储器装置经利用以便追踪其周围的中间节点1108。
作为一个非限制性实例,用户装置1104可将与用户装置1108较接近的节点1108的位置存储在存储器装置的较高可靠性区域(例如,被刷新的存储器装置的区域)中。例如,节点1108b、1108d、1108f、1108h可存储在存储器装置的较高可靠性区域中。然而,用户装置1104可将位于用户装置1104覆盖区域1102的较远边缘处的节点1108的位置存储在存储器装置的较低可靠性区域(例如,存储器装置的未被刷新或以低于存储器的较高可靠性区域的刷新速率的速率刷新的区域)中。例如,节点1108a、1108c、1108e、1108g、 1108i可存储在存储器装置的较低可靠性区域中。
可将较远的节点1108保持在存储器的较低可靠性区域中,因为可期望这些较远的节点更频繁地退出(和进入)用户装置覆盖区域1102,且因此对于用户装置1104与基站1106a、1106b之间的通信可能较不重要。相反,可期望较接近的节点1108驻留在用户装置覆盖区域1102内达较长时间段,且可能对用户装置1104与基站1106a,1106b之间的通信目的提供更多的有用性。因此,与其中其存储器装置以标准刷新操作的用户装置相比,根据此模式操作的用户装置1104可消耗较少功率。鉴于本发明的内容,这些和其它变化对于普通技术人员将为显而易见的,其中前述实例仅为示范性的。
将认识到,虽然本发明的某些方面是按照方法的步骤的特定顺序来描述的,但这些描述仅为本发明的更广泛方法的说明,且可根据特定应用的需要进行修改。在某些情况下,某些步骤可能变得不必要或任选的。另外,可将某些步骤或功能性添加到所揭示的实施例中,或改变两个或多于两个步骤的执行顺序。所有此类变化被认为囊括在本文中所揭示和所主张的揭示内容内。
虽然上文详细的描述已展示、描述并指出本发明的应用于各种实施例的新颖特征,但将理解,所属领域的技术人员可在不脱离本发明的情况下对所说明的装置或过程的形式和细节作出各种省略、替代和改变。此描述绝不意味着是限制性的,而应被认为是对本发明的一般原理的说明。本发明的范围应参考权利要求书确定。
Claims (25)
1.一种用于存储器装置的非测试操作的方法,所述方法包括:
接收对所述存储器装置的一或多个配置请求;
确定是否准予对所述存储器装置的所述一或多个配置请求;
响应于所述确定,在所述存储器装置内实施所述一或多个配置请求;及
根据所述实施操作所述存储器装置。
2.根据权利要求1所述的方法,其中所述接收所述一或多个配置请求包括在主机计算机化装置内的所述存储器装置的非测试操作时段期间,接收变更对所述存储器装置的一部分的刷新操作的请求。
3.根据权利要求2所述的方法,其中所述接收变更对所述存储器装置的所述部分的所述刷新操作的所述请求包括接收降低所述存储器装置的所述部分的刷新速率的请求。
4.根据权利要求2所述的方法,其中所述接收变更对所述存储器装置的所述部分的所述刷新操作的所述请求包括接收增加所述存储器装置的所述部分的刷新速率的请求。
5.根据权利要求2所述的方法,其中所述接收变更对所述存储器装置的所述部分的所述刷新操作的所述请求包括接收禁用对所述存储器装置的所述部分的刷新的请求,且其中所述请求是响应于由处理器接收的应用计算机程序产生的命令而产生。
6.根据权利要求1所述的方法,其中所述接收所述一或多个配置请求包括接收对所述存储器装置的一部分禁用纠错码电路系统的请求。
7.根据权利要求1所述的方法,其中所述接收所述一或多个配置请求包括接收变更所述存储器装置的至少一部分的存储器单元架构的请求。
8.根据权利要求1所述的方法,其中所述实施所述一或多个配置请求包括将第二一或多个配置请求发送到至少第二存储器装置。
9.根据权利要求1所述的方法,其中所述在所述存储器装置内实施所述一或多个配置请求包括仅在所述存储器装置的一部分内实施所述一或多个配置请求;及
其中所述存储器装置经配置使得所述仅在一部分内实施致使所述存储器装置的至少另一部分在其中自动地实施所述配置请求。
10.一种计算装置,其包括:
处理设备;
存储器装置,其为所述计算装置的架构所固有的,与所述处理设备通信;及
非暂时性计算机可读设备,其包括具有多个计算机可读指令的存储媒体,所述多个计算机可读指令在由所述处理设备执行时经配置以:
从驻留在所述计算装置上的应用程序接收对所述存储器装置的一或多个配置请求;
确定是否准予来自所述应用程序的所述一或多个配置请求;
基于所述确定是否准予来自所述应用程序的所述一或多个配置请求来在所述存储器装置内实施所述一或多个配置请求;及
根据所述一或多个配置请求的所述实施来操作所述存储器装置。
11.根据权利要求10所述的计算装置,其中所述确定是否准予来自所述应用程序的所述一或多个配置请求包括确定所述应用程序是否包括受信任的应用程序。
12.根据权利要求10所述的计算装置,其中所述确定是否准予来自所述应用程序的所述一或多个配置请求包括确定所述一或多个配置请求是否与先前所接收的配置请求冲突。
13.根据权利要求10所述的计算装置,其中所述确定是否准予来自所述应用程序的所述一或多个配置请求包括确定所述应用程序的优先级。
14.根据权利要求10所述的计算装置,其中所述实施所述一或多个配置请求包括对所述存储器装置的配置寄存器的写入,对所述配置寄存器的所述写入启用所述实施。
15.根据权利要求10所述的计算装置,其中与在不实施所述一或多个配置请求的情况下操作所述存储器装置相比,所述根据所述一或多个配置请求的所述实施操作所述存储器装置使得能够节省所述计算装置的功率资源。
16.一种非暂时性计算机可读设备,其包括具有多个计算机可读指令的存储媒体,所述多个计算机可读指令在由主机计算机化装置的处理设备执行时经配置以:
接收对存储器装置的一或多个配置请求,所述存储器装置集成在所述主机计算机化装置内;及
在所述存储器装置内实施所述一或多个配置请求,所述实施包括在所述主机装置的操作期间变更所述存储器装置的一或多个性能特性。
17.根据权利要求16所述的非暂时性计算机可读设备,其中所述变更所述一或多个性能特性包括变更对所述存储器装置的一部分的刷新操作。
18.根据权利要求17所述的非暂时性计算机可读设备,其中所述变更对所述存储器装置的所述部分的所述刷新操作包括降低所述存储器装置的所述部分的刷新速率。
19.根据权利要求17所述的非暂时性计算机可读设备,其中所述变更对所述存储器装置的所述部分的所述刷新操作包括增加所述存储器装置的所述部分的刷新速率。
20.根据权利要求17所述的非暂时性计算机可读设备,其中所述变更对所述存储器装置的所述部分的所述刷新操作包括禁用对所述存储器装置的所述部分的刷新操作。
21.根据权利要求16所述的非暂时性计算机可读设备,其中所述变更所述一或多个性能特性包括对所述存储器装置的一部分禁用纠错码电路系统。
22.根据权利要求16所述的非暂时性计算机可读设备,其中所述变更所述一或多个性能特性包括变更用于所述存储器装置的至少一部分的存储器单元架构。
23.一种操作存储器装置的方法,所述方法包括:
通过第一地址范围提供对所述存储器装置的第一部分的存取;
在所述存储器装置内实施一或多个配置改变;
至少基于所述一或多个配置改变,通过第二地址范围提供对所述存储器装置的所述第一部分和第二部分的存取。
24.根据权利要求23所述的方法,其中在其中集成有所述存储器装置的主机计算机化装置的正常操作状态期间,分别执行所述通过第一地址范围提供对所述存储器装置的所述第一部分的存取,及通过第二地址范围提供对所述存储器装置的所述第一部分及所述第二部分的存取。
25.根据权利要求23所述的方法,其中所述一或多个配置改变包括禁用所述存储器装置的纠错码ECC功能,且所述第二地址范围包括比所述第一地址范围多一(1)位的地址范围。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/505,472 | 2019-07-08 | ||
US16/505,472 US10867655B1 (en) | 2019-07-08 | 2019-07-08 | Methods and apparatus for dynamically adjusting performance of partitioned memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112201287A true CN112201287A (zh) | 2021-01-08 |
CN112201287B CN112201287B (zh) | 2024-04-30 |
Family
ID=73747008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010650064.1A Active CN112201287B (zh) | 2019-07-08 | 2020-07-08 | 用于动态地调整分区存储器的性能的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (3) | US10867655B1 (zh) |
CN (1) | CN112201287B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11398264B2 (en) | 2019-07-08 | 2022-07-26 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7042837B2 (ja) * | 2017-10-31 | 2022-03-28 | 三菱重工機械システム株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
US12034015B2 (en) | 2018-05-25 | 2024-07-09 | Meta Platforms Technologies, Llc | Programmable pixel array |
US11962928B2 (en) | 2018-12-17 | 2024-04-16 | Meta Platforms Technologies, Llc | Programmable pixel array |
US11888002B2 (en) | 2018-12-17 | 2024-01-30 | Meta Platforms Technologies, Llc | Dynamically programmable image sensor |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US12108141B2 (en) | 2019-08-05 | 2024-10-01 | Meta Platforms Technologies, Llc | Dynamically programmable image sensor |
US11935291B2 (en) | 2019-10-30 | 2024-03-19 | Meta Platforms Technologies, Llc | Distributed sensor system |
US11948089B2 (en) | 2019-11-07 | 2024-04-02 | Meta Platforms Technologies, Llc | Sparse image sensing and processing |
US11507174B2 (en) * | 2020-02-25 | 2022-11-22 | Qualcomm Incorporated | System physical address size aware cache memory |
US11825228B2 (en) | 2020-05-20 | 2023-11-21 | Meta Platforms Technologies, Llc | Programmable pixel array having multiple power domains |
US12075175B1 (en) | 2020-09-08 | 2024-08-27 | Meta Platforms Technologies, Llc | Programmable smart sensor with adaptive readout |
US11935575B1 (en) * | 2020-12-23 | 2024-03-19 | Meta Platforms Technologies, Llc | Heterogeneous memory system |
JP7143463B2 (ja) * | 2021-02-26 | 2022-09-28 | 華邦電子股▲ふん▼有限公司 | 半導体記憶装置 |
US11481271B2 (en) * | 2021-03-16 | 2022-10-25 | Western Digital Technologies, Inc. | Storage system and method for using subcodes and convolutional-based LDPC interleaved coding schemes with read threshold calibration support |
KR102504489B1 (ko) * | 2021-04-19 | 2023-02-27 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
JP7470252B2 (ja) * | 2021-07-12 | 2024-04-17 | チャンシン メモリー テクノロジーズ インコーポレイテッド | 半導体メモリ及びそのバンクの容量構成方法 |
KR20230122516A (ko) * | 2022-02-14 | 2023-08-22 | 주식회사 마키나락스 | 금지 영역 정보를 기반으로 반도체 소자를 배치하는 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110004805A1 (en) * | 2009-07-03 | 2011-01-06 | Eunsung Seo | Semiconductor Memory Device Capable of Reducing Current in PASR Mode |
CN102456394A (zh) * | 2010-10-20 | 2012-05-16 | 三星电子株式会社 | 执行dram刷新操作的存储电路、系统和模块及其操作方法 |
CN102834870A (zh) * | 2009-12-02 | 2012-12-19 | 美光科技公司 | 用于非易失性存储器的刷新架构及算法 |
US20170308328A1 (en) * | 2016-04-20 | 2017-10-26 | Samsung Electronics Co., Ltd. | Computing system, nonvolatile memory module and method of storage device |
Family Cites Families (467)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc., Dallas | Verteilter Verarbeitungsspeicher |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
KR940004434A (ko) | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US6038339A (en) | 1997-11-14 | 2000-03-14 | Hewlett-Packard Company | White point determination using correlation matrix memory |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
WO2001040910A1 (en) * | 1999-12-06 | 2001-06-07 | De Jong, Eduard, Karel | Computer arrangement using non-refreshed dram |
US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
US6687175B1 (en) | 2000-02-04 | 2004-02-03 | Renesas Technology Corporation | Semiconductor device |
US7103598B1 (en) | 2000-03-03 | 2006-09-05 | Micron Technology, Inc | Software distribution method and apparatus |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
AU2001270400A1 (en) | 2000-07-07 | 2002-01-21 | Mosaid Technologies Incorporated | A high speed dram architecture with uniform access latency |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
AU2001285161A1 (en) | 2000-08-21 | 2002-03-04 | United States Postal Services | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
DE10208285A1 (de) | 2002-02-26 | 2003-09-18 | Koenig & Bauer Ag | Verfahren zur Korrektur der Bilddaten eines Kamerasystems |
WO2003083730A2 (en) | 2002-04-02 | 2003-10-09 | Points.Com Inc. | Apparatus and method of distributing and tracking the distribution of incentive points |
GB2391336B (en) | 2002-04-09 | 2005-10-26 | Micron Technology Inc | Method and system for local memory addressing in single instruction, multiple data computer system |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US20050286282A1 (en) | 2002-05-30 | 2005-12-29 | Terminus Technology Limited | Associative memory having a mask function for use in a network router |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US6973613B2 (en) | 2002-06-28 | 2005-12-06 | Sun Microsystems, Inc. | Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
US20050015557A1 (en) | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7574466B2 (en) | 2003-04-23 | 2009-08-11 | Micron Technology, Inc. | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
WO2005024843A1 (en) | 2003-09-04 | 2005-03-17 | Koninklijke Philips Electronics N.V. | Integrated circuit and a method of cache remapping |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7200770B2 (en) | 2003-12-31 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Restoring access to a failed data storage device in a redundant memory system |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7404071B2 (en) | 2004-04-01 | 2008-07-22 | Micron Technology, Inc. | Memory modules having accurate operating current values stored thereon and methods for fabricating and implementing such devices |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US7529888B2 (en) | 2004-11-19 | 2009-05-05 | Intel Corporation | Software caching with bounded-error delayed update |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
GB2428496A (en) | 2005-07-15 | 2007-01-31 | Global Silicon Ltd | Error correction for flash memory |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
WO2007069295A1 (ja) | 2005-12-13 | 2007-06-21 | Spansion Llc | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7472132B2 (en) | 2006-05-04 | 2008-12-30 | International Business Machines Corporation | Attributing memory usage by individual software components |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7382655B2 (en) | 2006-07-23 | 2008-06-03 | Solid State System Co., Ltd. | Access time adjusting circuit and method for non-volatile memory |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
JP4839164B2 (ja) | 2006-09-15 | 2011-12-21 | 株式会社日立製作所 | ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
US7460387B2 (en) | 2007-01-05 | 2008-12-02 | International Business Machines Corporation | eDRAM hierarchical differential sense amp |
US7743303B2 (en) | 2007-01-22 | 2010-06-22 | Micron Technology, Inc. | Defective memory block remapping method and system, and memory device and processor-based system using same |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7804718B2 (en) | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US20080234047A1 (en) | 2007-03-21 | 2008-09-25 | Igt | Wager game license management in a game table |
US7613060B2 (en) | 2007-05-21 | 2009-11-03 | Micron Technology, Inc. | Methods, circuits, and systems to select memory regions |
US7492640B2 (en) | 2007-06-07 | 2009-02-17 | Sandisk Corporation | Sensing with bit-line lockout control in non-volatile memory |
US8041989B2 (en) | 2007-06-28 | 2011-10-18 | International Business Machines Corporation | System and method for providing a high fault tolerant memory system |
JP2009009665A (ja) | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US7996749B2 (en) | 2007-07-03 | 2011-08-09 | Altera Corporation | Signal loss detector for high-speed serial interface of a programmable logic device |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
JP5024999B2 (ja) | 2007-09-28 | 2012-09-12 | 東芝ソリューション株式会社 | 暗号管理装置、暗号管理方法、暗号管理プログラム |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
WO2009052525A1 (en) | 2007-10-19 | 2009-04-23 | Virident Systems, Inc. | Managing memory systems containing components with asymmetric characteristics |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
US7808854B2 (en) | 2008-02-19 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for data transfers between memory cells |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
WO2009128033A2 (en) | 2008-04-18 | 2009-10-22 | Nxp B.V. | System and method for configurable mixed radix fft architecture for multimode device |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US20100157079A1 (en) | 2008-12-19 | 2010-06-24 | Qualcomm Incorporated | System and method to selectively combine images |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
CN101997679A (zh) | 2009-08-21 | 2011-03-30 | 华为终端有限公司 | 加密信息协商方法、设备及网络系统 |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
WO2011031260A1 (en) * | 2009-09-10 | 2011-03-17 | Hewlett-Packard Development Company, L.P. | Memory subsystem having a first portion to store data with error correction code information and a second portion to store data without error correction code information |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8547445B1 (en) | 2010-02-17 | 2013-10-01 | Ambarella, Inc. | Camera using combined color processing in lookup |
US8381059B2 (en) * | 2010-02-17 | 2013-02-19 | Micron Technology, Inc. | Error correction and recovery in chained memory architectures |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
US8508624B1 (en) | 2010-03-19 | 2013-08-13 | Ambarella, Inc. | Camera with color correction after luminance and chrominance separation |
US9317536B2 (en) | 2010-04-27 | 2016-04-19 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8588803B2 (en) | 2010-06-18 | 2013-11-19 | Nokia Corporation | Method and apparatus for resource scheduling for network controlled D2D communications |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US8819503B2 (en) | 2010-07-02 | 2014-08-26 | Stec, Inc. | Apparatus and method for determining an operating condition of a memory cell based on cycle information |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553481B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier latch with integrated test data multiplexer |
WO2012104674A1 (en) | 2011-01-31 | 2012-08-09 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US9436402B1 (en) | 2011-04-18 | 2016-09-06 | Micron Technology, Inc. | Methods and apparatus for pattern matching |
JP5874725B2 (ja) | 2011-05-20 | 2016-03-02 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
US9343155B1 (en) | 2012-02-23 | 2016-05-17 | Micron Technology, Inc. | Memory as a programmable logic device |
US9430735B1 (en) | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
US20150340080A1 (en) * | 2012-04-04 | 2015-11-26 | Jean Baptiste Maurice Queru | Refreshing Dynamic Memory |
US20130286705A1 (en) | 2012-04-26 | 2013-10-31 | David B. Grover | Low power content addressable memory hitline precharge and sensing circuit |
US8938603B2 (en) | 2012-05-31 | 2015-01-20 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
US9235465B2 (en) | 2012-06-06 | 2016-01-12 | University of Pittsburgh—of the Commonwealth System of Higher Education | Recursively determined invertible set approach to correct multiple stuck-at faults in rewritable memory |
US20130332707A1 (en) | 2012-06-07 | 2013-12-12 | Intel Corporation | Speed up big-number multiplication using single instruction multiple data (simd) architectures |
US8848471B2 (en) | 2012-08-08 | 2014-09-30 | International Business Machines Corporation | Method for optimizing refresh rate for DRAM |
US9053811B2 (en) | 2012-09-11 | 2015-06-09 | International Business Machines Corporation | Memory device refresh |
US9003223B2 (en) | 2012-09-27 | 2015-04-07 | International Business Machines Corporation | Physical memory fault mitigation in a computing environment |
KR20140045168A (ko) | 2012-10-08 | 2014-04-16 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법 |
US8873757B2 (en) | 2012-10-19 | 2014-10-28 | Qualcom Incorporated | Methods and apparatus for providing network-assisted key agreement for D2D communications |
US9203838B2 (en) | 2012-10-31 | 2015-12-01 | Google Inc. | Providing network access to a device associated with a user account |
US9081708B2 (en) | 2012-11-16 | 2015-07-14 | Freescale Semiconductor, Inc. | Dynamic read scheme for high reliability high performance flash memory |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
WO2014120140A1 (en) | 2013-01-30 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Runtime backup of data in a memory module |
US9135993B2 (en) | 2013-02-07 | 2015-09-15 | Seagate Technology Llc | Temperature based logic profile for variable resistance memory cells |
KR102143517B1 (ko) | 2013-02-26 | 2020-08-12 | 삼성전자 주식회사 | 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법 |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9105360B2 (en) | 2013-03-07 | 2015-08-11 | Seagate Technology Llc | Forming a characterization parameter of a resistive memory element |
US9747977B2 (en) * | 2013-03-14 | 2017-08-29 | Intel Corporation | Methods and systems for verifying cell programming in phase change memory |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
CN103915119B (zh) | 2013-07-11 | 2017-02-15 | 威盛电子股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
WO2015030793A1 (en) | 2013-08-30 | 2015-03-05 | Empire Technology Development, Llc | Reduction of power consumption in flash memory |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US10631162B2 (en) | 2013-10-30 | 2020-04-21 | Samsung Electronics Co., Ltd. | Method and apparatus to perform device to device communication in wireless communication network |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9454206B2 (en) * | 2013-12-30 | 2016-09-27 | Netapp, Inc. | Power management techniques for computer-readable storage devices |
US20150270015A1 (en) | 2014-03-19 | 2015-09-24 | Micron Technology, Inc. | Memory mapping |
DK2922360T3 (en) | 2014-03-21 | 2019-04-15 | Sun Patent Trust | D2D COMMUNICATION PLANNING PROCEDURE |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
US20150288710A1 (en) | 2014-04-08 | 2015-10-08 | Guardicore Ltd. | Application-aware signature-based intrusion detection for virtualized data centers |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
CN106462501B (zh) | 2014-05-08 | 2019-07-09 | 美光科技公司 | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9613684B2 (en) * | 2014-06-05 | 2017-04-04 | Gsi Technology, Inc. | Systems and methods involving propagating read and write address and data through multi-bank memory circuitry |
US10020822B2 (en) | 2014-07-21 | 2018-07-10 | Rensselaer Polytechnic Institute | Error tolerant memory system |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US9886341B2 (en) | 2014-12-31 | 2018-02-06 | Sandisk Technologies Llc | Optimizing reclaimed flash memory |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
CN107408405B (zh) | 2015-02-06 | 2021-03-05 | 美光科技公司 | 用于并行写入到多个存储器装置位置的设备及方法 |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
CN107408404B (zh) | 2015-02-06 | 2021-02-12 | 美光科技公司 | 用于存储器装置的设备及方法以作为程序指令的存储 |
US9395919B1 (en) | 2015-02-10 | 2016-07-19 | Advanced Micro Devices, Inc. | Memory configuration operations for a computing device |
US10522212B2 (en) | 2015-03-10 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for shift decisions |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
US10365851B2 (en) | 2015-03-12 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US9659354B2 (en) | 2015-03-20 | 2017-05-23 | Intel Corporation | Color matching for imaging systems |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
WO2016167778A1 (en) | 2015-04-16 | 2016-10-20 | Hewlett Packard Enterprise Development Lp | Resistive memory arrays for performing multiply-accumulate operations |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9849378B2 (en) | 2015-06-24 | 2017-12-26 | Intel Corporation | Methods, apparatuses, and systems for remote play |
US10540588B2 (en) | 2015-06-29 | 2020-01-21 | Microsoft Technology Licensing, Llc | Deep neural network processing on hardware accelerators with stacked memory |
US10728043B2 (en) | 2015-07-21 | 2020-07-28 | Entrust, Inc. | Method and apparatus for providing secure communication among constrained devices |
WO2017026989A1 (en) | 2015-08-07 | 2017-02-16 | Hewlett Packard Enterprise Development Lp | Crossbar arrays for calculating matrix multiplication |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
WO2017052690A1 (en) | 2015-09-24 | 2017-03-30 | Intel Corporation | Congestion control for vehicular-to-anything services |
WO2017052598A1 (en) | 2015-09-25 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Crossbar arrays for calculating matrix multiplication |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US10210135B2 (en) | 2015-12-31 | 2019-02-19 | Cavium, Llc | Methods and apparatus for providing a programmable mixed-radix DFT/IDFT processor using vector engines |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US9899092B2 (en) | 2016-01-27 | 2018-02-20 | Ip Gem Group, Llc | Nonvolatile memory system with program step manager and method for program step management |
WO2017131711A1 (en) | 2016-01-28 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Memristor crossbar array for performing a fourier transformation |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US10529418B2 (en) | 2016-02-19 | 2020-01-07 | Hewlett Packard Enterprise Development Lp | Linear transformation accelerators |
US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
KR102547056B1 (ko) | 2016-03-28 | 2023-06-22 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 모듈의 커맨드 어드레스 스누핑 |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US10643203B2 (en) | 2016-04-12 | 2020-05-05 | Digicash Pty Ltd. | Secure transaction controller for value token exchange systems |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10176425B2 (en) | 2016-07-14 | 2019-01-08 | University Of Dayton | Analog neuromorphic circuits for dot-product operation implementing resistive memories |
US10388360B2 (en) * | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
JP6625942B2 (ja) | 2016-07-29 | 2019-12-25 | 株式会社東芝 | 半導体記憶装置 |
US9847141B1 (en) | 2016-08-02 | 2017-12-19 | Apple Inc. | Classifying memory cells to multiple impairment profiles based on readout bit-flip counts |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
KR102687216B1 (ko) | 2016-10-12 | 2024-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US10373666B2 (en) | 2016-11-08 | 2019-08-06 | Micron Technology, Inc. | Apparatuses and methods for compute components formed over an array of memory cells |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
US9947401B1 (en) * | 2016-12-22 | 2018-04-17 | Sandisk Technologies Llc | Peak current management in non-volatile storage |
EP3934203A1 (en) | 2016-12-30 | 2022-01-05 | INTEL Corporation | Decentralized data storage and processing for iot devices |
KR102683257B1 (ko) | 2017-01-17 | 2024-07-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10572344B2 (en) * | 2017-04-27 | 2020-02-25 | Texas Instruments Incorporated | Accessing error statistics from DRAM memories having integrated error correction |
US10397328B2 (en) | 2017-05-17 | 2019-08-27 | Nec Corporation | Method and system for providing a robust blockchain with an integrated proof of storage |
US10482943B2 (en) | 2017-06-28 | 2019-11-19 | Qualcomm Incorporated | Systems and methods for improved error correction in a refreshable memory |
CN113113076B (zh) * | 2017-08-08 | 2024-07-26 | 慧荣科技股份有限公司 | 解码方法及相关的闪存控制器与电子装置 |
US10878317B2 (en) | 2017-09-11 | 2020-12-29 | Samsung Electronics Co., Ltd. | Method and system for performing analog complex vector-matrix multiplication |
US10325109B2 (en) | 2017-09-14 | 2019-06-18 | International Business Machines Corporation | Automatic and dynamic selection of cryptographic modules for different security contexts within a computer network |
US10558518B2 (en) | 2017-11-13 | 2020-02-11 | International Business Machines Corporation | Dynamic adjustments within memory systems |
US10372787B2 (en) | 2017-12-12 | 2019-08-06 | Facebook, Inc. | Hardware accelerator pre-configured with coefficients for matrix-transform operations |
KR102394727B1 (ko) * | 2017-12-12 | 2022-05-09 | 에스케이하이닉스 주식회사 | 반도체시스템 |
US20190036772A1 (en) | 2017-12-28 | 2019-01-31 | Intel Corporation | Intelligent wireless configuration for iot devices |
CN111542826A (zh) | 2017-12-29 | 2020-08-14 | 斯佩罗设备公司 | 支持模拟协处理器的数字架构 |
US10719296B2 (en) | 2018-01-17 | 2020-07-21 | Macronix International Co., Ltd. | Sum-of-products accelerator array |
US11188897B2 (en) | 2018-02-13 | 2021-11-30 | Bank Of America Corporation | Multi-tiered digital wallet security |
JP2019168316A (ja) * | 2018-03-23 | 2019-10-03 | 株式会社東芝 | 半導体集積回路 |
US10636112B2 (en) * | 2018-03-28 | 2020-04-28 | Intel Corporation | Graphics processor register data re-use mechanism |
EP3776271A4 (en) | 2018-04-05 | 2022-01-19 | Rain Neuromorphics Inc. | SYSTEMS AND METHODS FOR EFFICIENT MATRIX MULTIPLICATION |
EP3561710A1 (en) | 2018-04-25 | 2019-10-30 | Freeformers Holdings Limited | Data processing system utilising distributed ledger technology |
US10725697B2 (en) * | 2018-05-09 | 2020-07-28 | Western Digital Technologies, Inc. | Round robin system with interleaved weighted and priority arbiters to serve on-demand bandwidth of a storage system |
US10846165B2 (en) | 2018-05-17 | 2020-11-24 | Micron Technology, Inc. | Adaptive scan frequency for detecting errors in a memory system |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US10896715B2 (en) | 2018-06-15 | 2021-01-19 | Micron Technology, Inc. | Dynamic memory refresh interval to reduce bandwidth penalty |
US11307892B2 (en) | 2018-06-27 | 2022-04-19 | Optum Services (Ireland) Limited | Machine-learning for state determination and prediction |
US10692570B2 (en) | 2018-07-11 | 2020-06-23 | Sandisk Technologies Llc | Neural network matrix multiplication in memory cells |
US11093604B2 (en) * | 2018-07-27 | 2021-08-17 | BicDroid Inc. | Personalized and cryptographically secure access control in trusted execution environment |
US10860918B2 (en) | 2018-08-21 | 2020-12-08 | Silicon Storage Technology, Inc. | Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components |
US11112997B2 (en) * | 2018-08-21 | 2021-09-07 | Samsung Electronics Co., Ltd. | Storage device and operating method thereof |
US10901839B2 (en) * | 2018-09-26 | 2021-01-26 | International Business Machines Corporation | Common high and low random bit error correction logic |
CN109117416B (zh) * | 2018-09-27 | 2020-05-26 | 贵州华芯通半导体技术有限公司 | 插槽间的数据迁移或交换的方法和装置以及多处理器系统 |
US11094013B2 (en) | 2018-11-01 | 2021-08-17 | OMNY, Inc. | Private currency and trade engine |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US20200193280A1 (en) | 2018-12-12 | 2020-06-18 | Gyrfalcon Technology Inc. | Adaptation of memory cell structure and fabrication process to binary data asymmetry and bit-inversion tolerance asymmetry in deep learning models |
US10733039B2 (en) | 2018-12-21 | 2020-08-04 | Gyrfalcon Technology Inc. | Effective chip yield for artificial intelligence integrated circuit with embedded memory |
US11349639B2 (en) | 2018-12-28 | 2022-05-31 | ePIC Blockchain Technologies Inc. | Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms |
US10942985B2 (en) | 2018-12-29 | 2021-03-09 | Intel Corporation | Apparatuses, methods, and systems for fast fourier transform configuration and computation instructions |
US11013043B2 (en) | 2019-01-08 | 2021-05-18 | Micron Technology, Inc. | Methods and apparatus for routine based fog networking |
US20200226233A1 (en) | 2019-01-11 | 2020-07-16 | Combined Conditional Access Development And Support, Llc | Distributed ledger-based digital content piracy deterrence |
KR102680273B1 (ko) * | 2019-02-12 | 2024-07-01 | 삼성전자주식회사 | 서스펜드 모드를 제어하는 방법 및 이를 포함하는 메모리 컨트롤러 |
US11256778B2 (en) | 2019-02-14 | 2022-02-22 | Micron Technology, Inc. | Methods and apparatus for checking the results of characterized memory searches |
US10957416B2 (en) | 2019-02-14 | 2021-03-23 | Micron Technology, Inc. | Methods and apparatus for maintaining characterized memory devices |
US11327551B2 (en) | 2019-02-14 | 2022-05-10 | Micron Technology, Inc. | Methods and apparatus for characterizing memory devices |
US10896242B2 (en) | 2019-03-01 | 2021-01-19 | International Business Machines Corporation | Resistive memory device for matrix-vector multiplications |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US11017874B2 (en) * | 2019-05-03 | 2021-05-25 | International Business Machines Corporation | Data and memory reorganization |
KR102690405B1 (ko) * | 2019-06-03 | 2024-08-01 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그것의 동작 방법 |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
-
2019
- 2019-07-08 US US16/505,472 patent/US10867655B1/en active Active
-
2020
- 2020-07-08 CN CN202010650064.1A patent/CN112201287B/zh active Active
- 2020-12-14 US US17/121,466 patent/US11398264B2/en active Active
-
2022
- 2022-07-18 US US17/867,124 patent/US20220351770A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110004805A1 (en) * | 2009-07-03 | 2011-01-06 | Eunsung Seo | Semiconductor Memory Device Capable of Reducing Current in PASR Mode |
CN102834870A (zh) * | 2009-12-02 | 2012-12-19 | 美光科技公司 | 用于非易失性存储器的刷新架构及算法 |
CN102456394A (zh) * | 2010-10-20 | 2012-05-16 | 三星电子株式会社 | 执行dram刷新操作的存储电路、系统和模块及其操作方法 |
US20170308328A1 (en) * | 2016-04-20 | 2017-10-26 | Samsung Electronics Co., Ltd. | Computing system, nonvolatile memory module and method of storage device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11398264B2 (en) | 2019-07-08 | 2022-07-26 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11928177B2 (en) | 2019-11-20 | 2024-03-12 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
Also Published As
Publication number | Publication date |
---|---|
US10867655B1 (en) | 2020-12-15 |
CN112201287B (zh) | 2024-04-30 |
US20220351770A1 (en) | 2022-11-03 |
US20210098047A1 (en) | 2021-04-01 |
US11398264B2 (en) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112201287B (zh) | 用于动态地调整分区存储器的性能的方法和设备 | |
US20230410873A1 (en) | Methods and Apparatus for Probabilistic Refresh in Volatile Memory Devices | |
US9535782B2 (en) | Method, apparatus and system for handling data error events with a memory controller | |
KR100305311B1 (ko) | 리프레시 간격 제어 장치와 방법 및 컴퓨터 | |
JP4038786B2 (ja) | キャッシュメモリにおける漏洩電力の低減方法及び装置 | |
JP4357331B2 (ja) | マイクロプロセッサブートアップ制御装置、及び情報処理システム | |
EP3391220B1 (en) | Systems, methods, and computer programs for resolving dram defects | |
US20130339820A1 (en) | Three dimensional (3d) memory device sparing | |
US20160232063A1 (en) | Dynamically changing lockstep configuration | |
US11922172B2 (en) | Configurable reduced memory startup | |
US10908991B2 (en) | Bit error protection in cache memories | |
US8020165B2 (en) | Dynamic affinity mapping to reduce usage of less reliable resources | |
US10847204B2 (en) | Control of refresh operation for first memory region at first frequency and for second memory region at second frequency | |
US20060064563A1 (en) | Caching presence detection data | |
US20180302105A1 (en) | Bit Error Protection in Cache Memories | |
US11797379B2 (en) | Error detection and data recovery for distributed cache | |
CN111462790A (zh) | 在存储服务器中进行基于管线的存取管理的方法及设备 | |
US20140281159A1 (en) | Memory controller | |
EP2560074A1 (en) | Adaptive ultra-low voltage memory | |
US11281277B2 (en) | Power management for partial cache line information storage between memories | |
JP4719290B2 (ja) | 情報処理システム | |
US6029210A (en) | Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state | |
US20240111684A1 (en) | Multi-level starvation widget | |
JP5477384B2 (ja) | 半導体集積回路装置および半導体集積回路装置の制御方法、ならびに、キャッシュ装置 | |
JP2024538028A (ja) | 信頼できるフラッシュストレージ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |