CN109256169B - 用于管芯上控制存储器命令、时序和/或控制信号的系统和方法 - Google Patents
用于管芯上控制存储器命令、时序和/或控制信号的系统和方法 Download PDFInfo
- Publication number
- CN109256169B CN109256169B CN201810657317.0A CN201810657317A CN109256169B CN 109256169 B CN109256169 B CN 109256169B CN 201810657317 A CN201810657317 A CN 201810657317A CN 109256169 B CN109256169 B CN 109256169B
- Authority
- CN
- China
- Prior art keywords
- sequencer
- memory
- timing
- data
- entry
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 595
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000013598 vector Substances 0.000 claims description 206
- 230000004044 response Effects 0.000 claims description 67
- 210000004027 cell Anatomy 0.000 claims description 57
- 239000004065 semiconductor Substances 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 11
- 230000007704 transition Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 210000000352 storage cell Anatomy 0.000 claims description 6
- 239000000758 substrate Substances 0.000 claims description 6
- 230000002085 persistent effect Effects 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 28
- 238000013461 design Methods 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 33
- 238000012360 testing method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 7
- 230000000670 limiting effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000003370 grooming effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor 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/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- 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/32—Timing circuits
-
- 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/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/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
- Memory System (AREA)
Abstract
本申请公开了用于管芯上控制存储器命令、时序和/或控制信号的系统和方法。定序器电路被配置成生成用于管芯上存储器控制电路系统的控制信号。控制信号可以包括存储器操作脉冲,其用于执行在选择的非易失性存储单元上操作,该选择的非易失性存储单元实现在与定序器(和其他管芯上存储器控制电路系统)相同的管芯内。在配置数据中定义了存储器控制信号的时序、配置和/或持续时间,其可以在管芯和/或管芯上存储器电路系统的设计和/或制造后被修改。因此,在管芯、定序器和其他管芯上存储器控制电路系统的设计和/或制造之后,可以操纵由定序器生成的存储器控制信号的时序、配置和/或持续时间。
Description
相关申请
本申请要求在2017年7月12日申请的美国临时申请号62/531,832的最早可用的有效申请日期的利益,并且其通过参考被并入本文。
技术领域
本公开在各种实施例中涉及存储器操作脉冲控制,并且更特别地涉及使用易失性存储器来控制存储器操作脉冲时序(timing)。
背景技术
非易失性(NV)存储系统可以包括定序器,该定序器可以被配置为尤其是实施在NV存储器上的操作。响应于执行特定操作的请求,定序器可以生成存储器控制信号,诸如命令信号、时序信号、控制信号、操作信号、操作脉冲等。由定序器生成的信号可适用于配置存储器器件以实施特定操作。信号的配置、时序和/或持续时间可以确定在NV存储器内执行的相应存储器操作的配置和/或时序。常规的定序器可以通过使用逻辑电路系统以确定的序列和/或时序来产生控制信号,逻辑电路系统可以实现在与存储器相同的结构上(与由定序器控制的存储元件相同的管芯)。逻辑电路系统可以在存储器管芯的外围区域内实施。相应地,定序器可以被设计成具有低尺寸和/或功率占用空间。由常规的管芯上控制电路系统产生的信号的配置、时序和/或持续时间可以在存储器被设计和/或制造时被固定(例如,可以被“硬连线”到电路系统的设计中)。因此,由常规的管芯上控制电路系统产生的控制信号的配置、时序和/或持续时间可能在设计和/或制造之后不能改变。如果需要改变,由于错误、漏洞或其他考虑,管芯上控制电路系统可能必须重新设计或重新制造,这可能是昂贵的和耗时的(并且可能影响实现在管芯上的其他组件)。然而,在设计和/或制造之后修改某些控制信号(或控制信号序列或模式)的配置、时序和/或持续时间可能是有利的。这样的修改可以使存储器器件能够适应不同的使用条件、磨损水平、测试条件、性能评估、错误率、用户偏好、命令、设置、参数等。因此,所需要的是系统、方法、装置、计算机程序产品和/或电路系统,用于在设计、制造和/或验证存储器结构之后,能够修改由此生成的存储器控制信号的配置、时序和/或持续时间。
发明内容
通过使用附图利用附加的具体性和细节来描述和解释本公开,该的具体性和细节是构成附图的一部分。附图的不同图中的元素的描述可以指代一个或更多个其他图的元素。类似的数字可以指代图中的类似元素,包括类似元素的替代实施例。附图仅描绘了本公开的某些实施例,并且因此不应被认为是对其范围的限制。
附图说明
图1A是说明了包括定序器的存储系统的一个实施例的示意块图,该定序器被配置为适应存储器命令、时序和/或控制信号(诸如存储器操作脉冲)。
图1B描绘了对应于由所公开的定序器生成的示例性存储器控制信号序列的时序图;
图1C是说明了定序器的另一个实施例的示意块图,该定序器被配置为通过使用定序器配置数据来适应存储器命令、时序和/或控制信号。
图1D是说明了如本文公开的定序器的另一个实施例的示意块图。
图1E是说明了包括定序器的存储系统的另一个实施例的示意块图,该定序器被配置为适应存储器命令、时序和/或控制信号(诸如存储器操作脉冲)。
图1F是说明了NV存储单元的一个实施例的示意块图。
图1G是说明了控制电路系统的实施例的示意块图,该控制电路系统被配置为根据对应于定序器控制数据的命令、时序和/或控制信号来实施存储器操作。
图1H是说明了控制电路系统的进一步实施例的示意块图,该控制电路系统被配置为根据对应于定序器控制数据的命令、时序和/或控制信号来实施存储器操作。
图2是用于适应存储器命令、时序和/或控制信号的配置、时序和/或持续时间的方法的一个实施例的流程图。
图3是用于适应存储器命令、时序和/或控制信号的配置、时序和/或持续时间的方法的另一个实施例的流程图。
图4是用于修改由存储系统的定序器生成的命令、时序和/或控制信号的方法的一个实施例的流程图。
图5是用于修改由存储系统的定序器生成的命令、时序和/或控制信号的方法的另一个实施例的流程图。
图6是用于命令、时序和/或控制信号的管芯上控制的系统的一个实施例的示意块图。
具体实施方式
如上所述,NV存储系统可以包括定序器,该定序器可以被配置为,尤其是,生成用于实施在NV存储器上的各种操作的(一个或更多个)信号。定序器可以被配置成根据确定的(一个或更多个)时序生成(一个或更多个)信号。响应于实施在NV存储器上的特定操作的请求,定序器可以被配置为产生控制和/或时序信号的序列。控制和/或时序信号的序列可以配置控制电路系统以实施NV存储器上的特定操作。定序器可以实现在与NV存储器相同的结构中(例如,在NV存储器的外围电路系统中)。因此,定序器可以被指代作为“管芯上(on-die)”定序器和/或可以实现在NV存储器的外围电路系统内。定序器可以被设计以减少施加在NV存储器上的开销(例如,具有低的尺寸和/或功率要求)。此外,定序器可能需要具有低延迟,使得定序器产生各种控制和/或时序信号的延迟不会对在NV存储器上执行(一个或更多个)相应操作的延迟产生不利影响。鉴于前述,常规的管芯上定序器可以实现为逻辑电路系统,该逻辑电路系统被配置为根据预定的(一个或更多个)固定时序生成确定的控制和/或时序信号。因此,由定序器产生的(一个或更多个)信号和/或(一个或更多个)时序可以由尤其是实现定序器的逻辑电路系统来确定。例如,定序器可以包括状态机电路系统,以及由此产生的(一个或更多个)信号和/或(一个或更多个)时序可以由状态机电路系统的一个或更多个状态转换来确定。相应地,由定序器生成的(一个或更多个)信号和/或(一个或更多个)时序可以在NV存储器的制造之后不能够被修改。
本文公开的是用于存储器操作和/或控制脉冲的管芯上控制的电路结构的实施例。电路结构可以包括管芯,该管芯包括NV存储单元、NV存储器阵列、二维NV存储器阵列、三维NV存储器阵列等。该管芯进一步可以包括定序器,该定序器被配置为生成适合于致使管芯上控制电路系统在存储器阵列内实施存储器操作的存储器时序、控制和/或操作信号。定序器可以实现在管芯内,使得存储器阵列和定序器实现在同一管芯内。定序器可以根据存储的配置数据来适应存储器控制信号的配置、时序和/或持续时间(而不是利用在设计和/或制造时间被固定的配置数据,例如,硬连线到定序器电路系统和/或实现在管芯上的其它管芯上控制电路系统)。相应地,在用于实施定序器和/或在管芯上的其他管芯上控制电路系统的电路系统的设计和/或制造之后,由定序器生成以在管芯内实施特定的存储器操作的存储器控制信号的配置、时序和/或持续时间可以,被修改、替换、更新和/或以其他方式操纵。定序器可以被配置为从存储单元读取对应于相应存储器操作的定序器条目,并且在由定序器条目指定的若干时钟周期内生成对应于定序器条目的控制信号,所生成的控制信号可适用于配置实现在管芯上的存储器控制电路系统以实施相应的存储器操作。定序器条目可以包括定时器字段和信号字段。响应于从存储单元读取特定的定序器条目,定序器可以被配置成在由特定定序器条目的计时器字段指定的若干时钟周期内生成对应于特定定序器条目的信号字段的控制信号。时序字段可以包括指数和尾数,并且由定序器条目指定的时钟周期的数量可以被计算为m×2^e,其中m是尾数,e是指数。
所公开的管芯可以进一步包括总线,该总线被配置为将定序器耦合到存储单元。定序器条目可以作为总线上的数据字被传达。总线上的数据字可以分为时序区和信号区。由定序器条目所指定的时钟周期的数量可以经由时序区被通信,并且可以经由信号区通信定义将由定序器生成的存储器控制信号的信号数据。存储单元可以包括非暂时性存储器、持久存储器、只读存储器、易失性存储器、随机存取存储器、静态随机存取存储器、动态随机存取存储器等中的一个或更多个。
在一些实施例中,定序器包括获取电路系统(fetch circuitry)和输出电路系统,获取电路系统被配置为访问来自存储单元的定序器条目,输出电路系统被配置为在由定序器条目指定的若干时钟周期内生成对应于所获取的定序器条目的控制信号。获取电路系统可以进一步被配置以读取时序条目,其跟随存储在存储单元内的一系列的定序器条目中的获取的定序器条目。定序器可以进一步包括解码电路系统,该解码电路系统被配置为解析由获取电路系统访问的定序器条目,解码电路系统进一步被配置为响应于解析由获取电路系统访问的系列的最后定序器条目,确定系列的定序器条目的处理完成。完成系列的定序器条目可以包括生成控制信号矢量的序列,每个控制信号矢量是在由系列的相应定序器条目指定的若干时钟周期内被生成的。
定序器可以包括状态机电路系统,状态机电路系统包括状态逻辑、输出逻辑和/或下一个状态逻辑,状态逻辑被配置为保持定序器状态,该定序器状态定义多个存储器控制信号的输出状态,输出逻辑被配置为输出由状态逻辑保持的定序器状态定义的多个存储器控制信号,下一个状态逻辑被配置为基于存储在存储单元内的定序器条目来确定下一个定序器状态,并且响应于状态逻辑在确定的若干时钟周期内保持定序器状态来将状态逻辑转换到下一个定序器状态。
本文公开的是用于使用在存储器结构的设计和/或制造之后能够被修改的配置数据来在结构上控制存储器操作和/或控制信号的系统的实施例。该系统可以包括易失性存储器,该易失性存储器包括多个定序器指令,每个定序器指令包括定时器数据和信号数据,半导体结构包括多个非易失性存储元件和控制电路系统,其被配置用于响应于存储器控制信号来实施在选择的非易失存储元件上的操作。该系统可以进一步包括实现在半导体结构的控制电路系统内的定序器。定序器可以被配置为执行存储在存储器内的定序器指令。半导体结构可以包括半导体衬底、半导体晶圆、半导体层、存储器芯片、存储器封装、存储器管芯、闪存管芯、NAND闪存管芯和NOR闪存管芯中的一个或更多个。
为了执行定序器指令,定序器可以被配置为:从易失性存储器加载定序器指令,从加载的定序器指令的定时器数据确定周期计数,以及在确定的周期计数内根据加载的存储器指令的信号数据来输出存储器控制信号,由定序器输出的存储器控制信号被配置在半导体结构内的非易失性存储元件上至少实施一部分的存储器操作。加载的定序器指令的定时器数据可以包括指数值和尾数值,并且确定的周期计数可以包括计算m×B^e,其中m是尾数值,e是指数值,B是基本量(例如,2)。该系统可以进一步包括总线,其被配置为将定序器通信地耦合到易失性存储器。在一些实施例中,总线的第一部分被指定用于相应的定序器指令的定时器数据的通信,并且与第一区域不同的总线的第二部分被指定用于相应的定序器指令的信号数据的通信。定序器可以进一步被配置为从确定的定序器指令地址加载定序器指令,并且基于以下内容中的一个或更多个来确定定序器指令地址:在半导体结构内的存储器操作的操作码(opcode)和存储器操作的非易失性存储元件的地址。定序器可以被配置为执行从在确定的定序器指令地址处的第一定序器指令到最后的定序器指令的一系列定序器指令,并且基于最后的定序器指令的时序数据和最后的定序器指令的信号数据中的一个或更多个来识别该系列定序器指令中的最后的定序器指令。
该系统可以进一步包括配置管理器,该配置管理器被配置为利用来自非易失性存储位置的多个定序器指令填充(polulate)易失性存储器。非易失性存储位置可以包括只读存储器、非易失性存储器、固件存储器、一个或更多个非易失性存储元件等中的一个或更多个。配置管理器可以进一步被配置为响应于以下内容的一个或更多个,将修改的定序器指令写入易失性存储器和非易失性存储位置中的一个或更多个:接收修改的定序器指令;和生成修改的定序器指令。响应于以下内容中的一个或更多个可以生成修改的定序器指令:非易失性存储元件的磨损水平和非易失性存储元件的错误率。
存储在易失性存储器内的第一定序器指令可以包括用于与半导体结构的非易失性存储元件上的读操作、写操作和擦除操作中的一个或更多个有关的存储器控制信号的第一时序参数。该系统可以进一步包括定序器调整模块,该定序器调节模块被配置为确定用于第一定序器指令的存储器控制信号的修改的时序参数,并且更新第一定序器指令以用修改的时序参数替换第一时序参数。更新第一定序器指令可以包括以下内容中的一个或更多个:至少覆写存储在易失性存储器内的第一定序器指令的一部分,以及对于控制电路系统至少覆写存储在非易失性固件存储中的第一定序器指令的一部分。
本文公开的是用于在存储器的设计和/或制造之后适应存储器控制信号的时序、配置和/或持续时间的方法的实施例。所公开的方法的实施例包括将包括多个定序器矢量的配置数据存储在易失性随机存取存储器(RAM)内,该易失性随机存取存储器(RAM)通信地耦合到实现在非易失性(NV)电路结构内的定序器电路,以及响应于在NV电路结构的NV存储单元上实施操作的请求,实施存储在定序器电路处的易失性RAM内的一系列定序器矢量。实施一系列定序器矢量可以包括从易失性RAM传输包括该系列的第一定序器矢量的数据单元,根据存储在易失性RAM内的定序器矢量的确定的布局来解释数据单元的位值,以及执行第一定序器矢量。在一些实施例中,数据单元的第一位值包括输出信号矢量,第二位值包括尾数,以及第三位值包括指数。执行第一定序器矢量可以包括在确定的若干时钟周期内产生对应于第一定序器矢量的输出信号矢量的管芯上存储器控制信号。确定的时钟周期的数量可以被计算为m×2^e,其中m是尾数,e是第一定序器矢量的指数。在一些实施例中,该方法进一步包括响应于完成第一定序器矢量的执行来处理系列中的下一个定序器矢量。
管芯上存储器控制信号可以被配置为致使控制电路系统的一个或更多个功能模块至少实施存储器操作的一部分。管芯上存储器控制信号可以被配置为控制以下内容中的一个或更多个的操作:电荷泵电路系统、驱动电路系统、脉冲发生电路系统和感测电路系统等,该电荷泵电路系统被配置为在NV存储器阵列的选择的字线上生成指定的电压电位,该驱动电路系统被配置为在NV存储器阵列的选择的位线上生成指定的电压电位,该脉冲发生电路系统被配置为将编程电压脉冲施加到NV存储器阵列的选择的NV存储单元,该感测电路系统被配置为感测NV存储器阵列(例如,一个或更多个感测放大器)的选择的位线。
所公开的方法的实施例可以进一步包括基于存储器操作和相应的数据单元地址之间的关联来确定用于包括系列的第一定序器矢量的数据单元的地址,从确定的数据单元地址传输包括第一定序器的数据单元,以及从确定的数据单元地址随后的下一个数据单元地址中读取包括在系列中的下一个定序器矢量的数据单元。该方法可以进一步包括在初始化操作期间从非易失性存储位置将包括定序器矢量的配置数据加载到易失性RAM中。在一些实施例中,该方法进一步包括接收修改的定序器矢量,并且将修改的定序器矢量写入易失性存储器和非易失性存储位置中的一个或更多个。写入修改的定序器矢量可以包括在配置数据中用修改的定序器矢量替换第一定序器矢量和将修改的定序器矢量添加到配置数据中的一个或两个。
本文公开的是用于在存储器管芯的设计和/或制造之后适应管芯上存储控制信号序列的配置、时序和/或持续时间的装置的实施例,包括用于将多个定序器时序矢量存储在相应地址处的易失性随机存取存储器(RAM)中的装置,每个定序器时序矢量具有相应时序和控制信号数据,以及用于在非易失性存储器上执行存储器命令的装置。执行存储器命令可以包括将存储器命令与易失性RAM的地址相关联,从与存储器命令相关联的地址获取定序器时序矢量,以及实施定序器时序矢量。实施定序器时序矢量可以包括利用定序器时序矢量的时序数据中包括的尾数和指数来确定定序器时序矢量的时序参数,以及根据确定的时序参数将对应于定序器时序矢量的控制信号数据的控制时序信号提供到命令执行电路系统,控制时序信号被配置为致使命令执行电路系统在非易失性存储器的一个或更多个非易失性存储单元上至少执行存储器命令的一部分。所公开的可以进一步包括:用于从易失性RAM的下一个地址获取下一个定序器矢量的装置,用于基于下一个定序器时序矢量的时序数据和下一个定序器时序矢量的控制信号数据中的一个或更多个来确定在非易失性存储器上的存储器命令的执行是否完成的装置,以及用于响应于确定非易失性存储器上的存储器命令的执行未完成而实施下一个定序器时序矢量的装置。
图1A是描绘存储系统101的一个实施例的示意块图,该存储系统101被配置为在NV存储器104的设计和/或制造之后适应存储器操作脉冲。存储系统101可以包括,尤其是系统控制器102和NV存储器104。系统控制器102可以通过互连107可操作地耦合到NV存储器104。互连107可以包括用于将系统控制器102耦合到NV存储器104的任何合适的装置,并且可以包括但不限于:总线、并行总线、串行总线等。系统控制器102可以进一步被配置为通过使用互连105将存储系统101通信耦合到一个或更多个计算器件。互连107可以包括存储系统101的内部互连电路系统,并且互连105可以包括存储系统101的外部接口。
NV存储器104可以包括NV存储器结构110。NV存储器结构110可以包括和/或实现NV存储器核心111和相应的控制电路系统120。如本文所使用的,“存储器结构”,诸如图1A的NV存储器结构110,指代实现和/或被用于实施NV存储器核心111和/或控制电路系统120的NV存储元件的(一个或更多个)结构元件和/或组件。NV存储器结构110可以包括半导体结构,在该半导体结构上形成电路组件,诸如控制电路系统、信号路由电路系统、驱动电路系统、存储器电路系统和/或其他组件。NV存储器结构110可以包括但不限于:衬底、半导体、半导体衬底、半导体晶圆、半导体层、集成电路、管芯、平面、闪存管芯、NAND闪存管芯、NOR闪存管芯、封装、芯片等。
如图1A所示,NV存储器核心111和控制电路系统120可以在相同的NV存储器结构110(例如,相同的衬底、半导体、层、管芯、平面、封装、芯片等)上实施和/或实现在相同的NV存储器结构110内。因此,控制电路系统120可以包括NV存储器104的“管芯上”控制电路系统(例如,可以被指代为“管芯上”控制电路系统120、“结构上”控制电路系统120、本地控制电路系统120等)。NV存储器核心111可以实现和/或被布置在NV存储器结构110的存储区域内,以及控制电路系统120可以实现和/或被布置在NV存储器结构110的外围区域内。尽管图1A描绘了包括单个NV存储器104的存储系统101,该单个NV存储器104具有单个NV存储器结构110,但本公开不限于此,并且包含包括任意数量的NV存储器104和/或NV存储器结构110(例如四个、八个或更多个NV存储器结构110)的实施例,每个结构包括(一个或更多个)相应NV存储器核心111和/或控制电路系统120。
NV存储器结构110可以包括任何适当类型的NV存储器核心111,其包括在任何合适的布置和/或配置中的任何适当类型的NV存储元件和/或单元。NV存储器核心111可以包括非暂时性存储器、固态存储器、闪存、NAND型闪存、NOR型闪存、可编程金属化单元(PMC)存储器、氧化硅氮氧化硅(SONOS)存储器、电阻RAM(RRAM)存储器、浮动结栅RAM(FJG RAM)、铁电存储器(FeRAM)、磁阻存储器(MRAM)、相变存储器(PRAM)、电可擦除可编程只读存储器(EEPROM)等。
NV存储器核心111可以包括能够存储数据的多个NV存储元件112。NV存储元件112可以包括一个或更多个NV存储单元,其可被布置到相应的页、分区、块、元块、擦除块、平面、库等中。在一些实施例中,NV存储器核心111包括存储器阵列、二维存储器阵列、三维存储器阵列等中的一个或更多个。如本文进一步详细公开的,在一些实施例中,NV存储器核心111包括NAND存储器阵列。
控制电路系统120可以包括定序器122和一个或更多个功能模块130。定序器122可以被配置以生成存储器控制(MC)信号,其可适用于配置控制电路系统120的功能模块130以在NV存储器104内实施相应存储器操作(和/或其部分)。因此,由定序器122生成的MC信号可以包括但不限于:控制信号、控制脉冲、存储器控制脉冲、时序信号、存储器时序信号、时序脉冲、触发信号、触发脉冲、命令信号、命令脉冲、操作信号、操作脉冲、命令、时序、控制(MC)信号等。由定序器122生成的MC信号可以经由相应导体、线、通道、通孔、通过硅通孔(TSV)、导线、迹线、总线、互连、开关、路由器等来传送。控制电路系统120可以被配置以响应于由定序器122生成的MC信号来实施与NV存储器104有关的操作。响应于由定序器122生成的MC信号,由控制电路系统120实施的存储器操作可以包括但不限于:编程操作、存储操作、写入操作、读取操作、写入操作之前的读取、擦除操作、复位操作、验证操作、梳理操作、垃圾收集操作等。
在图1A的实施例中,由定序器122生成和/或输出的一组MC信号可以被称为MC信号矢量123。如本文所使用的,MC信号矢量123指代一个或更多个MC信号的指定状态。MC信号的状态可以指代由MC信号表示的任何合适的特性和/或信息,其可以包括但不限于:断言状态(例如,“断言”或“去断言(de-assert)”)、二进制值、多状态值(例如,在确定的范围内的值)、模拟值、电压电位(和/或电压电位的范围)、电气特性(例如,阻抗、电阻、电容、电感)等。
定序器122可以被配置以根据所确定的时序生成MC信号矢量123。如本文所使用的,信号矢量的时序(诸如MC信号矢量123)指代MC信号矢量123的一个或更多个MC信号被保持在确定的状态的时间。MC信号矢量123的持续时间可以跨越时间,该时间是从包括MC信号矢量123的一个或更多个MC信号中的每个处于确定状态直到MC信号矢量123的MC信号中的任何一个从其确定的状态改变为止(例如,从断言到去断言的转换等)。MC信号矢量123的持续时间可以对应于绝对时间、时间偏移、时钟周期的数量(或其它时序基准)等。
控制电路系统120的功能模块130可以被通信地耦合到NV存储器核心111,并且可以被配置为响应于由定序器122生成的MC信号(例如MC信号矢量123)对NV存储器核心111内的选择的NV存储元件112实施操作。功能模块130可以被配置为对选择的NV存储元件112寻址、将选择的NV元件112耦合到电源、偏置选择的NV存储元件112、将(一个或更多个)驱动信号耦合到选择的NV存储元件112(例如,编程选择的NV存储元件112)、感测选择的存储元件112(例如,读取存储在选择的NV存储元件112内的数据)等。功能模块130中的一个或更多个可以包括和/或被通信地耦合到路由电路系统131,路由电路系统131可以被配置为对NV存储器核心111内选择的NV存储元件112进行寻址。路由电路系统131可以进一步被配置为将选择的NV存储元件112耦合到由一个或更多个功能模块130驱动的(一个或更多个)信号(例如,耦合选择的NV存储元件112的字线以偏置由控制电路系统120生成的电压电位)、感测选择的NV存储元件112(例如,将选择的NV存储元件112的位线耦合到功能模块130中的一个或更多个)等。
通过非限制性示例方式,定序器122可以配置控制电路系统120通过尤其是根据确定的时序生成MC信号矢量123的序列来执行从寻址的NV存储元件112读取数据的操作。实施读取操作可以包括生成第一MC信号矢量123,该第一MC信号矢量123被配置为致使控制电路系统120的一个或更多个功能模块130将寻址的NV存储元件112的字线驱动到确定的电压电平和/或将寻址的NV存储器112的位线耦合到源极和/或漏极端子。定序器122可以在确定的时间段(例如,确定的若干时钟周期)内保持第一MC信号矢量123,其可以配置功能模块130以驱动字线(并且激活位线)用于确定的时间段。在确定的时间段之后,定序器122可以生成第二不同的MC信号矢量123,其可以包括改变其MC信号中的一个或更多个的状态。第二MC信号矢量123可以被配置为致使功能模块130感测寻址的NV存储元件112的位线上的电流和/或电压和/或将位线上感测的数据锁存在数据缓冲器中。
如上所述,常规的管芯控制和/或定序器电路可以根据确定的配置生成命令、时序和/或控制信号,该确定的配置可以在设计和/或制造时间时被固定。这种常规控制和/或定序器电路的配置可以确定用于实施特定存储器操作的一系列MC信号,并且可以确定MC信号的相应时序。在设计和/或制造之后修改控制和/或定序器电路(以及相应的MC信号时序)的配置可能是不可行的。例如,由常规单管芯组件生成的MC信号的配置和/或时序可以实现在定序器电路系统本身中(例如,作为状态机电路的硬连线状态转换)。相应地,对由常规的管芯上控制和/或定序器电路系统产生的MC信号的配置和/或时序的修改可能需要大量的重新设计和/或重新制造。由于常规的控制和/或定序器电路系统可以实现在存储器管芯上(例如,在存储器管芯的外围区域内),这样的重新设计和/或重新制造可以涉及存储器管芯(和/或其他存储器结构)的重新设计和/或重新制造。
在图1A的实施例中,由定序器122生成的MC信号矢量123的配置和/或时序可以至少部分地由定序器配置数据140来定义,该定序器配置数据140可以在NV存储器104的设计和/或制造之后被修改、修订和/或以其他方式操纵。在NV存储器104的操作期间和/或响应于使用条件、磨损水平、测试条件、错误率、用户偏好、命令、设置、参数等,定序器配置数据140可以被修改、修订和/或以其他方式操纵。因此,定序器122可以能够(基于存储在存储系统101内的数据)修改在设计和/或制造之后由此生成的(一个或更多个)MC信号矢量123。相应地,定序器122可以包括和/或被指代为可编程定序器122、可编程管芯上定序器122、可编程管芯上控制器122、自适应定序器122、自适应管芯上定序器122、自适应管芯上控制器122等。
在一些实施例中,定序器配置数据140由配置管理器127管理。配置管理器127可以将定序器配置数据140保持在存储单元129中。存储单元129可以包括任何合适的存储器和/或存储装置,包括但不限于:易失性存储器、随机存取存储器、静态随机存取存储器、动态随机存取存储器、持久性存储器、非易失性存储器、非暂时性存储器等。在图1A的实施例中,存储单元129包括非暂时性存储106,其可以包括任何合适的持久、非暂时和/或非易失性存储位置,包括但不限于:EEPROM、ROM、用于存储系统101的固件存储、用于NV存储器104的固件存储、用于NV存储器结构110的固件存储、用于控制电路系统120(和/或NV存储器核心111)的固件存储等。配置管理器127可以被配置为管理用于存储系统101、NV存储器101、NV存储器结构110、控制电路系统120等的固件。配置管理器127可以被配置为响应于经由(一个或更多个)互连105和/或107接收的一个或更多个命令,将定序器配置数据140加载到非暂时性存储106中。替代性地,或另外地,定序器配置数据140可以被预填充在非暂时性存储106中(例如,可以在存储系统101的设计、制造、初始测试和/或验证期间被预填充)。
存储单元129可以进一步包括易失性存储器124。配置管理器127可以被配置为在初始化期间(例如,在存储系统101的初始自举期间)将定序器配置数据140传输到存储系统101的易失性存储器124。替代性地,在一些实施例中,定序器122可以被配置为直接从非暂时性存储106访问定序器配置数据140(例如,如图1D所说明的)。易失性存储器124可以包括随机存取存储器(RAM),诸如静态RAM(SRAM)、动态RAM(DRAM)等。如图1所说明的,易失性存储器124和/或非易失性存储106可以实现在NV存储器104和/或NV存储器结构110中。易失性存储器124和/或非暂时性存储106中的一个或更多个可以实现在NV存储器结构110的外围区域内,和/或可以被实施为控制电路系统120的一部分。替代性地,或另外地,非暂时性存储106可以包括和/或对应于NV存储器核心111的一个或更多个NV存储元件112。然而,本公开并不限于此。在一些实施例中,易失性存储器124可以独立于NV存储器104和/或NV存储器结构110被实现。易失性存储器124可以包括单独的芯片、封装、管芯等。
定序器122可以通过尤其是存储器总线121通信地耦合到易失性存储器124。在操作期间,定序器122可以被配置为访问存储在易失性存储器124内的定序器配置数据140,并且使用所访问的定序器配置数据140来确定由此生成的MC信号矢量123的配置和/或时序。存储在易失性存储器124和/或非暂时性存储106内的定序器配置数据140可以在NV存储器104的设计和/或制造之后被修改、替换和/或以其他方式操纵。对定序器配置数据140的改变可以被用于修改、替换和/或以其他方式操纵由定序器122生成的MC信号矢量123的配置、时序和/或持续时间,以实施特定的存储器操作。
在一些实施例中,定序器配置数据140包括多个条目142,每个条目142定义定序器122的相应操作状态。每个条目142可以配置定序器122以在指定的持续时间内输出一个或更多个MC信号。条目142可以定义由定序器122生成的相应MC信号矢量123。如上所述,“信号矢量”,诸如MC信号矢量123,指代一个或更多个信号的集合,每个信号具有相应状态。如上所述,信号的状态,诸如由定序器122生成的MC信号可以指代由信号表示的任何合适的特性和/或信息,其可以包括但不限于:断言状态(例如,“断言”或“去断言”)、二进制值、多状态值(例如,在确定的范围内的值)、模拟值、电压电位(和/或电压电位的范围)、电气特性(例如,阻抗、电阻、电容、电感)等。
如上所述,定序器配置数据140的条目142可以被配置为致使定序器122在指定的持续时间输出指定的MC信号矢量123。因此,条目142可以定义在NV存储器104内实施特定存储器操作期间由定序器122生成的MC信号矢量123的配置、时序和/或持续时间。条目142可以包括定序器122的相应操作状态,和/或可以包括被配置成致使定序器122转换到指定操作状态的指令。如本文所使用的,定序器122的“操作状态”指代由定序器122生成的MC信号矢量123的配置、时序和/或持续时间。定序器122可以执行定序器配置数据140的相应条目142,这可以包括将定序器122转换到由条目142定义的操作状态。按顺序执行多个条目142可以配置定序器122通过多个不同的操作状态进行转换,每个操作状态包括定序器122输出具有由相应的条目142定义的配置、时序和/或持续时间的相应MC信号矢量123。因此,顺序地执行多个条目142可以配置定序器122以生成MC信号模式或MC信号序列,其可适用于配置控制电路系统的功能模块130以实施与相应的存储器操作和/或命令有关的存储器操作的序列。因此,定序器配置数据140的条目142可以包括和/或被指代为“时序条目”、“时序矢量”、“定序器条目”、“定序器矢量”、“MC条目”、“MC矢量”等。条目142的有序序列可以被指代为“条目序列”、“时序序列”、“MC序列”等。条目142可以使用任何合适的数据和/或数据结构被实现和/或表示,诸如数据字(例如,N位量)、元组、数据值的集合、一个或更多个数据字段和/或属性、表条目、列表条目、指令、命令等。
图1A描绘了定序器配置数据140的条目142的一个实施例。条目142可以包括信号数据143和时序数据145。信号数据143可以定义要由定序器122生成、断言、输出和/或以其它方式提供的MC信号矢量123。时序数据145可以为所定义的MC信号矢量123指定时序(例如,定序器122要生成、断言、输出和/或提供所定义的MC信号矢量123的时间量)。如本文公开的,信号数据143可以定义一个或更多个MC信号的状态,该一个或更多个MC信号包括要由定序器122生成的MC信号矢量123。时序数据145可以使用任何合适的格式和/或时序基准来指定时序信息。在一些实施例中,时序数据145可以包括绝对时间值和/或时间偏移。时序数据145可以为定序器122输出所定义的MC信号矢量123指定特定的时间量,诸如秒、毫秒、微秒、纳秒等的数量。时序数据145的单位和/或尺度可适应于NV存储器104(例如,对应于与在NV存储器104内使用的MC信号相关联的时间单位和/或(一个或更多个)时间尺度)。替代性地,时序数据145可以指定从特定触发条件(例如,在指定信号的断言之后的指定毫秒的数量)的时间偏移。替代性地,或另外地,时序数据145可以对应于时间基准,诸如时钟信号。如本文所使用的,“时钟信号”指代具有特定周期时间和/或时间段的振荡信号,其可以由定序器122和/或其它控制电路系统120生成和/或被提供给定序器122和/或其它控制电路系统120。时序数据145可以指定定序器122生成、断言、输出和/或以其它方式提供所定义的MC信号矢量123的时钟周期的数量。相应地,时序数据145可以包括时钟周期计数、数量、量等。
由于成本、功率和/或其它考虑,易失性存储器124可以具有对于存储定序器配置数据140可用的有限容量。相应地,定序器配置数据140的条目142可以被配置以占用最小量的存储容量(例如,可由最小数量的位和/或位值表示)。能够跨越大的范围对条目142的时序数据145是有利的。在一些实施例中,条目142的时序数据145被配置为使用小数量的位来表示大范围的持续时间。在一个实施例中,时序数据145可以使用固定数量的位(例如,12位)来表示。如果12位被用于将时序数据145表示为无符号整数,则时序数据145可以能够跨越从0到2b-1的值的范围,其中b是包括时序数据145的位的数量(例如,对于包括12位的时序数据145从0到4095的范围)。对应于常规表示的值的范围可能是不足的(例如,可能需要时序信息跨越更大的范围)。跨越更大的范围可能需要将条目142拆分(例如,拆分成定义相同的MC信号矢量123的两个条目142)。在一些实施例中,包括时序数据145的数据位可以被利用以尤其是通过使用用于编码和/或表示时序数据145内的时序信息(除了常规无符号整数和/或类似表示)的替代技术来跨越更大范围的时序值。
如图1A所说明的,在一些实施例中,条目142的时序数据145可以包括指数147和尾数149。由时序数据145表示的时钟周期的数量可以是指数147和尾数149的乘积(例如,m×Be,其中m是尾数149,e是指数147,以及B是基本量)。如上所述,时序数据145可以使用固定数量的位(例如,12位)来表示。定时器指数147可以包括4位量(从0到16的范围),以及尾数149可以包括8位量(从0到255的范围)。利用为2的基本量B,能够由时序数据145表示的时序值可以跨越从0到最大值16,711,680的范围。最大值对应于指数147和尾数149的最大值(255×216)。能够由为时序数据145分配的12位量表示的值的范围可以显著大于常规表示所跨越的范围,诸如能够跨越从0到4095的更有限范围的值的常规无符号整数表示。
如上所述,定序器122可以访问存储在易失性存储器124内的定序器配置数据140,尤其是,生成在NV存储器104内执行相应存储器操作所需的MC信号矢量123。如图1A所说明的,定序器122可以执行确定的存储器操作(表示为图1A中的存储器操作108)。存储器操作108可以对应于经由互连107和/或105接收的命令。替代性地,或另外地,存储器操作108可以对应于内部管理操作(例如,数据刷新操作)。存储器操作108可以涉及一个或更多个地址,其可以对应于NV存储器核心111内的一个或更多个NV存储元件122。
定序器122可以被配置为尤其是通过访问存储在易失性存储器124内的定序器配置数据140以及使用所访问的定序器配置数据140来执行存储器操作108,以生成MC信号矢量123的时序序列。定序器122可以被配置为从易失性存储器124访问对应于存储器操作108的条目142,并且执行访问的条目142。执行访问的条目142可以包括在由所访问的条目142的时序数据145所指定的持续时间内生成由访问的条目142的信号数据143定义的MC信号矢量123。如上所述,在访问的条目142的执行期间由定序器122产生的MC信号矢量123可以配置控制电路系统120的功能模块130,以实施存储器操作108(和/或其部分)。
在一些实施例中,定序器122可以进一步配置成响应于完成访问的条目142的执行(例如,访问和/或执行一系列条目142)来访问和/或执行下一个条目142。如图1A所说明的,在一些实施例中,定序器配置数据140的条目142可以根据确定的顺序(例如,序列的顺序)布置在易失性存储器124内。定序器122可以被配置为以确定的顺序执行一系列条目142(例如,执行一系列定序器指令或命令)。在这样的实施例中,执行存储器操作108可以包括定序器122访问和/或执行一系列条目(例如,条目142A-N)。定序器122可以被配置为基于尤其是存储器操作108的特性(诸如操作类型、地址等)来识别该系列中的第一条目142A。在一些实施例中,定序器122保持地址指针125,其可以对应于易失性存储器124的一个或更多个地址。响应于存储器操作108,定序器122可以将地址指针125设置到确定的地址(例如,与存储器操作108相关联的地址),并且可以通过使用地址指针125从易失性存储器124执行第一条目142A。
在完成第一条目142A的执行之后,定序器122可以进一步被配置为访问和/或执行与存储器操作108相关联的下一个条目142(例如,条目142B)。访问下一个条目142B可以包括在易失性存储器124的下一个地址处读取易失性存储器124。定序器122可以通过尤其是增量(increment)第一条目142A的地址和/或根据所确定的顺序增量地址指针125来确定下一地址。在一些实施例中,定序器122可以被配置为将地址和/或地址指针125增量一(例如,如果第一条目142A被存储在易失性存储器142A内的地址α处,定序器可以在地址α+1处访问下一个条目142B)。在完成下一个条目142B随后,定序器122可以继续顺序地访问和/或执行随后的条目142C-N,如本文公开的。
一系列条目142A-N可以配置定序器122以生成、断言、输出和/或以其他方式提供MC信号矢量123的序列,在指定的若干时钟周期内顺序地生成每个MC信号矢量123。相应地,执行该系列条目142A-N可以配置定序器122以产生MC模式或MC序列126,其适应于配置控制电路系统120以(通过使用控制电路系统120的一个或更多个功能模块130)实施NV存储器104内的存储器操作108。
通过非限制性示例的方式,图1B描绘了在执行示例性定序器配置数据140期间由定序器122生成的MC序列126,其中包括以下条目142A-N:
条目142 | 时序数据145 | 信号数据143 |
142A | 6 | 'b0001 |
142B | 2 | 'b0011 |
… | … | … |
142N | 1 | 'b1100 |
条目142A-N可以包括适于执行(一个或更多个)特定类型的存储器命令和/或操作的条目序列,诸如读取操作、写入操作、擦除操作等操作(例如,图1A中所说明的存储器操作108)。定序器122可以被配置为通过以下方式来执行存储器操作,尤其是,从第一条目142A到最后条目142N顺序地访问和/或执行该系列条目142A-N。如示例性时序图128A所说明的,执行第一条目142A可以包括在由第一条目142A的时序数据145指定的持续时间(例如,6个时钟周期)内断言第一MC信号矢量123,其包括由第一条目142A的信号数据143定义的位值'b0001(每个位值经由相应的MC信号被传达)。在执行第一条目142A的随后,定序器122可以访问和/或执行下一个条目142B,如本文公开的。执行条目142B可以包括在两个时钟周期内(按照(per)条目142B的时序数据145)生成由条目142B的信号数据143定义的第二MC信号矢量123。定序器122可以继续访问和/或执行条目142A-N,直到最后条目142N被完成为止(例如,按照其时序数据145,通过在一个时钟周期内生成由条目142N的信号数据143(位值'b1100)定义的MC信号矢量123)。在一些实施例中,定序器122可以进一步被配置为响应于完成最后条目142N的执行而输出默认MC信号矢量123。默认MC信号矢量123可以包括NOOP和/或空闲MC信号矢量123,其可以被配置为闲置(idle)控制电路系统120的一个或更多个功能模块130。定序器122可以保持默认MC信号矢量123直到下一个存储器命令被执行。
如本文公开的,在条目142A-N的执行期间由定序器122产生的MC序列126可以被传送到控制电路系统120的功能模块130,并且可以配置功能模块130来实施在NV存储器104上的存储器操作108。MC序列126的配置,包括相应MC信号矢量123的配置、时序和/或持续时间,该MC序列126的配置可以尤其是通过修改存储单元129(例如,易失性存储器124和/或非暂时性存储106)内的定序器配置数据140被修改、修订、替换和/或以其他方式操纵。因此,在NV存储器104的设计和/或制造之后,定序器122可以被配置为适应不同的使用条件、磨损水平、错误率、用户偏好、测试条件等。
在一个非限制性示例中,上面公开的MC序列126可适用于执行(一个或更多个)特定类型的存储器命令和/或操作(例如,读取操作)。由定序器122根据第一条目142A生成的MC信号矢量123可以配置控制电路系统120的一个或更多个功能模块130以,尤其是,在指定的时间段(例如,6个时钟周期)内将所寻址的NV存储元件112的一个或更多个字线上的电压电位驱动到指定的电压电平。下一个条目142B可以配置控制电路系统120的一个或更多个功能模块130,以感测寻址的NV存储元件112上的电流和/或电压电位。因此,由第一条目142A和/或第二条目142B指定的持续时间可以确定读取操作的时序约束和/或时序裕度。例如,第一条目142的持续时间可以确定用于将字线充电到(一个或更多个)指定电压电位的时间量和/或被允许用于在第二条目142B的后续感测操作被执行之前稳定(settle)位线的时间量。由第二条目142B指定的持续时间可以确定允许用于感测操作的时间量(例如,稳定时间、感测时间)。第二条目142B(和/或条目序列的另一个后续条目142)可以确定在位线上感测的数据被锁存的时间。
在一些情况下,条目142A-N所定义的一个或更多个时序可以被确定为不充足的,这可能导致读取错误率(和/或读取失败)增加。替代性地,某些(一个或更多个)时序被确定为太长,可能导致读取干扰错误、性能下降和/或功耗增加。定序器配置数据140可以被修改以调整由相关条目142A-N所定义的(一个或更多个)时序,它们可以配置定序器122以在执行后续命令/操作期间生成对应于调整的(一个或更多个)时序的MC信号矢量123。例如,条目142A可以被修改以改变其指定的持续时间,这可能导致(一个或更多个)字线被充电、预充电或在执行相应的感测操作之前被偏置(如条目142B所定义的)的时间被改变。在一些实施例中,对定序器配置数据140的修改可以由控制电路系统120和/或系统控制器104来启动。如本文进一步详细公开的,这种修改可以响应于确定的条件(诸如磨损水平、错误率等)来启动。替代性地,或另外地,对定序器配置数据140的修改可以由其他组件和/或过程来启动,其中可以包括,但是不限于:内建系统测试(BIST)模块、错误检测和缓解(mitigation)组件、主机计算设备、操作系统、文件系统、驱动器、诊断过程、用户过程、用户命令(在测试和/或评估期间)等。例如,用户可以修改定序器配置数据140,以便测试NV存储器104的替代配置、测试由定序器122实施的用于特定类型的存储器命令或操作的特定MC信号矢量123和/或特定MC序列126的替代的(一个或更多个)配置、(一个或更多个)时序和/或(一个或更多个)持续时间。
在上述非限制性示例中,修改定序器配置数据140可以包括修改条目142A的时序数据145,以选择性地增加或减少由条目142A定义的MC信号矢量123的指定持续时间。在随后修改的定序器配置数据140中,修改条目142A以将由定序器122输出的MC信号矢量123的持续时间从六个周期增加到八个周期:
条目142 | 时序数据145 | 信号数据143 |
142A | 8 | 'b0001 |
142B | 2 | 'b0011 |
… | … | … |
142N | 1 | 'b1100 |
修改定序器配置数据140可以包括修改、更新、替换和/或以其他方式操纵存储在非易失性存储器106和/或易失性存储器124内的定序器配置数据140的条目142A。响应于后续的读取操作,定序器122可以访问修改的定序器配置数据140,其包括访问和/或执行包括修改的条目142A在内的一系列条目142A-N。如时序图128B所说明的,执行包括条目142A-N(包括修改的条目142A)的MC序列126可能导致定序器122在八个时钟周期而不是6个时钟周期内生成第一MC信号矢量123(对应于位值'b0001)和/或将由定序器122输出后续条目142B-N的MC信号矢量123的时间移位两个时钟周期(这可能增加对应的存储器命令和/或操作的延迟)。
如上所述,修改由常规控制和/或定序器电路系统生成的MC信号的配置和/或时序,可能需要重新设计和/或重新制造这种电路系统。因此,常规的管芯上控制和/或定序器实施方式在设计和/或制造NV存储器104之后,可能不能适应不同的使用条件、磨损水平、错误率、用户偏好、测试条件等。
如本文公开的,图1C描绘了定序器122和/或定序器配置数据140的进一步实施例。如图1C所示,定序器配置数据140可以包括一个或更多个条目142。该条目142可以按确定的顺序布置在易失性存储器124内。
在一些实施例中,定序器配置数据140的条目142可以实现为固定大小的数据单元。可以根据易失性存储器124和/或总线121的配置来适应固定大小的数据单元的大小和/或配置(例如,其可以适应于对应易失性存储器124和/或总线121的数据字大小和/或配置)。在图1C实施例中,易失性存储器124可以被配置为寻址相应32位数据单元,并且总线121可以配置为通信32位数据单元(例如,可以被配置为基本并行地通信32位数据单元)。因此,在图1C实施例中,定序器配置数据140的条目142可以包括和/或实现为存储在易失性存储器124内的相应地址的32位数据单元。
条目142可以包括相应的部分(例如,字段、量和/或值),诸如信号数据143、时序数据145等。存储系统101的系统控制器102和/或控制电路系统120可以被配置为将包括条目142的固定大小的数据单元以确定的格式和/或布局存储在易失性存储器124内。确定的格式和/或布局可以包括将条目142的相应部分存储在固定大小数据单元内指定的位(bit)位置。如图1C所说明的,每个条目142的信号数据145可以被存储在第一指定的位位置(例如,位[19:0]),以及每个条目142的时序数据145可以被存储在第二指定的位位置(例如,位[31:20]),定序器122和/或易失性存储器124可以进一步被配置为根据固定大小的数据单元的确定的格式和/或布局来通信条目142。总线121可以被划分为相应区域或者部分,每个区域或部分被指定用于通信条目142的相应部分(例如,条目142的相应字段或子字段)。在一些实施例中,总线121的第一部分被指定用于通信信号数据143(例如,条目142的信号字段)并且总线121的第二部分被指定用于通信时序数据145(例如,条目142的定时器字段)。总线121的第二部分可以进一步被划分为子部分,用于通信条目142的指数和/或尾数(例如,可指定总线121的第二部分的子部分用于通信条目142的相应指数和/或尾数子字段)。在一个实施例中,总线121的数据位[19:0]被指定用于通信相应条目142中的信号数据143,以及总线121的数据位[31:20]被指定用于通信相应条目中的时序数据145。总线的数据位[19:0]可以包括总线121的信号区域,以及数据位[31:20]可以包括总线121的时序区域。总线121的时序区域可以进一步被划分为指数区域和尾数区域,其可以包括时序区域的子区域和/或子部分。
通过非限制性示例方式,定序器配置数据140的示例性条目142可以包括具有随后十六进制值0x23CADD1的32位量。根据上面公开的条目142的确定格式和/或布局,示例性条目142的信号数据143可以包括0xCADD1(或'b1100、'b1010、'b1101、'b1101、'b0001),并且时序数据145可以包括0x23。时序数据145可以包括指数147和尾数149。指数147可以是2(按照(per)在[31:28]的数据位以及尾数149可以是3(按照在[27∶20]的数据位)。由示例性条目142指定的时钟周期的数量可以被计算为3×22(12个周期)。因此,示例性条目142可以配置定序器122以在12个时钟周期的持续时间内输出对应于数据位'b1100、'b1010、'b1101、'b1101、'b0001的MC信号矢量123。
将易失性存储器124内的条目142表示为能够经由总线121被有效传送的固定大小数据单元,以及指定总线121的区域用于条目142的相应部分的通信,可以使定序器122的延迟最小化以访问、解析和/或以其他方式处理存储在易失性存储器124内的条目142。用于访问、解析和/或以其他方式处理条目142的延迟可以显著低于相应存储器操作的延迟和/或时序,响应于由定序器122生成的(一个或更多个)MC信号矢量123,使得定序器122所施加的延迟(如果有的话)没有贡献到控制电路系统120在NV存储器104内实施的相应的操作的总延迟。此外,使用指数147和尾数145量表示时序数据145可以使定序器配置数据140的条目142能够跨越大范围的时序值,同时将在易失性存储器124内存储的这样的条目142所需的存储容量的量最小化。
虽然本文描述了用于定序器配置数据142的条目142的(一个或更多个)特定数据格式,但本公开不限于此,并且可适用于使用具有任何合适的格式和/或布局的任何合适的数据结构来表示MC时序和/或信号矢量信息。例如,在一些实施例中,定序器配置数据140的条目142可以包括不同大小的数据单元,诸如16位量、64位量、可变大小的数据单元等。替代性地,或另外地,条目142可以包括被配置用于由定序器122执行的命令和/或指令。条目142可以对应于由定序器122支持的命令和/或指令集。在一些实施例中,条目142可以包括定序器状态数据,该定序器状态数据可以被用于配置定序器122以转换到特定状态(例如,在转换到下一个状态之前在指定的时间段内输出确定的MC信号组)。
由定序器122实施的存储器操作可以包括一个或更多个特性,这些特性可以包括但不限于:操作类型(例如,“op code(操作码)”)、地址、标志、参数等。操作类型118可以指示正在执行的存储器操作的类型(例如,读取、编程、擦除等)。地址可以指示要在其上执行存储器的NV存储元件112。存储器命令和/或操作的特性可以由控制电路系统120的功能模块130(诸如命令解码器电路系统、地址解码器电路系统等(图1C中未示出,以避免所说明的实施例的细节模糊))解码和/或以其他方式定义。图1C描绘了在定序器122处执行的存储器操作108,其可以具有特定的操作类型118。操作类型118可以对应于能够由定序器122实施的多个不同操作类型118A-N中的一个,其可以包括但不限于:编程操作、存储操作、写入操作、读取操作、写前读操作、擦除操作、重置操作、验证操作、梳理操作、垃圾收集操作等。
如上所述,定序器122可以被配置为通过尤其是生成对应于相应操作的MC信号矢量123的序列来管理在NV存储器104内相应的存储器操作的执行。由定序器122生成的MC信号矢量123可以配置控制电路系统120的功能模块130,以实施NV存储器104内的相应存储器操作。每个不同类型的存储器操作可能要求定序器122产生具有不同的相应的(一个或更多个)配置、(一个或更多个)时间和/或(一个或更多个)持续时间的不同的相应序列或MC信号矢量123。
在图1C实施例中,定序器122可以被配置为将(一个或更多个)操作类型118A-N映射到定序器配置数据140的相应部分。如本文公开的,定序器配置数据140可以包括多个条目142,其可以根据确定的顺序被布置。定序器122可以通过尤其是按序列地访问和/或执行条目142来执行存储器操作。执行条目142的序列可以配置定序器122以生成对应于特定操作类型118A-N的MC序列126(例如,输出MC信号矢量123的适当序列)。在图1C实施例中,定序器配置数据140包括多个条目序列144,每个条目序列144包括被配置用于以确定的顺序执行的一个或更多个条目142(例如,每个条目序列144包括条目142的相应有序的序列)。相应条目序列144的条目142可以被布置在易失性存储器124内的相应顺序的地址范围和/或偏移量内。在图1C实施例中,条目序列144A可以包括存储在地址146A到148A的条目142;条目序列144B可以包括存储在地址146B到148B的条目142;依此类推,条目序列144N包括存储在地址146N到148N的条目142。每个条目序列144A-N可以对应于相应的操作类型118A-N。例如,条目序列144A可以与操作类型118A相关联,使得包括条目序列144A的条目142的序列被配置为致使定序器122生成MC序列126用于执行操作类型118A的存储器操作。条目序列144B可以与操作类型118B相关联,以此类推,条目序列144N与操作类型118N相关联。
定序器122可以包括获取单元152,其可以被配置为经由总线121从易失性存储器124获取条目142。获取单元152可以包括获取电路、获取电路系统、获取逻辑等,其可以实现在NV存储器结构110内,如本文公开的。响应于存储器操作108,获取单元152可以被配置为从易失性存储器124获取选择的条目142。获取单元152可以基于尤其是存储器操作108的一个或更多个特性来选择要获取的条目142。在图1C实施例中,获取单元152可以被配置为基于存储器操作108的操作类型118选择要从易失性存储器124获取的条目142。获取单元152可以通过使用关联153的组来选择条目142,该关联的组可以将每个操作类型118A-N映射到相应条目序列144A-N(和/或相应条目地址,诸如每个条目序列144A-N的第一条目142的地址146A-N)。关联(associations)153可以由定序器配置数据140定义(例如,关联153可以被存储在易失性存储器124内的确定的地址和/或地址偏移)中,并且可以在存储系统101的操作期间由获取单元152访问。关联153可以被保持在数据结构中,诸如表、查找表、索引、树、映射等。虽然本文描述了用于将存储器命令和/或操作与定序器配置数据140关联的特定机制,但本公开不限于此,并且可适用于使用任何合适的技术、机制和/或(一个或更多个)数据结构来映射、翻译和/或以其他方式将存储器命令和/或操作与定序器数据140相关联。
在图1C的实施例中,获取单元152可以基于存储器操作108的操作类型118将存储器操作108与条目序列144A和/或地址146A相关联。作为响应,获取单元152可以在地址146A(条目序列144A的第一条目)获取条目142。获取单元152可以进一步被配置为将地址指针125设置为地址146A。获取单元152可以从确定的地址146A读取条目142,并将条目142提供给定序器122的解码单元154。
如本文公开的,解码单元154可以包括解码电路、解码电路系统、解码逻辑等(其可以实现在NV存储器结构110中)。解码单元154可以被配置为识别、提取和/或解释条目142的相应部分。响应于从获取单元152接收条目142,解码单元154可以被配置为识别条目142的信号数据143和/或时序数据145。如本文公开的,解码单元154可以被配置为根据所确定的条目142的格式和/或布局来识别和/或提取信号数据143和/或时序数据145(例如,信号数据143可以对应于数据位[19:0],并且时序数据145可以对应于数据位[31:20])。解码单元154可以进一步被配置为确定条目142的时序信息,其可以包括从条目142(例如,分别从数据位[31:28]和[27:20])中提取指数147和/或尾数149。解码单元154可以进一步被配置为将尾数149乘以指数147,如本文公开的。与典型算术运算相比,该计算可以被简化,尤其是因为乘法可以包括由指数147进行的尾数149的按位位移(bitwise shift)(因为指数表示二的相应幂,这对应于无符号整数的按位位移)。
解码单元154可以将信号数据143和确定的时序信息165(例如,时钟周期的数量)提供给定序器122的执行单元156。执行单元156可以包括执行电路、执行电路系统、执行逻辑、输出电路系统、驱动电路系统、缓冲器电路系统等,它们可以实现在NV存储器结构110内,如本文公开的。执行单元156可以被配置成根据条目142的信号数据143生成MC信号矢量123,如本文公开的。执行单元156可以包括MC驱动电路系统158,其可以被配置为根据提供的信号数据143生成包括MC信号矢量123的一个或更多个MC信号。MC驱动电路系统158可以包括一个或更多个信号驱动器、信号缓冲器、放大器、电荷泵等。MC驱动电路系统158可以耦合到用于将MC信号(包括MC信号矢量123)传送到控制电路系统120(和/或其相应功能模块130)的装置。用于传送MC信号的装置可以包括一个或更多个:导体、通道、导线、迹线、通孔、通过硅通孔(TSV)、开关、路由器、互连、总线等。
执行单元156可以进一步被配置成根据由解码单元154提供的时序信息165输出MC信号矢量123(例如,在时序信息165所指定的持续时间内)。该时序信息165可以包括如本文公开的时钟周期计数。执行单元156可以包括计数器单元157,该计数器单元157可以被配置为对时钟信号的周期进行计数,以便尤其是在指定的若干时钟周期内将MC信号矢量123保持在由信号数据145定义的状态中(未在图1C中显示,以避免混淆所说明的实施例的细节)。响应于确定已在指定的若干时钟周期内生成MC信号矢量123,执行单元156可以确定条目142完成。响应于该完成,(根据由解码单元154提供的信号数据145和/或时序信息165)执行单元156可以输出对应于下一个条目142的MC信号矢量123。执行单元156可以进一步被配置以通知其他单元152、154和/或158执行完成。
响应于获取条目142(第一条目142),获取单元152可以开始获取下一条目142。在一些实施例中,在第一条目142的执行完成之前,获取单元152开始获取下一个条目142,使得一旦其他单元154、156和/或158完成第一条目142的执行,下一个条目142就会被获取以进行处理。替代性地,获取单元152可以延迟获取直到从一个或更多个其他单元154、156和/或158接收状态信息,诸如来自执行单元156的完成通知和/或来自解码单元154的解码信息。获取下一个条目142可以包括根据易失性存储器124中条目142的确定顺序增量地址指针125。获取单元152可以从易失性存储器124加载下一个条目142和/或将下一个条目142提供给解码单元154,如本文公开的。在一些实施例中,获取单元152被配置为在完成第一条目142之前,将下一个条目142提供给解码单元154(和/或通知解码单元154下一个条目142对于处理是可用的)。作为响应,解码单元154可以解码下一个条目142,并且将相应的信号数据143和/或时序信息165提供给执行单元156,该执行单元156可以响应于完成第一条目142来生成MC信号矢量123,该信号矢量123对应于在指定的持续时间内提供的信号数据143。解码单元154可以在执行单元156完成第一条目142之前,解码下一个条目142和/或将相应的信号数据143和/或时序信息165提供给执行单元156,使得信号数据143和/或时序信息165在第一条目142的执行完成时(或之前)在执行单元156处是可用的。
如本文公开的,定序器122可以按顺序处理随后条目142。定序器122可以继续处理条目142,直到确定存储器操作108(和/或相应的条目序列144A)完成。在一些实施例中,定序器122基于完成条件检测完成。正本文所使用的,完成条件指代能够由定序器122检测到的任何条件、准则、触发器、阈值和/或中断。在一些实施例中,完成条件可以包括从易失性存储器124中获取专用条目142,专用条目142可以指示由定序器122实施的条目序列144完成。专用条目42可以基于尤其是与专用条目142相关联的地址、专用条目142的信号数据143、专用条目142的时序数据145等被检测。在一些实施例中,专用条目142可以包括NOOP、空闲或“停止”条目142,其可以指定0持续时间(例如,包括0和/或空时序数据145)和/或包括指定信号数据143(例如,0或空信号数据143)。替代性地,或另外地,完成条件可以包括从易失性存储器124中获取无效和/或空条目142和/或将地址指针125增量到无效地址(例如,用于存储定序器配置数据140的易失性存储器124的地址范围外和/或存储区域以外的地址)。在一些实施例中,完成条件可以包括到达条目序列144的最后地址。(例如,条目序列144A的地址148A)。每个条目序列144的最后地址148可以被包括在上面公开的关联153中。在一些实施例中,完成条件可以包括执行阈值数量的条目142(例如,关联153可以指示相应条目序列144中包括的条目142的数量)。
响应于确定完成存储器操作108(和/或条目序列144A)的执行,定序器122可以终止条目142的序列执行和/或开始执行下一存储器操作。定序器122可以被配置为跳转(jump)到易失性存储器124内的不同地址,并且恢复访问和/或执行条目142,如本文公开的。替代性地,或另外地,定序器122可以被配置为输出默认的MC信号矢量123,直到下一个存储器操作被执行。如本文公开的,默认MC信号矢量123可以被配置为使控制电路系统120的一个或更多个功能模块130空闲,从而降低由控制电路系统120生成的功耗和/或热量。定序器122可以继续输出默认MC信号矢量123直到被中断(例如,直到执行下一个存储器操作)。
如上所述,条目142中的一个或更多个可以包括专用条目。如本文所使用的,专用条目142指代配置定序器122以实施与定序器配置数据140有关的一个或更多个控制和/或管理操作的条目。专用条目142可以包括NOOP条目142、停止条目142和/或空闲条目142,如上所述,其可以配置定序器122以输出NOOP或空闲MC信号矢量123,该NOOP或空闲MC信号矢量123被配置为使控制电路系统120的一个或更多个功能单元130空闲和/或终止在存储器内的条目142的顺序执行。另一个专用条目142(例如,跳转条目142)可以配置定序器142以从指定地址访问下一个条目142,这可能与定序器122所执行的序列中的下一个地址不同。解码单元154可以被配置为(基于其信号和/或时序数据143、145)检测跳转条目142,并且可以配置获取单元以从跳转条目142指定的地址获取下一个条目142,其可以包括将地址指针125更新为指定的地址。另一个专用条目可以包括条件跳转条目142。如果满足由条件跳转条目142所指定的条件,条件跳转条目142可以配置定序器122跳转到指定地址。该条件可以涉及控制电路系统120的一个或更多个状态信号和/或指示符,诸如读/写电路系统的程序验证信号(本文进一步详细地公开)。解码单元154可以基于其内容检测条件跳转条目142。解码单元154可以进一步被配置为解码由条件跳转条目指定的条件和/或评估解码条件。评估条件可以包括读取一个或更多个状态信号和/或指示符,如本文公开的。解码单元154可以进一步被配置为响应于评价指示条件满足,将由条件跳转条目142指定的地址提供给获取单元152。否则,解码单元154可以忽略条件跳转条目142,使得获取单元152(和/或其他单元154、156、158)继续顺序的执行条目142,如本文公开的。解码单元154可以不将条件跳转条目142转发到执行单元156。
虽然本文描述了特殊类型的专用条目142,但本公开不限于此,并且可适用于使用任何类型的条目142和/或专用条目142,它们具有任何合适的格式和/或被配置为实施与定序器122和/或定序器配置数据140有关的任何合适类型的控制和/或管理操作。在一些实施例中,定序器可以包括处理器、微控制器等,其可以被配置为执行特定的指令集。在这样的实施例中,定序器数据140的条目142可以包括特定指令集的指令。特定指令集可以包括配置定序器122的指令,以产生具有定义的配置、时序和/或持续时间的(一个或更多个)MC信号矢量123的相应序列,如上所述。特定指令集可以进一步包括与其他操作有关的指令,诸如NOOP指令、停(stop)指令、停止(halt)指令、空闲指令、跳转指令、条件跳转指令、算术指令(例如,比较指令)、状态指令等。
如本文公开的,图1D是说明了定序器122的另一个实施例的示意块图。在图1D实施例中,定序器122可以包括状态机电路系统,诸如有限状态机电路、有限状态自动化电路、有限状态逻辑等。包括定序器122的状态机电路系统的相应状态和/或状态转换可以由尤其是本文所公开的定序器配置数据140来定义。在图1D实施例中,定序器包括状态逻辑166、下一个状态逻辑164和输出逻辑168。如本文公开的,定序器122可以进一步包括获取逻辑162,其可以被配置为从存储单元129加载定序器配置数据140的条目142。在图1D实施例中,获取逻辑162被配置为从非暂时性存储106加载条目142。因此,NV存储器结构110(和/或存储系统101)可以不包括图1A的易失性存储器124。如本文公开的,定序器122和非暂时性存储106可以实现在NV存储器结构110和/或存储系统101中。
获取逻辑162可以将从非暂时性存储160加载的条目142提供给下一个状态逻辑164,其可以由此确定定序器122的下一个状态。状态逻辑166可以被配置为保持定序器122的当前状态。如本文公开的,定序器122的“状态”指代由定序器122输出的MC信号集合和/或MC信号集合的持续时间(例如,时钟周期的数量)。因此,定序器122的状态可以由条目142的信号数据143和/或时序数据145来定义。如本文公开的,响应于条目142,下一个状态逻辑164可以通过解码、解析和/或提取来自条目142的信号和/或时序数据143、145,计算用于条目142的时序信息165等来确定定序器122的下一个状态。下一个状态逻辑164可以进一步被配置为将下一个状态信息提供到状态逻辑166。状态逻辑166可以包括一个或更多个寄存器、锁存器、存储器缓冲器等。下一个状态逻辑164可以进一步包括计数器157,该计数器可以响应于时钟信号(例如,CLK)而增量。下一个状态逻辑164可以通过尤其是将下一个条目142的信号数据143和/或时序信息165锁存到状态逻辑164、重置计数器157等来将状态逻辑166转换到下一个状态。输出逻辑168可以被配置为生成MC信号矢量123,该MC信号矢量包括对应于由状态逻辑166所保持的信号数据143的(一个或更多个)MC信号。如本文公开的,输出逻辑168可以包括电路系统,该电路系统被配置为解码和/或以其他方式将信号数据143转换成相应(一个或更多个)MC信号,驱动包括MC信号矢量123的(一个或更多个)MC信号,将(一个或更多个)MC信号路由到NV存储器104内的控制电路系统120等等。
状态逻辑166可以保持锁存在其中的状态信息,直到计数器157达到确定值(例如,由时序信息165指定的时钟周期的数量)。直到计数器157达到所确定的值,输出逻辑168可以继续生成对应于锁存在其中的信号数据143的MC信号矢量123。因此,输出逻辑168可以在由条目142的时序数据145指定的持续时间内将MC信号矢量123保持在由信号数据143定义的状态中。当计数器157达到所确定的值时,状态逻辑166可以转换到下一个状态,其可以包括锁存由下一个状态逻辑164提供的状态信息(例如,锁存对应于由获取逻辑162加载的下一个条目142的信号数据143和时序信息165)。转换到下一个状态可以包括输出逻辑168,其根据锁存在状态逻辑166内的不同信号数据143生成不同的MC信号矢量123。
图1E是描绘存储系统101的另一个实施例的示意块图,该存储系统101被配置为在存储系统101的设计和/或制造之后调整存储器操作脉冲。存储系统101可以包括系统控制器102和NV存储器104。系统控制器102可以被配置为将存储系统101通信地耦合到主机103。主机103可以包括计算器件,该计算器件可以包括但不限于:服务器计算器件、个人计算器件、移动计算器件(例如,智能电话、平板电脑等)、实现式计算器件、虚拟计算系统(例如,虚拟机、虚拟桌面)、虚拟化环境(例如,虚拟化内核、管理程序(hypervisor))等。虽然在图1E中未示出,以避免模糊所说明的实施例的细节,主机103可以包括处理器、易失性存储器、非暂时性存储、一个或更多个输入/输出接口、人机界面(HMI)组件等。
在一些实施例中,存储系统101实现在主机103中,和/或包括主机103的内部组件。存储系统101可以包括机载存储器器件、机载存储器件、集成存储器器件、集成存储器件、存储器模块、存储模块等。替代性地,或另外地,存储系统101可以被配置为通过主机互连、机载互连、系统互连、外部互连、远程互连等(例如,互连105)中的一个或更多个选择性地被耦合到主机103。存储系统101可以包括附加组件(add-on)器件、附加组件存储器件、附加组件存储器器件、外围器件、外围组件器件等。在一些实施例中,存储系统101实现在与主机103分离和/或独立于主机103的器件内(和/或能够选择性地耦合到主机103和/或从主机103解耦)。存储系统101可以包括存储器器件、存储器件、外部存储器器件、外部存储器件、存储器器具、存储器具、服务器、存储器服务器、存储服务器、网络附加存储器器件、网络附加存储器件、高速缓存器件、高速缓存器具等。虽然图1A描绘了单个主机103,但本公开不限于这方面。存储系统101可以通信地耦合到任意数量的主机103(例如,可以在多个主机103之间共享)。
存储系统101可以通过互连105通信地耦合到主机103。互连105可以包括但不限于输入/输出(I/O)连接、I/O总线、I/O控制器、本地总线、主机桥(北桥芯片、南桥芯片等)、前端总线、外围组件互连(PCI)、PCI express(PCI-e)总线、串行AT附件(串行ATA或SATA)总线、并行ATA(PATA)总线、小型计算机系统接口(SCSI)总线、直接存储器存取(DMA)接口、IEEE 1394火线(Fire Wire)接口、光纤通道接口、通用串行总线(USB)连接等。在一些实施例中,存储系统101通过电子通信网络通信地被耦合到主机103。因此,互连105可以包括以下内容中的一个或更多个:网络、网络连接、网络接口、存储网络接口、存储区域网络(SAN)接口、虚拟存储区域网络(VSAN)接口、远程总线、PCE-e总线、无限带宽接口、光纤通道协议(FCP)接口、HyperSCSI接口、远程DMA(RDMA)接口等。
系统控制器102可以被配置为管理到和/或来自存储系统101的数据传输。系统控制器102可以包括I/O控制器、I/O缓冲器、读缓冲器、写缓冲器、DMA控制器、RDMA控制器等。系统控制器102可以被配置为在互连系统105上传送存储在存储系统101内的数据,其可以包括但不限于:从存储系统101读取的数据、与存储系统101有关的状态信息、与存储系统101有关的配置信息等。系统控制器102可以进一步被配置为从互连105接收数据,其可以包括命令、数据、配置信息、固件等。
NV存储器104可以包括管芯170。管芯170可以包括和/或实现NV存储器阵列171和控制电路系统,其可以包括管芯控制器172、定序器122、地址电路系统132、读/写电路系统134、功率控制电路系统136等。地址电路系统132、读/写电路系统134和功率控制电路系统136可以包括功能模块130,功能模块130可以被配置为响应于由定序器122生成的MC信号矢量123来实施NV存储器阵列171内的存储器操作,如本文公开的。
如图1E所说明的,管芯控制器172和/或其他控制电路系统132、134、136和/或122可以被实施和/或实现在包括NV存储器阵列171的管芯170内。因此,管芯控制器172和定序器122可以包括NV存储器104的“管芯上”或“芯片上”控制电路系统。尽管图1E描绘了包括单个NV存储器104的存储系统101,该单个NV存储器104具有单个管芯170,但本公开不限于此,并且实现包括任意数量的NV存储器104和/或管芯170(例如四个、八个或更多个管芯170)的实施例,每个包括相应的NV存储器阵列171和对应的控制电路系统。
定序器122可以被配置为基于存储在存储单元129内的定序器配置数据140来控制存储器操作的执行。如本文公开的,存储单元129可以包括非暂时性存储106和易失性存储器124中的一个或更多个。在图1E实施例中,易失性存储器124可以实现在管芯170内(在与定序器122和/或NV存储器阵列171相同的管芯170内)。易失性存储器124可以包括SRAM单元、DRAM单元等。可以用来自非暂时性存储106的定序器配置数据140(通过使用配置管理器127)填充易失性存储器124,如本文公开的。在图1E实施例中,存储单元129,包括非暂时性存储106和/或易失性存储器124,可以实现在管芯170内(在与定序器122和/或NV存储器阵列171相同的管芯170内)。替代性地,存储单元129、非暂时性存储106和/或易失性存储器124可以实现在除管芯170之外的结构内(例如,可以包括单独的管芯、芯片、封装等)。
管芯170可以包括在任何合适的布置和/或配置中的任何合适类型的NV存储元件112。NV存储器阵列171可以包括非暂时性存储器、固态存储器、闪存、NAND型闪存、NOR型闪存、PMC存储器、SONOS存储器、RRAM、FJG RAM、FeRAM、MRAM、PRAM、EEPROM等。
系统控制器102可以被配置为通过互连105接收与NV存储系统101有关的命令。虽然没有在图1E中描绘,以避免模糊所说明的实施例的细节,但是系统控制器102可以包括一个或更多个接口组件,其被配置为将控制器102通信地耦合到互连105和/或107。系统控制器102可以进一步被配置为通过使用互连105来对存储器结构110供电(例如,互连105可以被配置为对耦合到其上的(一个或更多个)器件供电)。替代性地,或另外地,NV存储系统101可以通过使用单独的电源和/或连接来供电。通过互连105接收的命令可以包括在存储系统101内存储数据的命令、从存储系统101读取数据的命令、管理命令、与存储系统101的配置有关的命令、请求关于存储系统101的状态信息的命令、向存储系统101传输数据和/或从存储系统101传输数据的命令等。系统控制器102可以被配置为执行命令,这些命令可以包括解码命令和/或(经由互连107)向NV存储器104发出相应命令109。
管芯控制器172可以被配置为响应于相应的命令109实施存储器操作,如本文公开的。管芯控制器172可以进一步被配置为在NV存储器104上执行管理操作,其可以独立于命令109。如本文公开的,这样的管理操作可以包括刷新操作、梳理操作、垃圾收集操作等。执行存储器操作可以由定序器122控制,其可以生成适合于配置功能模块(例如,地址电路系统132、读/写电路系统134、功率控制电路系统136等)的(一个或更多个)MC序列矢量123,以执行相应的存储器操作。
管芯控制器172可以包括解码电路系统173,其可以被配置为处理经由互连107接收的存储器命令109。解码电路173可以被配置为确定对应的相应命令109的(一个或更多个)操作类型,确定与命令109有关的寻址信息等。解码电路系统173可以进一步被配置为将存储器命令109的地址转换和/或转化为由地址电路系统132可使用的地址,以(通过使用列解码器133A和/或行解码器133B)在NV存储器阵列171内对相应的NV存储元件112寻址。
地址电路系统132可以被配置为对对应于特定存储器操作的NV存储元件112寻址。地址模块132可以包括行解码器133A和列解码器133B。NV存储器阵列171的NV存储元件112可以经由行解码器133A和/或列解码器133B由相应存储器阵列控制线可寻址。存储器阵列控制线可以包括字线和位线,该字线可以通过行解码器133A来访问,该位线可以通过列解码器133B来访问。
读/写电路系统134可以被配置为通过使用一个或更多个感测块135A-N(诸如从寻址的NV存储元件112读取数据、向寻址的NV存储元件112写入数据、擦除被寻址的NV存储元件112等)来执行由地址电路系统132寻址的NV存储元件112上的存储器操作。功率控制电路系统136可以被配置为控制在存储器操作期间提供给存储器阵列控制线(例如,字线、位线、选择线等)的功率和/或电压电位。功率控制电路系统136可以包括一个或更多个电荷泵、信号驱动器、信号放大器等。由地址电路系统132、读/写电路系统134和/或功率控制电路系统136所使用的电压电位和/或其他信号的配置时序和/或持续时间可以至少部分地由定序器122所生成的(一个或更多个)MC信号矢量123来控制,以实施相应存储器操作。
在一个实施例中,包括NV存储器阵列171的NV存储单元和/或NV存储元件112可以被布置到相应块中。块可以对应于擦除单元(例如,可以包含被配置为作为组被擦除的NV存储单元和/或NV存储元件112)。如本文中进一步详细公开的,每个块可以包括一组NAND串(string),其可以经由相应存储器阵列控制线(例如,字线、位线、选择线等)被访问,每个块内的NAND串可以共享共同的字线的集合。每个块可以包括多个页面(NAND页面),其可以对应于编程单元。NAND页面可以包括NV存储器阵列171内的NV存储单元的行。NAND页面可以包括NV存储单元的集合,它们被耦合到同一个字线并能够被并行编程。图1E中描绘的NV存储元件112可以包括和/或对应于页、块、页组、块组等。
NV存储元件112和/或NV存储元件112的集合(例如,特定块/或块的集合内的NV存储元件112)可以被分为一个或更多个物理区182(例如,物理区182A-D)。如本文所使用,物理区182指代NV存储器页面112的集合,其具有相似和/或相应的特性,诸如磨损特性、性能特性、可靠性特性、制造特性等。
在一些实施例中,NV存储器阵列171可以包括多个NV存储单元10,如图1F所说明的。NV存储单元10可以包括具有电荷存储单元20的场效应晶体管,其可以包括但不限于:浮动栅、电荷俘获(介电)层等。NV存储单元10可以进一步包括:源极14、漏极16和控制栅极30。控制栅极30可以被用于控制NV存储单元10上的读和写操作。
图1G描绘了NV存储器阵列171的(一个或更多个)NV存储元件112的实施例,以及相应的功能单元,这些功能单元被配置成响应于由定序器122生成的MC信号矢量123,在NV存储元件112上实施存储器操作。NV存储元件112可以包括多个NV存储单元10,其被布置在相应NAND串50和/或NAND页面51内。每个NAND串50可以包括由其源极14和漏极16菊花链式的(daisy-chained)一系列NV存储单元10(MC A-N)。一对选择晶体管S1、S2可选择性地将NAND串50耦合到源极端子54和漏极端子56(其可供电和/或激活NAND串50)。当NAND串50的源极选择晶体管S1被接通时,NAND串50可以被耦合到源端子54和/或源极线64。类似地,当漏极选择晶体管S2被导通时,NAND串50可以被耦合到漏极端子56和/或NAND串50的位线66(每个NAND串50具有相应位线66A-N)。NV存储单元10的控制栅极30可以被耦合到相应的字线31(例如字线31A-N)。字线31可以跨越NAND串50(例如,耦合到多个NND串50中的每个内相应的NV存储单元10)。在图1G实施例中,沿着NAND串50的相应行的NV存储单元10的控制栅极30可以被连接到相同的字线31,形成相应的NAND页面51。如上所述,相应NAND串50的选择晶体管S1、S2的控制栅极可以提供用于控制经由相应源极端子54和漏极端子56对NAND串50的访问。
在NAND串50内读取选择的NV存储单元10,可以包括向所选NV存储单元10供应适当的电压电位(经由耦合到所选NV存储单元10的控制栅极30的字线31),同时(经由相应控制栅极30)用(一个或更多个)不同的电压电位供应NAND串50的其他非寻址的NV存储单元10,该电压电位可以被配置为完全开启其他非寻址的NV存储单元10。以这种方式,从以下之间有效地创建导电路径:a)寻址的NV存储单元10的源极14和源极线64之间;以及b)寻址的NV存储单元10的漏极16和漏极线(位线66)之间。可以由读/写电路系统134和/或功率控制电路系统136驱动字线31A-N上实施读和/或验证操作所需的电压电位。读取选择的NV存储单元10可以进一步包括感测耦合到NV存储单元10的位线66上的电压电位和/或电流,和/或锁存在位线66上感测的相应数据值(通过使用读/写电路系统134)。由定序器122根据定序器配置数据140生成的MC信号矢量123的配置、时序和/或持续时间,可以确定各种读取操作的时序,诸如字线31A-N在后续感测操作之前充电的时间等。可以在NV存储器104的设计和/或制造之后修改在NV存储器104内执行的读取和/或验证操作的配置、时序和/或持续时间(例如,通过修改对应于定序器配置数据140中的读取和/或验证操作的条目142和/或条目序列144)。
在NAND串50中编程选择的NV存储单元10,可以包括将编程电压电位(经由相应的字线31)应用到所选NV存储单元10的控制栅极30,而NAND串50的位线66被耦合到地面。编程电压电位可以被应用于所选NV存储单元10的控制栅极30,作为具有相应振幅和/或持续时间的一系列脉冲。在编程期间,NAND串50的其他NV存储单元10的控制栅极30可以在不同的电压电位(诸如隔离电压电位)下被驱动。如其中所公开的,在编程操作期间在字线上驱动的电压信号的配置、时序和/或持续时间可以由定序器123生成的(一个或更多个)MC信号矢量123控制。因此,在管芯170的设计和/或制造之后,可以修改这种编程信号的时序、配置和/或持续时间,尤其是通过修改由定序器122实施的定序器配置数据140来执行这种操作。
定序器配置数据140的一个或更多个条目142可以配置定序器122以生成MC信号矢量123,其可适用于配置功率控制电路系统136以产生具有特定配置、时序和/或持续时间的编程脉冲(例如,一个或更多个编程脉冲的持续时间可以对应于一个或更多个条目142的指定持续时间)。因此,在NV存储器104的设计和/或制造之后,用于编程NV存储单元10的编程脉冲(和/或其他信号)的配置、时序和/或持续时间可以被调整、修改和/或以其他方式操纵(例如,可以通过修改存储单元129内的定序器配置数据140来改变)。
由读/写电路系统134、功率控制电路系统136响应于MC信号矢量123而驱动的电压电位和/或其它信号可以由地址电路系统132被路由到相应NV存储单元10(例如,地址电路系统132可以将寻址的NV存储单元10有选择地耦合到读/写电路系统134和/或功率控制电路系统136)。行解码器电路系统133A可以被配置为将功率控制电路系统136耦合到一个或更多个NV存储单元10的相应字线31(和/或将由功率控制电路系统136生成的信号和/或电压电位路由到相应字线31)。列解码器电路系统133B可以被配置为将读/写电路系统134耦合到相应位线66(例如,将感测块135A-N耦合到相应位线66)。地址电路系统132可以被配置为基于解码器173提供的地址信息来对特定NAND串50和/或NAND页面51内的相应NV存储单元10寻址。如本文公开的,地址电路系统132可以至少部分地由定序器122所生成的MC信号矢量123(和/或与存储器操作有关的地址信息)来控制。
图1H描绘了控制电路系统的进一步实施例,如本文公开的,该控制电路系统根据由定序器122生成的MC信号矢量123在NV存储器阵列171内执行存储器操作。图1H描绘了感测块135的一个实施例,其可以包括图1E和/或图1G的读/写电路系统134的感测块135A-N。
功率控制电路系统136可以包括源极和/或漏极驱动电路系统138A、偏置电路系统138B、脉冲发生电路系统138C等。功率控制电路系统136可以进一步电荷泵电路系统137,其可以被配置为生成由138A、138B和/或138C所需的(一个或更多个)电压电位。源极和/或漏极驱动电路系统138A可以被配置为驱动所选NAND串51的源极线64(和/或驱动NAND串51的相应漏极线和/或阱结构)上确定的电压电位。如本文公开的,偏置电路系统138B可以被配置成在选择的(一个或更多个)电压电位处偏置NAND串51的相应字线31。如本文公开的,脉冲发生电路系统138C可以被配置成在一个或更多个字线31上产生编程脉冲。电路系统137、138A、138B、138C可以由尤其是由定序器122生成的MC信号矢量123的MC信号来控制。MC信号矢量123可以确定由功率控制电路系统136生成的电压电位、基准电压、偏置电压编程脉冲和/或其它存储器控制信号的配置、时序和/或持续时间。
感测块135可以包括感测模块90和通用模块190。在一个实施例中,每个位线66可以被耦合到相应感测模块90。通用模块190可以被耦合到多个感测模块90。在一个实施例中,感测块135可以包括耦合到八个感测模块90的通用模块190(其他感测模块90在图1H中未示出,以避免模糊所说明实施例的细节)。每个感测模块90可以经由数据总线95被耦合到公共部分。
感测模块90可以包括感测电路系统94,其被配置为确定连接的位线66中的传导电流是高于还是低于预定阈值电平(而耦合到位线66的NV存储单元10的字线31由尤其是功率控制电路系统136以确定的电压电平驱动)。感测电路系统94可以包括一个或更多个感测放大器电路、差分放大器电路、分流电路等。感测模块90可以进一步包括位线锁存器92,其可以被用于设置在连接的位线上的电压条件。例如,锁存在位线锁存器92中的预定状态可能导致连接的位线66被拉到对应于程序禁止电压(例如,1.5-3V)的状态。
通用模块190可以包括处理器192、数据锁存器194和I/O接口196。I/O接口196可以被耦合在数据锁存器194和数据总线197之间。处理器192可以被配置为执行与相应感测操作有关的计算。处理器194可以被配置为(通过将连接的位线66上感测的传导电流和/或电压电位与一个或更多个阈值进行比较)确定经由连接的位线66感测的存储在NV存储单元10中的数据和/或将所确定的数据存储在数据锁存器194中。数据锁存器194可以被配置为在读取操作期间由处理器192确定的数据位和/或存储从数据总线197导入的(import)数据位。导入的数据位可以包括写数据,其在耦合到相应感测模块90的位线66上被编程到(一个或更多个)NV存储单元10。
在感测操作期间,定序器122可以生成(一个或更多个)MC信号矢量123,其可适用于配置功率控制电路系统136,以在耦合到被感测的NAND串50(例如,对应于耦合到感测模块90的位线66的NAND串50)的选择的字线31上驱动(一个或更多个)相应电压电位。在字线31上被驱动的电压信号的配置、时序和/或持续时间由定序器122生成的MC信号矢量123(根据本文所公开的定序器控制数据140的一个或更多个条目142)来控制。通过使用地址电路系统132的行解码器133A,字线31可以被耦合到功率控制电路系统136。替代性地,或另外地,行解码器133A可以被配置为将由功率控制电路系统136生成的信号路由到NAND串50的字线31和/或控制栅极。位线60可以通过使用尤其是地址电路系统132的列解码器133B(图1H中未示出以避免模糊所说明的实施例的细节)被耦合到感测模块90。
在读取操作期间,定序器122可以生成(一个或更多个)MC信号矢量123的序列(MC序列126),其可以配置功率控制电路系统136以驱动对应于由NV存储单元10支持的相应存储器状态的各种控制栅极电压。根据相应(一个或更多个)MC信号矢量123的(一个或更多个)时序和/或(一个或更多个)持续时间(如由定序器配置数据140的相应条目142所定义的),可以针对特定的持续时间断言各种控制栅极电压。(一个或更多个)MC信号矢量123可以进一步配置感测电路系统94(例如,一个或更多个感测放大器),以在读取操作期间感测位线66上的传导电流和/或电压电位和/或将对应的数据值锁存在位线锁存器92和/或数据锁存器194内。感测位线66可以包括将感测的位线66上的传导电流和/或电压电平与一个或更多个阈值进行比较,和/或确定用于NV存储单元10的确定状态的二进制编码(通过使用处理器192)。感测操作可以包括响应于以不同电压电平驱动NV存储单元10的字线31来感测位线66,每个电压电平对应于相应存储器状态(而以被配置为致使执行这种NV存储单元10的电压电平来驱动其他NV存储单元10的字线)。
如上所述,由定序器123生成的(一个或更多个)MC信号矢量123可以确定字线偏置、位线感测等的时序。因此,(一个或更多个)MC信号矢量的配置、时序和/或持续时间以及定序器配置数据140的对应条目142可以确定NV存储器阵列171内的感测操作的(一个或更多个)时序。通过非限制性示例,在读取操作期间生成的(一个或更多个)信号矢量123可以包括第一MC信号矢量123,其被配置为致使功率控制电路系统136在耦合到位线66的相应字线31上生成确定的电压电位。第一MC信号矢量123的持续时间由定序器配置数据140的对应条目142来指定。第二MC信号矢量123可以配置感测模块90以感测位线66上的传导电流和/或电压电位(而功率控制电路系统136继续对每个第一MC信号矢量123偏置字线)。因此,第一MC信号矢量123的持续时间(如由定序器配置数据140的相应条目142所定义的)可以尤其是确定用于读取操作的(一个或更多个)偏置时序(允许用于将字线31驱动到期望的电压电位的时间量)、用于读取操作的(一个或更多个)稳定时序(例如,在(一个或更多个)电压电位在字线31上被驱动之后允许用于位线稳定的时间量)等。在前述示例中,第二MC信号矢量123可以具有指定的持续时间,在该指定的持续时间之后定序器可以生成第三MC信号矢量123,其可以停用感测模块90和/或配置功率控制电路系统136以将字线31驱动到不同的(一个或更多个)电压电平,用于下一个感测操作。第二MC信号矢量123的持续时间(如由定序器配置数据140的相应条目142所确定的)可以确定被分配用于由感测模块90感测位线66的时间。
如本文公开的,由定序器122生成的其他MC信号矢量123的配置、时序和/或持续时间可以确定在NV存储器阵列171内实施的读取操作的其他方面。读取操作时序,诸如(一个或更多个)偏置时序、(一个或更多个)稳定时序、(一个或更多个)感测时序等,可以通过尤其是修改序列配置数据140(例如,通过修改对应于相应字线偏置操作、感测操作等的条目142)来调整。这样的修改可以在NV存储器104的操作期间进行,并且不重新设计和/或重新制造定序器122和/或管芯170。
编程操作可以包括将一系列编程电压脉冲应用到被编程的NV存储单元10的控制栅极30。每个编程电压脉冲可以随后通过验证操作(读回和/或感测操作)来确定NV存储单元10是否成功被编程到期望的存储器状态。处理器192可以监测(一个或更多个)验证操作以检测编程电压脉冲的序列何时完成(例如,NV存储单元10何时被验证为编程到目标存储器状态)。
实施编程操作可以包括定序器122生成一个或更多个MC信号矢量123。MC信号矢量123可以配置功率控制电路系统136,以在被编程的(一个或更多个)NV存储单元10的(一个或更多个)字线上生成一系列编程电压脉冲。MC信号矢量123可以进一步被配置为致使功率控制电路系统136驱动未被编程到一个或更多个确定的电压电平(例如,程序禁止电压电平)的(一个或更多个)NV存储单元10的字线。MC信号矢量123可以确定相应编程电压脉冲的配置、时序和/或持续时间。MC信号矢量123(以及定序器配置数据140的对应条目142)可以确定编程电压脉冲的持续时间、编程电压脉冲的宽度、相应编程电压脉冲和随后的验证操作之间的时间等。因此,如本文公开的,可以由MC信号矢量123和相应的定序器配置数据140确定编程操作的(一个或更多个)时序,以及因此其可以通过修改定序器配置数据140被调整。
数据锁存器堆叠194可以包括对应于感测模块90的数据锁存器的堆叠。在一个实施例中,数据锁存器堆叠194包括每个感测模块90的三个数据锁存器。数据锁存器的堆叠可以被实施为移位寄存器,使得存储在其中的并行数据被转换成串行数据,以便传送到数据总线197和/或从数据总线197进行传送,反之亦然。感测块135的数据锁存器194可以被链接以形成块移位寄存器,该块移位寄存器可以启用经由数据总线197通过串行传输要被输入或输出的数据块。
在一些实施例中,相应块(例如,擦除块)内的NAND串50可以共享通用阱(例如,P阱)。可以当耦合到NV存储单元10的字线31被接地并且源极64和/或位线66是浮动的时,通过在确定的时间段内将P阱提高到擦除电压电位(Verase)来擦除相应块的NV存储单元10。定序器122可以执行擦除操作,尤其是通过生成MC信号矢量123,其适合于配置地址电路系统132、读/写电路系统134和/或功率控制电路系统136以将块的字线31接地并且将源极线64和/或位线66解耦(使得源极线64和/或位线66是浮动的)。MC信号矢量123可以在上述配置中在指定的若干时钟周期(其可以对应于块的擦除时间)内保持块(例如,将通用阱的电压电位提升到Verase所需的时间和/或在确定的时间段内将通用阱保持在Verase电压电平处所需的时间)。因此,MC信号矢量123(和/或相应的定序器配置数据142)的配置、(一个或更多个)时序和/或(一个或更多个)持续时间可以确定用于在NV存储器阵列171内实施的擦除操作的(一个或更多个)擦除时序。可以尤其是通过修改对应于擦除操作的定序器配置数据140来调整(一个或更多个)擦除时序。
返回参考图1E,在一些实施例中,存储系统101可以包括定序器调节模块177。定序器调整模块177可以是配置管理器127的组件,其可以被配置为管理存储在存储单元129(例如,非暂时性存储106和/或易失性存储器124)内的定序器配置数据140。如本文公开的,定序器调整模块177可以被配置为,尤其是,响应于使用条件、磨损水平、测试条件、错误率、用户偏好、命令、设置、参数等,修改定序器配置数据140。在一些实施例中,177,定序器调整模块177可以在NV存储器104内(例如,在管芯107上)实施。替代性地,定序器调节模块177可以由系统控制器102和/或主机103实施。
定序器调整模块177可以进一步被配置成监测在存储系统101内执行的存储器操作和/或相应地调整定序器配置数据140。在一些实施例中,定序器调节模块177可以监测NV存储器104的磨损水平。定序器调整模块177可以被配置为调整定序器配置数据140,尤其是,响应于磨损水平的增加而增加各种存储器操作的时序裕度。增加时序裕度可以包括,尤其是修改对应于字线偏置和/或感测操作的条目142,以便增加允许用于在(一个或更多个)感测操作之前偏置和稳定位线66的时间,增加允许用于(在转换到下一个操作之前)感测位线66的时间等。增加时序裕度可以进一步包括,尤其是修改对应于编程操作期间使用的编程电压脉冲的条目142,以便尤其是,增加这样的脉冲的持续时间和/或振幅。增加时序裕度可以进一步包括增加被分配用于擦除操作的时间(例如,增加NV存储单元10的块的通用阱被保持在擦除电压电位(Verase)的时间)。替代性地,或另外地,定序器调节模块177可以被配置为响应于增加磨损水平来减少某些电压信号的持续时间,以便尤其是地减少读取和/或写入干扰的影响。
定序器调整模块177可以进一步被配置为响应于诸如读取和/或编程操作的错误率等其他条件来修改定序器配置数据140。定序器调整模块177可以被配置成监测存储器操作和/或检测(一个或更多个)错误率的增加。替代性地,或另外地,定序器调整模块177可以响应于专用测试操作(例如,由BIST模块实施的测试操作)检测增加的错误率。响应于检测到增加的读取错误率,定序器调整模块177可以增加用于读取和/或感测存储器操作的时序裕度,如本文公开的。检测增加的读取错误率可以包括监测读取操作和/或将被监测的读取操作的读取错误的数量和/或比率与一个或更多个阈值进行比较。定序器调整177可以进一步被配置为响应于检测到增加的写入错误率(例如,通过监测写入操作和/或将被监测的写入操作的错误率与一个或更多个阈值进行比较)来修改定序器配置数据140。如本文公开的,响应于增加的写入错误率,定序器调整模块177可以被配置为增加写入操作的时序裕度。如本文公开的,增加存储器操作的时序裕度可以包括增加这样的存储器操作的延迟。
在另一个实施例中,定序器调整模块177可以被配置为调整定序器配置数据140,用于在特定NV存储元件112和/或在特定物理区域182内执行的存储器操作。如上所述,物理区域182可以包括具有相似物理特性的NV存储元件112。在一个实施例中,物理区域182(例如,物理区域182D)可以对应于NV存储器104内的工艺角(process corner)。“工艺角”指代具有与NV存储器104的电路系统不同的电气特性的电路系统。电气特性的差异可能是由于尤其是在NV存储器104的制造期间的变化(例如,制造缺陷)。差异可能不足以使物理区域182D内的NV存储元件112显现出来。然而,物理区域182D的NV存储元件112可能与其他物理区域182A-C内的NV存储元件112相比呈现降低的性能、降低的可靠性和/或较高错误率。
在一些实施例中,定序器配置数据140可适用于补偿NV存储器104的不同区域中的变化。在图1E实施例中,定序器调整模块177可以被配置为检测物理区域182D和物理区域182A-C之间的差异和/或调整定序器配置数据140以补偿这样的差异。如上述公开的,定序器调整模块177可以响应于监测在相应物理区域182A-N内执行的监测读和/或写操作(和/或相应的错误率)来确定物理区域182D具有不同的特性。响应于检测在物理区域182D内执行的存储器操作的(一个或更多个)错误率与在物理区域182A-C内实施的存储器操作进行比较的差异,和/或将这些差异与一个或更多个阈值进行比较(例如,为了确定这些差异是否在统计学上是显著的),定序器调整模块177可以确定物理区域183D是可变的。响应于检测可变物理区域182D,定序器调整模块177可以被配置为生成一个或更多个替代的条目142和/或条目序列144,以便在可变物理区域182D内使用。
如图1C所说明的,序列配置数据140可以包括多个条目序列144A-N,每个条目序列可以对应于相应的存储器操作类型(例如,操作类型118A-N中的一种)。在一些实施例中,序列配置数据140可以进一步被配置为包括对应于NV存储器104的不同区域的条目序列144。替代条目142和/或条目序列144可以在定序器配置数据140中被创建(例如,存储在存储单元129、易失性存储器124和/或非暂时性存储106中)。替代条目142和/或条目序列144可以对应于具有不同的(一个或更多个)配置、(一个或更多个)时序和/或(一个或更多个)持续时间的MC信号矢量123,原始条目142的MC信号矢量123和/或条目序列144可以被配置为增加在物理区域182D内执行的存储器操作的时序裕度,同时保持在其他物理区域182A-C内执行的存储器操作的原始时序裕度。
如图1E所说明的,用于将存储器操作108映射到特定条目142和/或条目序列144的关联153可以被配置为基于操作类型118和地址119(不同于图1C中单独描绘的操作类型118)来实施这种映射。关联153可以将具有地址119(其对应于物理区域182A-C之一)的类型118A的操作108关联映射到条目序列144A0(具有第一条目地址146A0和最后条目地址148A0)。该条目序列144A0可以对应于类型118A的操作的原始条目序列144A。具有对应于物理区域182D的地址的相同类型118A的存储器操作可以被映射到具有不同的第一条目地址146A1和最后条目地址148A1的不同条目序列144A1。同样,具有地址119(其对应于一个或物理区域182A-C)的类型118B的存储器操作108可以映射到条目序列144B0,而对物理区域182D寻址的相同类型118B的操作可以映射到替代条目序列144B1。如上所述,包括相应的条目序列144A0、144A1和144B0、144B1的条目142可以不同。序列144A1和/或144B1的条目142可以为存储器操作108定义(一个或更多个)放松的(relaxed)时序,以便尤其是补偿物理区域182D内NV存储元件112的不同特性(如与物理区域182A-C内NV存储元件112的特性相比)。类型118N的存储器操作可以不受物理区域182D和物理区域182A-N之间的差异的显著影响,因此,关联153可以将类型118N的存储器操作108映射到相同的条目序列144N,而不管存储器操作108的(一个或更多个)地址119。
在NV存储器140的设计和/或制造之后,附加条目定序器144可以被添加到定序器配置数据140。附加定序器配置140可以对应于新的命令和/或操作类型118,和/或可以包括现有命令和/或操作(如上所述,例如,替代条目142和/或条目序列144)的替代实施方式。在一些实施例中,定序器调整模块177(和/或其他组件)可以被配置为生成定序器配置140。定序器配置数据140可以从时序规范、时序设计、时序波形等(本文指代如MC时序规范)生成。生成定序器配置数据140可以包括识别MC时序规范内的区域的有序序列。每个区域可以对应于条目序列144的相应条目142,如本文公开的。每个区域可以对应于MC信号的相应状态(例如,相应的MC信号矢量123),其可以为对应的条目142定义信号数据143。每个条目142可以进一步包括时序数据145,其可以对应于该区域的持续时间。每个区域的持续时间可以从相应开始时间跨越到相应的结束时间。每个区域的开始时间可以对应于序列中的先前区域的结束时间(或者序列的第一区域的时间0)。这些区域可以对应于有序序列,包括第一区域到最后区域,该第一区域具有对应于MC时序规范的开始时间的开始时间,最后区域可以对应于MC时序规范的最后时钟周期。因此,对应于区域的条目142可以包括条目序列144(例如,条目142A-N的有序序列,包括第一条目142A和/或最后条目142N)。序列144的第一条目142A可以被定义为:a)记录在第一条目142A的信号数据143中的MC时序规范的每个MC信号的状态;和b)确定第一条目142A的时序数据145,其可以包括确定区域的持续时间,如上所述(将该区域的结束时间确定为MC信号规范中的任何MC信号偏离所确定的信号数据143的时间)。随后的条目142B-N可以对应于MC时序规范的后续区域,并且可以通过:a)记录信号数据143,其定义在相应区域的开始时间处的MC时序规范的每个MC信号的状态;和b)确定对应于区域的时序数据145。对应于条目142B-N的区域的开始时间可以对应于序列中的先前条目142A-(N-1)的结束时间,使得条目142B的开始时间对应于条目142A的结束时间,条目142C的开始时间对应于条目142B的结束时间,以此类推,条目142N的开始时间对应于条目142N-1的结束时间。每个条目142B-N的结束时间可以对应于MC信号中任何一个在开始时间随后改变状态的时间,如上所述(每个条目142B-N的时序数据145可以包括对应区域的结束时间和开始时间之间的差)。条目142可以被迭代地添加到条目序列144,直到对应于由MC时序规范所覆盖的最后时钟周期的最后条目142N被定义。
从MC时序规范生成的条目142A-N(和/或条目序列144)可以被传输到存储系统101,其可以包括将条目142A-N(和/或条目序列144)存储在存储单元129(例如,如本文公开的存储系统101的非暂时性存储106和/或易失性存储器124)中。条目142A-N可以对应于特定的存储器命令和/或存储器操作(例如,特定操作类型118),将条目142A-N和/或条目序列144传输到存储系统101,可以进一步包括修改上述关联153中的一个或更多个,以便将特定操作类型118与条目142A-N和/或条目序列144相关联(例如,可以将特定操作类型118映射到存储在存储单元129中的一个或更多个条目142A-N的地址和/或地址偏移量)。操作类型118可以对应于先前不受定序器122支持的新类型的操作和/或命令。如本文公开的,传输条目142A-N可以进一步包括将条目与一个或更多个物理区域182和/或地址相关联。在传输条目142A-N之后,定序器122可以被配置为响应于存储器命令和/或操作,执行条目142A-N(和/或条目序列144)。相应地,在设计和/或制造包括定序器122的NV存储器104之后,可以修改和/或扩展定序器122的功能。
在一些实施例中,条目142A-N(和/或条目序列144)可以在外部计算器件(诸如主机103)上生成。条目142A-N(和/或条目序列144)可以由在计算器件上操作的应用和/或过程生成,其可以实现为存储在非暂时性计算机可读存储介质上的指令。传输条目142A-N和/或条目序列144可以包括经由互连101向存储系统101发送数据和/或命令(例如,固件更新命令)。替代性地,或另外地,条目142A-N(和/或条目序列144)可以由存储系统101的一个或更多个组件生成。在一些实施例中,定序器调整模块177包括被配置用于从如上面公开的MC时序规范生成定序器配置数据140的电路系统和/或逻辑。生成条目142A-N可以包括经由互连105向定序器调整模块177发送命令和/或数据(包括MC时序规范)。如上所述,作为响应,定序器调整模块177可以生成条目序列144,修改存储系统101的定序器配置数据140。
图2是如本文公开的使用随机存取存储器来控制存储器操作脉冲的方法200的一个实施例的流程图。步骤210可以包括在NV存储器104的控制电路系统120处接收执行NV存储器104上的特定操作的请求。控制电路系统120可以实现在与NV存储器104的NV存储元件112相同的NV存储器结构110内(例如,可以设置在相同的管芯、衬底、封装、芯片等内)。
步骤220可以包括访问来自存储单元129的对应于特定操作的时序条目(例如,易失性存储器124和/或非暂时性存储106)。步骤220可以进一步包括在存储系统101的初始化期间使用定序器数据140填充易失性存储器124,如本文公开的(例如,通过将定序器数据140从非暂时性存储106传输到易失性存储器124)。
步骤230可以包括实施在步骤220访问的时序条目。步骤230可以包括生成由时序条目的信号数据143指定的一个或更多个MC信号矢量123。步骤230可以进一步包括在确定的若干时钟周期内生成MC信号矢量123。时钟周期的数量可以根据时序条目的时序数据145确定。在一些实施例中,时序数据145包括尾数和指数,并且确定时钟周期的数量包括尾数乘以指数(例如,计算m×Be,其中m是尾数,e是指数,B是基本量,诸如2)。步骤230可以包括生成管芯上MC信号,该管芯上MC信号适合于配置管芯上控制电路系统以至少实施特定操作的一部分。步骤230可以包括生成管芯上MC信号以偏置NAND串50的一个或更多个字线,将NAND串耦合到源极线64(和/或漏极),驱动源极线64上的电压电位,感测NAND串50耦合的位线上的电流和/或电压,将一个或更多个的编程电压脉冲应用到NAND串50的NV存储单元(例如,跨越NAND页51)、将在NAND串50上感测的数据锁存等,如本文公开的。
步骤230可以进一步包括实施一系列时序条目(例如,实施MC序列126)。步骤230可以包括响应于完成时序条目的实施来访问存储单元129内的下一个时序条目,确定下一个时间条目是否指示操作已完成(例如,包括NOOP条目142、停止条目142、空闲条目142等),如本文公开的。
图3是如本文所公开的用于使用随机存取存储器来控制存储器操作脉冲的方法300的另一个实施例的流程图。步骤310可以包括在其控制电路系统120处接收执行NV存储器104上的特定操作的请求。
步骤320可以包括确定与特定操作相关联的时序条目的地址。在第一次迭代中,步骤320可以包括将特定操作(操作118A-N)与对应的地址144A-N关联起来。
图4是用于在存储系统101的操作期间(例如,在设计和/或制造NV存储器104之后)修改定序器122所生成的(一个或更多个)MC信号矢量123的配置、时序和/或持续时间的方法400的一个实施例的流程图。步骤410可以包括修改存储系统101的定序器配置数据140,其可以包括将修改的定序器配置数据140写入到存储单元129(例如,在非暂时性存储106和/或易失性存储器124中的一个或更多个)。步骤410可以响应于使用条件、磨损水平、测试条件、错误率、用户偏好、命令、设置、参数等来实施,如本文公开的。
步骤420可以包括将修改的定序器配置数据140加载到以通信方式耦合到定序器122的易失性存储器124中。步骤420可以进一步包括(例如,在存储系统101的初始化期间)用保持在非暂时性存储器106内的序列配置数据140填充易失性存储器124。修改的定序器配置数据140可以包括一个或更多个修改的条目142(例如,修改的定序器指令)。修改的定序器条目142可以改变由定序器配置数据140的现有条目142和/或条目序列144定义的一个或更多个MC信号矢量123和/或MC定序器126的配置、时序和/或持续时间。步骤420可以包括覆写和/或替换在定序器配置140中的现有条目142和/或条目序列144。替代性地,修改的定序器配置数据140可以定义一个或更多个新的MC序列126,其可以被添加到定序器配置数据140中(不同于覆写和/或替换现有的配置信息)。如本文所公开的,步骤420可以进一步包括将新的定序器条目142和/或条目序列144与一个或更多个存储器操作和/或命令相关联(例如,在关联153中)。因此,步骤420可以包括更新定序器配置数据140中定义的关联153(例如,存储在存储单元129中的一个或更多个、非暂时性存储106、易失性存储器124、定序器122等内)。
步骤430可以包括使用修改的定序器配置数据140生成(一个或更多个)MC信号矢量123和/或MC序列126。步骤430可以包括在NV存储器104内执行存储器操作的定序器122。如本文公开的,执行存储器操作可以包括:a)将存储器操作与存储在存储单元129(和/或条目142的序列,诸如条目序列144)中的条目142相关联,b)从存储单元129加载条目142,以及c)执行条目142。执行条目142可以包括在由条目142的时序数据145指定的若干时钟周期内断言对应于条目143的信号数据143的MC信号矢量123。执行条目142可以进一步包括从存储单元129(例如,易失性存储器124)中获取下一个条目142和/或执行存储在存储单元129内的随后条目142,直到存储器操作完成,如本文公开的。在步骤430中由定序器访问和/或执行的条目142可以对应于修改的定序器配置数据140,其可以包括在步骤430中由定序器122产生的MC信号矢量123的配置、时序和/或持续时间的修改(不同于对应于原始的未修改的定序器配置数据140的MC信号矢量123)。
图5是用于在存储系统101操作期间(例如,在设计和/或制造NV存储器104之后)修改由定序器122生成的(一个或更多个)MC信号矢量123的配置、时序和/或持续时间的方法500的另一个实施例的流程图。如本文公开的,步骤510可以包括使用存储在存储单元129(例如,非暂时性存储106和/或易失性存储器124)中的定序器配置数据140实施存储器操作。
步骤520可以包括确定是否调整和/或修改定序器配置数据140。如本文公开的,步骤520的确定可以基于以下内容中的一个或更多个:使用条件、磨损水平、测试条件、错误率、用户偏好、命令、设置、参数等。步骤520可以包括监测在NV存储器140内实施的存储器操作(和/或在NV存储器140内执行专用测试操作)。步骤520可以进一步包括监测NV存储器104和/或相应的物理区域182A-D(例如,监测错误率、磨损水平等)。步骤520可以包括基于增加的错误率(例如,检测到超过一个或更多个阈值的错误率的增加)来修改定序器配置数据140。步骤520可以进一步包括基于NV存储器104的(一个或更多个)磨损水平超过一个或更多个阈值来确定修改定序器配置数据140。步骤520可以包括响应于修改经由互连105和/或107接收的定序器配置数据140的命令和/或请求来确定修改定序器配置数据140。步骤520可以包括(例如,响应于确定物理区域182D具有与一个或更多个其他物理区域182A-C不同的特性)确定修改与特定物理区域182有关的定序器配置数据140。如果步骤520的确定是调整定序器配置数据140,流程可以在步骤530继续;否则,流程可以回到步骤510继续(其中,定序器122可以继续实施存储在存储单元129(例如,易失性存储器124)内的原始的、未修改的定序器配置数据140)。
步骤530可以包括调整定序器配置数据140以产生如本文公开的修改的定序器配置数据140。步骤530可以包括调整定序器配置数据140的条目142和/或条目序列144,以在一个或更多个存储器命令的操作期间修改由定序器122生成的一个或更多个MC信号矢量123的配置、时序和/或持续时间。在一些实施例中,这些修改可以包括放松存储器操作(和/或其部分)的时序裕度,其可以包括增加此类存储器操作的延迟。如本文公开的,步骤530可以进一步包括调整与一个或更多个物理区域182A-D有关的定序器配置数据140,其包括生成一个或更多个替换条目142和/或条目序列144和/或将与所述或更多个物理区域182A-D有关的存储器命令与替换条目142相关联(而与其他物理区域182A-D有关的存储器操作保持不变)。
步骤530可以进一步包括在存储单元129(例如,非暂时性存储106和/或易失性存储器124)内记录修改的定序器配置数据140。步骤530可以包括将修改的定序器配置140存储在存储单元129的非暂时性存储106内。步骤530可以进一步包括用步骤530处生成的修改的定序器配置数据140填充易失性存储器124(例如,将修改的定序器配置数据140从非易失性存储器106传输到易失性存储器124)。修改的定序器配置数据140可以在存储系统101的初始化期间传输。替代性地,或另外地,(响应于在步骤520处修改定序器配置数据140)可以在存储系统101的操作期间将修改的定序器配置数据140传输到易失性存储器124。步骤530可以包括在修改的配置数据140被传输到易失性存储器140时暂停执行存储器操作。步骤530可以进一步包括允许在进行中的任何存储器操作在修改存储在易失性存储器124中的定序器配置数据140之前完成。
在步骤530之后,流程可以返回在步骤510处继续,其可以包括定序器122使用存储在存储单元129(例如,易失性存储器124)内的定序器配置数据140来执行存储器操作,如本文所公开的。因此,步骤510可以包括在步骤530处执行填充在存储单元129内的修改的定序器配置数据140。
图6是描绘MC信号143的管芯上控制的一个实施例的示意系统图。系统601可以包括控制设备620。控制设备620可以实现在包括NV存储器611的NV存储器结构110上和/或其内(例如,NV存储器核心111、NV存储器阵列171等)。
控制设备620可以被配置为实施在NV存储器611内的存储器操作。控制设备620可以包括控制电路系统120,如本文公开的。控制设备620可以包括用于用定序器指令622(例如,包括多个条目142的定序器配置数据140)填充易失性随机存取存储器(RAM)的设备。如本文公开的,每个定序器条目可以包括相应的时序数据和/或信号数据。如本文公开的,设备622可以包括系统控制器102、非暂时性存储106、控制电路系统120、定序器122和/或存储单元129中的一个或更多个。
控制设备620可以进一步包括用于执行在NV存储器611内的存储器命令的设备。控制设备620可以包括用于获取定序器指令的设备,该定序器指令对应于来自易失性RAM 624的存储器命令。设备624可以包括控制电路系统120、定序器122、存储单元129、存储器总线121、获取单元152、解码单元154、执行单元156和/或驱动电路系统158中的一个或更多个,如本文公开的。控制设备620可以进一步包括用于根据获取的定序器指令626提供MC信号的设备。设备626可以包括控制电路系统120、定序器122、存储单元129、存储器总线121、获取单元152、解码单元154、执行单元156和/或驱动电路系统158中的一个或更多个,如本文公开的。
本公开的各方面可以实现为装置、系统、方法、逻辑、可编程逻辑、电路和/或计算机程序产品(例如,存储和/或实现在非暂时性计算机可读存储介质上的指令和/或代码)。相应地,本公开的各方面可以采取硬件、软件(包括固件、驻留软件、固件微代码等)、硬件和软件的组合等的形式。因此,本公开的各方面在本文中可以被称为“电路”、“模块”、“元件”、“装置”、“系统”等。
本公开中描述的许多功能单元已被标记为模块,以便更特别地强调它们的实施方式独立性。例如,模块可以被实施为硬件电路,其包括定制VLSI电路或门阵列、成品的半导体(诸如逻辑芯片、晶体管或其他分立元件)。模块还可在可编程硬件器件中实施,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等。
模块也可以至少部分地在软件中实施,用于由各种类型的处理器执行。例如,识别的可执行代码的模块可以包括计算机指令的一个或更多个物理或逻辑块,其可以例如被组织为对象、过程或函数。然而,识别的模块的可执行文件不必物理上位于一起,但是可以包括存储在不同位置的不同指令,当在逻辑上连接在一起时,其包括模块并实现模块所陈述的目的。
实际上,可执行代码的模块可以包括单个指令或许多指令,甚至可以分布在若干不同的代码段上,在不同的程序之间,跨越若干存储器件等。模块或模块的多个部分被实施的地方是在软件中,软件部分可以存储在一个或更多个计算机可读和/或可执行存储介质上。可以使用一个或更多个计算机可读存储介质的任何组合。例如,计算机可读存储介质可以包括,但不限于电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或器件,或上述任何适当组合,但不包括传播信号。在本文件的背景中,计算机可读和/或可执行存储介质可以是任何有形和/或非暂时性介质,这些介质可以包含或存储程序,以供指令执行系统、装置、处理器或器件使用或与之相关联使用。
用于执行操作、步骤和/或实施本公开的各方面的计算机程序代码可以用一种或更多种编程语言的任意组合编写,包括面向对象的编程语言(诸如Python、Java、Smalltalk、C++、C#、Objective C等)、传统程序编程语言(诸如“C”编程语言、脚本编程语言和/或其他类似的编程语言)。程序代码可以在一个或更多个用户计算机上和/或通过数据网络在远程计算机或服务器等上部分地或全部地执行。
本文使用的组件包括有形的、物理的、非暂时性的器件。例如,组件可以被实施为硬件逻辑电路,包括自定义VLSI电路、门阵列或其他集成电路;成品的半导体,诸如逻辑芯片、晶体管或其他分立器件;和/或其他机械或电气器件。组件也可以在可编程硬件器件(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等)中实施。组件可以包括一个或更多个硅集成电路器件(例如,芯片、管芯、管芯平面、封装)或其他分立电气器件,通过印刷电路板(PCB)等的电气线路与一个或更多个其他部件进行电气通信。在某些实施例中,本文描述的每个模块可以通过组件实现或者作为组件来实施。
如本文使用的电路包括为电流提供一个或更多个路径的一个或更多个电气和/或电子组件的组。在某些实施例中,电路可以包括电流的返回路径,从而电路是闭环。然而,在另一个实施例中,不包括电流的返回路径的一组元件可以被称为电路(例如,开环)。例如,无论集成电路是否被耦合到接地(作为电流的返回路径),集成电路可以被称为电路。在各种实施例中,电路可以包括集成电路的一部分、集成电路、集成电路的集合,带有或不带有集成电路器件的非集成的电气和/或电气组件的集合等。在一个实施例中,电路可以包括自定义的VLSI电路、门阵列、逻辑电路或其他集成电路;成品的半导体,诸如逻辑芯片、晶体管或其他分立器件;和/或其他机械或电气器件。电路也可以实施为在可编程硬件器件(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等(例如,固件、网表等))中的综合电路。电路可以包括一个或更多个硅集成电路器件(例如,芯片、管芯、管芯平面、封装)或其他离散电气器件,通过印刷电路板(PCB)的电气线路等与一个或更多个其他组件进行电气通信。在某些实施例中,本文描述的每个模块都可以由电路实现或作为电路实施。
贯穿本公开的“一个(one/an)实施例”、或类似的语言的引用意味着关于实施例描述的特定特性、结构或特性被包括在本公开的至少一个实施例中。因此,贯穿本说明书的短语“在一个(one/an)实施例中”、和类似的语言的表现可以(但不是必要的)全部指代相同的实施例,但意味着“一个或更多个实施例而不是所有实施例”,除非另有明确指定。术语“包括(including)”、“包含(comprising)”、“具有(having)”、及其变化意味着“包括但不限于”,除非另有明确指定。列举的项目清单并不意指任何或所有项目相互排斥和/或相互包容,除非另有明确指定。术语“一个(“a”、“an”)”和“该/所述(the)”也指代“一个或更多个”,除非另有明确指定。
根据本公开的实施例,如下所述参照方法、装置、系统和计算机程序产品的示意流程图和/或示意块图来描述本公开的各方面。将理解的是,示意流程图和/或示意块图的每个块,以及示意流程图和/或示意块图中的块的组合可以由计算机程序指令来实施。这些计算机程序指令可以被提供给计算机的处理器或其他可编程数据处理装置以产生机器,使得经由处理器或其他可编程数据处理装置执行的指令创建用于实施示意流程图和/或示意块图的块或多个块中指定的功能和/或动作的设备。
还应注意的是,在一些替代实施方式中,块中注明的功能可以在图中注明的顺序之外发生。例如,连续显示的两个块实际上可以基本上同时执行,或者块有时可以以相反的顺序执行,这取决于所涉及的功能。可以构思其他步骤和方法在功能、逻辑或效果上与所示图形的一个或更多个块或其部分等效。虽然流程图和/或块图中可以使用不同的箭头类型和线条类型,但它们被理解为不限制对应实施例的范围。例如,箭头可以指示等待或监测所描绘的实施例的列举的步骤之间的未指定的持续时间的周期。
Claims (23)
1.一种管芯,包括:
非易失性存储器阵列;以及
存储器控制电路系统,其被配置为响应于在所述管芯上实现的定序器生成的控制信号来在所述非易失性存储器阵列中实施存储器操作,所述管芯包括所述非易失性存储器阵列,所述定序器被配置为:
从可编程存储单元检索对应于相应存储器操作的定序器条目,所检索的定序器条目包括信号数据和对应时序数据,所述信号数据限定在所述对应时序数据指定的时段输出的相应控制信号集;以及
根据所述检索的定序器条目生成控制信号,包括所述定序器生成由所述检索的定序器条目的信号数据限定的相应控制信号集,每个控制信号集是针对所述检索的定序器条目的对应时序数据指定的若干时钟周期生成的。
2.根据权利要求1所述的管芯,其中
响应于从所述可编程存储单元检索特定的定序器条目,所述定序器被配置成在由所述特定定序器条目的所述时序数据指定的若干时钟周期内生成所述特定定序器条目的所述信号数据限定的控制信号集。
3.根据权利要求1所述的管芯,其中:
所述时序数据包括指数和尾数;以
所述定序器被配置为通过使用所述定序器条目的所述时序数据的所述指数和尾数来确定由定序器条目的所述时序数据指定的所述时钟周期的数量。
4.根据权利要求3所述的管芯,其中所述定序器被配置为将由所述定序器条目的所述时序数据指定的所述时钟周期的数量计算为m×2e,其中m是所述时序数据的尾数并且e是所述时序数据的指数。
5.根据权利要求1所述的管芯,其中:
所述定序器通过总线耦合到所述可编程存储单元,所述总线具有时序区域和信号区域;
所述定序器条目的所述时序数据经由所述总线的所述时序区域被通信;以及
所述定序器条目的信号数据经由所述总线的所述信号区域被通信。
6.根据权利要求1所述的管芯,其中所述可编程存储单元包括以下内容中的一个或更多个:易失性存储器、随机存取存储器即RAM、静态随机存取存储器即SRAM、动态随机存取存储器即DRAM、只读存储器、持久存储器、非暂时性存储介质和非易失性存储介质。
7.根据权利要求1所述的管芯,其中所述定序器包括:
获取电路系统,其被配置为从所述可编程存储单元检索第一定序器条目;以及
输出电路系统,其被配置为在由所述第一定序器条目的时序数据指定的若干时钟周期内生成所述第一定序器条目的信号数据限定的控制信号集;
其中,所述获取电路系统进一步被配置为检索一系列定序器条目中在所述第一定序器条目随后的第二定序器条目。
8.根据权利要求7所述的管芯,其中所述定序器进一步包括:
解码电路系统,其被配置为解析由所述获取电路系统检索的定序器条目,所述解码电路系统进一步被配置为响应于解析由所述获取电路系统检索的所述系列中的最后定序器条目来确定所述系列的定序器条目的处理完成;
其中完成所述系列的定序器条目包括生成控制信号矢量的序列,在由所述系列的相应定序器条目的所述时序数据指定的若干时钟周期内生成每个控制信号矢量。
9.根据权利要求1所述的管芯,其中所述定序器包括状态机电路系统,所述状态机电路系统包括:
状态逻辑,其被配置为保持定序器状态,所述定序器状态定义所述控制信号的输出状态;
输出逻辑,其被配置为输出由所述状态逻辑保持的所述定序器状态所定义的所述控制信号;以及
下一个状态逻辑,其被配置为基于存储在所述可编程存储单元内的定序器条目确定下一个定序器状态,并且响应于所述状态逻辑在确定数量的时钟周期内保持所述定序器状态,将所述状态逻辑转换为所述下一个定序器状态。
10.一种系统,包括:
可编程存储器,其包括对应于相应存储器操作的定序器指令,所述定序器指令包括定序器时序条目,所述定序器时序条目包括定时器数据和信号数据,所述信号数据指定具有由所述定时器数据指定的周期计数的存储器控制信号;
半导体结构,其包括多个非易失性存储元件和控制电路系统,所述控制电路系统被配置为响应于存储器控制信号在选择的非易失性存储元件上执行存储器操作;
定序器,其实现在所述半导体结构的所述控制电路系统内,并且被配置为执行存储在所述可编程存储器内的定序器指令,其中,为了执行与存储器操作有关的定序器指令,所述定序器进一步被配置为:
从所述可编程存储器加载所述定序器指令;
从加载的定序器指令的定时器数据确定周期计数;以及
在确定的周期计数内输出所加载的定序器指令的信号数据指定的存储器控制信号,由所述定序器输出的所述存储器控制信号经配置以导致所述控制电路系统在所述半导体结构内的一个或更多个所述非易失性存储元件上至少实施所述存储器操作的一部分。
11.根据权利要求10所述的系统,其中:
所加载的定序器指令的所述定时器数据包括指数值和尾数值;以及
所述定序器进一步被配置为通过计算m×Be来确定所述周期计数,其中m是尾数值、e是指数值以及B是基本量。
12.根据权利要求10所述的系统,其中所述半导体结构包括半导体衬底、半导体晶圆、半导体层、存储器芯片、存储器封装、存储器管芯、闪存管芯、NAND闪存管芯和NOR闪存管芯中的一个或更多个。
13.根据权利要求10所述的系统,进一步包括:
总线,其被配置为将所述定序器通信地耦合到所述可编程存储器,其中:
所述总线的第一部分被指定用于相应的定序器指令的定时器数据的通信;以及
所述总线的第二部分,其与所述第一部分不同,被指定用于相应的定序器指令的信号数据的通信。
14.根据权利要求10所述的系统,进一步包括:
配置管理器,其被配置为利用来自非易失性存储位置的所述多个定序器指令填充所述可编程存储器。
15.根据权利要求14所述的系统,其中所述配置管理器进一步被配置为响应于以下内容中的一个或更多个,将修改的定序器指令写入到所述可编程存储器和所述非易失性存储位置中的一个或更多个:
接收所述修改的定序器指令;以及
响应于以下内容中的一个或更多个,来生成所述修改的定序器指令:所述非易失性存储元件的磨损水平和所述非易失性存储元件的错误率。
16.根据权利要求10所述的系统,其中所述定序器进一步被配置为:
从确定的定序器指令地址加载所述定序器指令;以及
基于以下内容中的一个或更多个,来确定所述定序器指令地址:所述存储器操作的操作码和在所述半导体结构内的所述存储器操作的所述非易失性存储元件的地址。
17.根据权利要求16所述的系统,其中所述定序器进一步被配置为:
执行从所述确定的定序器指令地址处的第一定序器指令到最后定序器指令的一系列定序器指令;以及
基于所述最后定序器指令的时序数据和所述最后定序器指令的信号数据中的一个或更多个来识别所述系列的所述最后定序器指令。
18.根据权利要求10所述的系统,其中:
存储在所述可编程存储器内的第一定序器指令包括用于与所述半导体结构的非易失性存储元件上的读操作、写操作和擦除操作中的一个或更多个有关的存储器控制信号的第一时序参数;以及
所述系统进一步包括定序器调整模块,所述定序器调整模块被配置为:
确定用于所述第一定序器指令的所述存储器控制信号的修改的时序参数;以及
更新所述第一定序器指令以用所述修改的时序参数来替换所述第一时序参数;
其中,更新所述第一定序器指令包括以下内容的一个或更多个:至少覆写存储在所述可编程存储器内的所述第一定序器指令中的一部分;以及至少覆写存储在所述控制电路系统的非易失性固件存储内的所述第一定序器指令中的一部分。
19.一种方法,包括:
在易失性随机存取存储器即易失性RAM内存储包括多个定序器矢量的配置数据,所述易失性随机存取存储器通信地耦合到实现在非易失性电路结构即NV电路结构内的定序器电路;以及
响应于对所述NV电路结构的NV存储单元实施操作的请求,在所述定序器电路处实施存储在所述易失性RAM内的一系列定序器矢量,包括:
从所述易失性RAM传输包括所述系列中的第一定序器矢量的数据单元;以及
根据用于存储在所述易失性RAM内的所述定序器矢量的确定的布局来解释所述数据单元的位值,其中,第一位值包括输出信号矢量,第二位值包括尾数,以及第三位值包括指数;
执行所述第一定序器矢量,包括:
在确定数量的时钟周期内产生对应于所述第一定序器矢量的所述输出信号矢量的管芯上存储器控制信号,所述管芯上存储器控制信号被配置以致使控制电路系统的一个或更多个功能模块至少实施所述存储器操作的一部分,
其中,确定的时钟周期的数量被计算为m×2e,其中m是所述第一定序器矢量的尾数以及e是指数;以及
响应于完成所述第一定序器矢量的执行而处理所述系列中的下一个定序器矢量。
20.根据权利要求19所述的方法,其中所述管芯上存储器控制信号被配置为控制以下内容中的一个或更多个的操作:
电荷泵电路系统,其被配置为在所述NV电路结构的选择的字线上生成指定的电压电位;
驱动电路系统,其被配置为在所述NV电路结构的选择的位线上生成指定的电压电位;
脉冲发生电路系统,其被配置为将编程电压脉冲应用到所述NV电路结构的选择的NV存储单元;以及
感测电路系统,其被配置为感测所述NV电路结构的选择的位线。
21.根据权利要求19所述的方法,进一步包括:
基于存储器操作和相应数据单元地址之间的关联,确定包括所述系列中的所述第一定序器矢量的所述数据单元的地址;
从所述确定的数据单元地址传输包括所述第一定序器的所述数据单元;以及
从所述确定的数据单元地址随后的下一个数据单元地址读取包括所述系列中的下一个定序器矢量的数据单元。
22.根据权利要求21所述的方法,进一步包括:
在初始化操作期间将包括所述定序器矢量的所述配置数据从非易失性存储位置加载到所述易失性RAM中;
接收修改的定序器矢量;以及
将所述修改的定序器矢量写入所述易失性存储器和所述非易失性存储位置中的一个或更多个;
其中写入所述修改的定序器矢量包括以下内容中的一个或更多个:
在所述配置数据中用所述修改的定序器矢量替换所述第一定序器矢量;以及
将所述修改的定序器矢量添加到所述配置数据。
23.一种系统,包括:
用于将多个定序器时序矢量存储在易失性随机存取存储器即易失性RAM的相应地址处的设备,每个定序器时序矢量具有相应的时序和控制信号数据;
用于在非易失性存储器上执行存储器命令的设备,其中用于执行的所述设备实现在包括所述非易失性存储器的非易失性存储单元的存储器结构内,其中执行所述存储器命令包括:
将所述存储器命令与所述易失性RAM的地址相关联;
从与所述存储器命令相关联的所述地址中获取定序器时序矢量;以及
实施所述定序器时序矢量,所述实施包括:
通过使用包括在所述定序器时序矢量的所述时序数据中的尾数和指数确定所述定序器时序矢量的时序参数,以及
根据所述确定的时序参数向命令执行电路系统提供对应于所述定序器时序矢量的所述控制信号数据的控制时序信号,所述控制时序信号被配置为致使所述命令执行电路系统在所述非易失性存储器的一个或更多个非易失性存储单元上至少执行所述存储器命令的一部分;
用于从所述易失性RAM的下一个地址获取下一个定序器时序矢量的设备;
用于基于所述下一个定序器时序矢量的时序数据和所述下一个定序器时序矢量的控制信号数据中的一个或更多个来确定所述非易失性存储器上的所述存储器命令的执行是否完成的设备;以及
用于响应于确定所述非易失性存储器上的所述存储器命令的执行未完成而实施所述下一个定序器时序矢量的设备。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762531832P | 2017-07-12 | 2017-07-12 | |
US62/531,832 | 2017-07-12 | ||
US15/870,390 | 2018-01-12 | ||
US15/870,390 US10628049B2 (en) | 2017-07-12 | 2018-01-12 | Systems and methods for on-die control of memory command, timing, and/or control signals |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109256169A CN109256169A (zh) | 2019-01-22 |
CN109256169B true CN109256169B (zh) | 2023-03-31 |
Family
ID=64999650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810657317.0A Active CN109256169B (zh) | 2017-07-12 | 2018-06-25 | 用于管芯上控制存储器命令、时序和/或控制信号的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10628049B2 (zh) |
JP (1) | JP6722229B2 (zh) |
CN (1) | CN109256169B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10741239B2 (en) * | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
JP2019046530A (ja) | 2017-09-07 | 2019-03-22 | 東芝メモリ株式会社 | メモリシステム |
US10571147B1 (en) * | 2018-10-08 | 2020-02-25 | Crestron Electronics, Inc. | Digital communication timing discovery over a two wire connection |
US11031059B2 (en) * | 2019-02-21 | 2021-06-08 | Sandisk Technologies Llc | Magnetic random-access memory with selector voltage compensation |
CN111627475B (zh) * | 2019-04-04 | 2022-12-13 | 深圳市晶凯电子技术有限公司 | 存储器和其电子装置及其测试系统、测试方法和应用方法 |
CN110164499B (zh) * | 2019-05-24 | 2023-02-28 | 中国科学院微电子研究所 | 一种非易失性存储器的控制系统 |
US11397561B2 (en) * | 2019-09-05 | 2022-07-26 | SK Hynix Inc. | Nonvolatile memory device performing a multiplicaiton and accumulation operation |
KR20210039075A (ko) * | 2019-10-01 | 2021-04-09 | 삼성전자주식회사 | 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
US20210149593A1 (en) * | 2019-11-18 | 2021-05-20 | Sandisk Technologies, Llc | Core Controller Architecture |
US11487548B2 (en) * | 2019-11-26 | 2022-11-01 | Sandisk Technologies Llc | Dynamic re-evaluation of parameters for non-volatile memory using microcontroller |
US10877541B1 (en) * | 2019-12-30 | 2020-12-29 | Micron Technology, Inc. | Power delivery timing for memory |
US11507498B2 (en) * | 2020-03-05 | 2022-11-22 | Sandisk Technologies Llc | Pre-computation of memory core control signals |
US11194503B2 (en) | 2020-03-11 | 2021-12-07 | Samsung Electronics Co., Ltd. | Storage device having a configurable command response trigger |
US11669271B2 (en) * | 2020-04-15 | 2023-06-06 | Advanced Micro Devices, Inc. | Memory operations using compound memory commands |
US11967391B2 (en) * | 2021-08-06 | 2024-04-23 | SK Hynix Inc. | System and method for testing multicore SSD firmware based on preconditions generation |
WO2023133114A1 (en) * | 2022-01-05 | 2023-07-13 | Microchip Technology Incorporated | Protocol agnostic control of nand flash |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099446A (en) * | 1987-04-28 | 1992-03-24 | Fujitsu Ten Limited | Data transfer apparatus and data transfer system |
US6775718B2 (en) * | 2001-03-26 | 2004-08-10 | Fujitsu Limited | DMA control system enabling flyby transfer to synchronous memory |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4673930A (en) | 1985-02-08 | 1987-06-16 | Motorola, Inc. | Improved memory control for a scanning CRT visual display system |
US5394541A (en) | 1990-07-17 | 1995-02-28 | Sun Microsystems, Inc. | Programmable memory timing method and apparatus for programmably generating generic and then type specific memory timing signals |
JPH10255489A (ja) | 1997-03-13 | 1998-09-25 | Mitsubishi Electric Corp | マイクロコンピュータ |
US7356656B1 (en) | 2000-05-15 | 2008-04-08 | Taiwan Semiconductor Manufacturing Company | Skew free control of a multi-block SRAM |
US6760865B2 (en) | 2001-05-16 | 2004-07-06 | Freescale Semiconductor, Inc. | Multiple level built-in self-test controller and method therefor |
US6772276B2 (en) * | 2002-01-04 | 2004-08-03 | Intel Corporation | Flash memory command abstraction |
US7010736B1 (en) * | 2002-07-22 | 2006-03-07 | Advanced Micro Devices, Inc. | Address sequencer within BIST (Built-in-Self-Test) system |
US7020815B2 (en) | 2002-08-29 | 2006-03-28 | Micron Technology, Inc. | Memory technology test apparatus |
US7327619B2 (en) | 2002-09-24 | 2008-02-05 | Sandisk Corporation | Reference sense amplifier for non-volatile memory |
EP1713085A1 (en) * | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
US7370169B2 (en) * | 2003-06-30 | 2008-05-06 | Raytheon Company | Efficient memory controller |
US7110298B2 (en) | 2004-07-20 | 2006-09-19 | Sandisk Corporation | Non-volatile system with program time control |
JP4761959B2 (ja) * | 2005-12-26 | 2011-08-31 | 株式会社東芝 | 半導体集積回路装置 |
US7941587B2 (en) | 2007-09-17 | 2011-05-10 | Cadence Design Systems, Inc | Programmable sequence generator for a flash memory controller |
US7652502B2 (en) | 2007-12-29 | 2010-01-26 | Unity Semiconductor Corporation | Field programmable gate arrays using resistivity sensitive memories |
EP2288993A4 (en) | 2008-05-29 | 2012-05-09 | Advanced Micro Devices Inc | PROGRAMMABLE COMPONENT INCORPORATED FOR MEMORY DEVICE LEARNING |
US8069300B2 (en) | 2008-09-30 | 2011-11-29 | Micron Technology, Inc. | Solid state storage device controller with expansion mode |
KR101734204B1 (ko) | 2010-06-01 | 2017-05-12 | 삼성전자주식회사 | 프로그램 시퀀서를 포함하는 플래시 메모리 장치 및 시스템, 그리고 그것의 프로그램 방법 |
US8730722B2 (en) * | 2012-03-02 | 2014-05-20 | Sandisk Technologies Inc. | Saving of data in cases of word-line to word-line short in memory arrays |
CN202662294U (zh) | 2012-05-22 | 2013-01-09 | 安徽大学 | 一种基于bist控制的可编程sram时序控制电路 |
US8982624B2 (en) | 2012-10-02 | 2015-03-17 | Fusion-Io, Llc | Adjustable read time for memory |
US9081666B2 (en) | 2013-02-15 | 2015-07-14 | Seagate Technology Llc | Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer |
US9633742B2 (en) | 2014-07-10 | 2017-04-25 | Sandisk Technologies Llc | Segmentation of blocks for faster bit line settling/recovery in non-volatile memory devices |
US9299443B1 (en) | 2014-09-29 | 2016-03-29 | Sandisk Technologies Inc. | Modifying program pulses based on inter-pulse period to reduce program noise |
US20160179388A1 (en) | 2014-12-18 | 2016-06-23 | CNEXLABS, Inc. | Method and apparatus for providing programmable nvm interface using sequencers |
US9626106B2 (en) * | 2015-01-13 | 2017-04-18 | Sandisk Technologies Llc | System and method for memory command queue management and configurable memory status checking |
US10152244B2 (en) | 2015-08-31 | 2018-12-11 | Advanced Micro Devices, Inc. | Programmable memory command sequencer |
US9721671B2 (en) | 2015-09-10 | 2017-08-01 | Sandisk Technologies Llc | Memory device which performs verify operations using different sense node pre-charge voltages and a common discharge period |
CN205943423U (zh) * | 2015-09-29 | 2017-02-08 | 苹果公司 | 电子设备、显示器、控制器和设备 |
-
2018
- 2018-01-12 US US15/870,390 patent/US10628049B2/en active Active
- 2018-06-19 JP JP2018116186A patent/JP6722229B2/ja active Active
- 2018-06-25 CN CN201810657317.0A patent/CN109256169B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099446A (en) * | 1987-04-28 | 1992-03-24 | Fujitsu Ten Limited | Data transfer apparatus and data transfer system |
US6775718B2 (en) * | 2001-03-26 | 2004-08-10 | Fujitsu Limited | DMA control system enabling flyby transfer to synchronous memory |
Also Published As
Publication number | Publication date |
---|---|
JP6722229B2 (ja) | 2020-07-15 |
US10628049B2 (en) | 2020-04-21 |
US20190018597A1 (en) | 2019-01-17 |
CN109256169A (zh) | 2019-01-22 |
JP2019023863A (ja) | 2019-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109256169B (zh) | 用于管芯上控制存储器命令、时序和/或控制信号的系统和方法 | |
US11275526B2 (en) | Memory controller for determining channel initialization time and method of operating the same | |
CN110678852B (zh) | 控制对缓冲器的存储器操作的设备和方法 | |
CN108121680B (zh) | 存储装置、电子系统以及操作电子装置的方法 | |
US10372446B2 (en) | Technology to dynamically modulate memory device read granularity | |
CN107274929B (zh) | 用于执行随机操作的非易失性存储器装置 | |
US11048625B2 (en) | Memory system and operating method thereof | |
KR20170065276A (ko) | 비휘발성 메인 메모리 시스템의 페이지 폴트 처리 방법 | |
EP4004744A1 (en) | Memory-aware pre-fetching and cache bypassing systems and methods | |
CN114078543A (zh) | 存储器控制器及其操作方法 | |
CN114564145A (zh) | 存储器系统及其操作方法 | |
KR20220157487A (ko) | 메모리 서브시스템 제조 모드 | |
US20180217773A1 (en) | Memory device configuration commands | |
US10558255B2 (en) | Hybrid hardware/firmware power management controller for media devices | |
US9728264B2 (en) | Nonvolatile memory device, operating method thereof, and data storage device including the same | |
US20230221895A1 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
CN109947360B (zh) | 存储器系统及其操作方法 | |
US20240078042A1 (en) | Storage device determining a policy for fetching commands from a plurality of command queues, and method thereof | |
US11334505B2 (en) | System and method for operating system | |
US12087390B2 (en) | Storage device based on daisy chain topology | |
US20240152276A1 (en) | Storage device determining priorities on the basis of temperatures of memory dies and temperature variations, and method thereof | |
US11386000B2 (en) | Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines | |
US9881676B1 (en) | Sense amplifier with program biasing and fast sensing | |
CN114187938A (zh) | 存储器装置及操作存储器装置的方法 | |
CN113778325A (zh) | 存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |