CN115668163A - 用于裸片上微处理器的操作码存储 - Google Patents
用于裸片上微处理器的操作码存储 Download PDFInfo
- Publication number
- CN115668163A CN115668163A CN202180035696.XA CN202180035696A CN115668163A CN 115668163 A CN115668163 A CN 115668163A CN 202180035696 A CN202180035696 A CN 202180035696A CN 115668163 A CN115668163 A CN 115668163A
- Authority
- CN
- China
- Prior art keywords
- memory
- microprocessor
- memory array
- memory cells
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title abstract description 32
- 230000015654 memory Effects 0.000 claims abstract description 559
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000003491 array Methods 0.000 claims description 19
- 239000004065 semiconductor Substances 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 229910000679 solder Inorganic materials 0.000 claims description 5
- 230000006870 function Effects 0.000 description 18
- 239000003990 capacitor Substances 0.000 description 17
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000011664 signaling Effects 0.000 description 8
- 239000000758 substrate Substances 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010287 polarization Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000012937 correction Methods 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
- 239000000463 material Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- BHEPBYXIRTUNPN-UHFFFAOYSA-N hydridophosphorus(.) (triplet) Chemical compound [PH] BHEPBYXIRTUNPN-UHFFFAOYSA-N 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
描述用于裸片上微处理器的操作码存储的方法、系统和装置。微处理器可与存储器阵列一起形成于裸片上。用于所述微处理器的操作码可存储于所述存储器阵列中,可能与供所述裸片上微处理器使用或由所述裸片上微处理器产生的其它数据(例如,跟踪或统计数据)一起存储。耗损均衡算法可引起所述存储器阵列内的某一数目的行在任何给定时间不用以存储用户数据,且这些行可用以存储所述操作码并且可能存储用于所述裸片上微处理器的其它数据。可基于存储于存储器阵列中的所述操作码来启动和运行所述裸片上微处理器。
Description
交叉引用
本专利申请案主张曼宁(Manning)等人在2020年5月19日申请的标题为“用于裸片上微处理器的操作码存储(OPERATIONAL CODE STORAGE FOR AN ON-DIEMICROPROCESSOR)”的第16/878,226号美国专利申请案的优先权,所述美国专利申请案转让给本受让人且以引用的方式明确并入本文中。
背景技术
下文大体上涉及一或多个存储器系统,且更具体来说,涉及用于裸片上微处理器的操作码存储。
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可以被编程为两个支持状态中的一个,经常由逻辑1或逻辑0表示。在一些实例中,单个存储器单元可以支持超过两个状态,其中的任一状态可存储。为了存取所存储的信息,装置的组件可读取或感测存储器装置中的至少一个所存储状态。为了存储信息,装置的组件可写入或编程存储器装置中的状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)等。存储器装置可以是易失性或非易失性的。非易失性存储器,例如FeRAM,可维持其所存储的逻辑状态很长一段时间,即使无外部电源存在也是这样。例如DRAM的易失性存储器装置在与外部电源断开连接时可能会丢失其所存储的状态。FeRAM可能够实现类似于易失性存储器的密度,但可具有非易失性特性,这是因为使用铁电电容器作为存储装置。
附图说明
图1说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的系统的实例。
图2说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的存储器裸片的实例。
图3说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的存储器裸片架构的实例。
图4说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的指令存储方案的实例。
图5示出根据本公开的方面的支持用于裸片上微处理器的操作码存储的存储器裸片的框图。
图6和7示出说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的一或多种方法的流程图。
具体实施方式
在一些情况下,裸片上系统可包含微处理器。如果裸片上系统完全是自含式的,那么微处理器使用的操作码也可存储于裸片上。
在一些系统中,用于微处理器的操作码可存储于只读存储器(ROM)中。然而,将操作码存储于ROM中的系统可能不具有在运行时间期间修改操作码的能力,或归因于ROM的只读性质而不具有使用ROM存储由微处理器产生的或以其它方式与操作微处理器相关联的其它数据的能力。
如本文所描述,裸片上系统可包含支持读取和写入操作两者的非易失性存储器阵列(例如,铁电随机存取存储器(FeRAM)存储器阵列)以及处于同一半导体裸片上的微处理器,且用于微处理器的操作码可存储于非易失性存储器阵列中。所述阵列还可以用于存储用户数据,且操作码可存储在阵列的不用以存储用户数据的存储器单元内,所述用户数据可指代通过裸片上系统的主机装置写入和读取的数据,且可经由裸片上阵列的数据(DQ)总线交换所述用户数据。举例来说,存储器阵列可为主机装置提供存储器级存储器。与微处理器相关联的其它数据(例如,微处理器可产生或以其它方式使用的跟踪或统计数据,例如可与阵列的操作管理有关的数据)可以类似方式存储为用于微处理器的操作码。举例来说,将与微处理器相关联的操作码和其它数据存储于用以存储用户数据的同一可写阵列内可节约裸片空间(例如,通过消除对用于微处理器的专用ROM的需求),进而增加微处理器使用的灵活性(例如,监测和管理阵列性能),以及所属领域的一般技术人员可了解的其它益处。
在一些情况下,裸片上系统可采用用于阵列的耗损均衡程序(算法),借此存储器阵列内的数据可在阵列内的不同物理地址之间重定位或以其它方式旋转以便均分与阵列内的不同存储器单元相关联的耗损程度。为了支持耗损均衡程序,在阵列操作期间的任何给定时间可能不使用某一数量的存储器单元行(或可能的其它分组)存储用户数据。这类行可被称为“间隙”或“跳过”行。用于裸片上微处理器的操作码(或其它数据)可存储于阵列内的某一数量的跳过行处,且可使用这类操作码启动和运行裸片上微处理器。可使用阵列内的其它行存储用户数据。
一开始在参考图1-2所描述的存储器系统和裸片的上下文中描述本公开的特征。在如参考图3-4所描述的存储器裸片架构和指令存储方案的上下文中描述本公开的特征。通过涉及参考图5-7所描述的用于裸片上微处理器的操作码存储的设备图和流程图进一步说明并且参考所述设备图和流程图进一步描述本公开的这些和其它特征。
图1说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的系统100的实例。系统100可包含主机装置105、存储器装置110以及将主机装置105与存储器装置110耦合的多个信道115。系统100可包含一或多个存储器装置110,但所述一或多个存储器装置110的方面可在单个存储器装置(例如,存储器装置110)的上下文中描述。如本文所描述,存储器装置110可包含与存储器阵列170处于同一裸片160上的微处理器175。
系统100可包含如计算装置、移动计算装置、无线装置、图形处理装置、车辆或其它系统的电子装置的部分。举例来说,系统100可说明计算机、笔记本计算机、平板计算机、智能手机、蜂窝电话、可穿戴装置、联网装置、车辆控制器等的方面。存储器装置110可以是可用于存储用于系统100的一或多个其它组件的数据的系统的组件。
系统100的至少部分可为主机装置105的实例。主机装置105可以是使用存储器执行过程的装置内的处理器或其它电路系统的实例,例如在计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能手机、蜂窝式电话、可穿戴装置、因特网连接装置、车辆控制器或某一其它固定或便携式电子装置以及其它实例内。在一些实例中,主机装置105可指代实施外部存储器控制器120的功能的硬件、固件、软件或其组合。在一些实例中,外部存储器控制器120可称为主机或主机装置105。
存储器装置110可以是可操作以提供可由系统100使用或参考的物理存储器地址/空间的独立装置或组件。在一些实例中,存储器装置110可为可配置的以与一或多个不同类型的主机装置一起工作。主机装置105与存储器装置110之间的信令可为可操作的以支持以下各项中的一或多个:用以调制信号的调制方案、用于传送信号的各种引脚配置、用于主机装置105和存储器装置110的物理封装的各种外观尺寸、主机装置105与存储器装置110之间的时钟信令和同步、定时惯例,或其它因素。
存储器装置110可为可操作的以存储用于主机装置105的组件的数据。在一些实例中,存储器装置110可充当主机装置105的从属型装置(例如,响应和执行由主机装置105通过外部存储器控制器120提供的命令)。此类命令可包含用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令中的一或多者。
主机装置105可包含外部存储器控制器120、处理器125、基本输入/输出系统(BIOS)组件130或例如一或多个外围组件或一或多个输入/输出控制器的其它组件中的一或多个。主机装置的组件可使用总线135彼此耦合。
处理器125可为可操作的以提供用于系统100的至少部分或主机装置105的至少部分的控制或其它功能性。处理器125可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或这些组件的组合。在这类实例中,处理器125可以是中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或芯片上系统(SoC)的实例,以及其它实例。在一些实例中,外部存储器控制器120可由处理器125实施或为所述处理器的一部分。
BIOS组件130可以是包含作为固件操作的BIOS的软件组件,其可初始化且运行系统100或主机装置105的各种硬件组件。BIOS组件130还可管理处理器125与系统100或主机装置105的各种组件之间的数据流。BIOS组件130可包含存储于只读存储器(ROM)、快闪存储器或其它非易失性存储器中的一或多个中的程序或软件。
存储器装置110可包含装置存储器控制器155和一或多个存储器裸片160(例如,存储器芯片)以支持用于数据存储的期望容量或指定容量。每一存储器裸片160可包含本地存储器控制器165(例如,本地存储器控制器165-a、本地存储器控制器165-b和/或本地存储器控制器165-N)以及存储器阵列170(例如,存储器阵列170-a、存储器阵列170-b、存储器阵列170-N)。存储器阵列170可以是存储器单元的集合(例如,一或多个网格、一或多个组、一个或多个拼块、一或多个区段),其中每一存储器单元可用于存储至少一位数据。包含两个或更多个存储器裸片的存储器装置110可称为多裸片存储器或多裸片封装,或多芯片存储器或多芯片封装。
装置存储器控制器155可包含可用于控制存储器装置110的操作的电路、逻辑或组件。装置存储器控制器155可包含使得存储器装置110能够执行各种操作的硬件、固件或指令,且可用于接收、发射或执行与存储器装置110的组件相关的命令、数据或控制信息。装置存储器控制器155可用于与外部存储器控制器120、所述一或多个存储器裸片160或处理器125中的一或多者通信。在一些实例中,装置存储器控制器155可结合存储器裸片160的本地存储器控制器165控制本文中所描述的存储器装置110的操作。
在一些实例中,存储器装置110可从主机装置105接收数据或命令或这两者。举例来说,存储器装置110可接收指示存储器装置110将存储用于主机装置105的数据(可被称为用户数据)的写入命令,或指示存储器装置110将存储于存储器裸片160中的数据提供给主机装置105的读取命令。
本地存储器控制器165(例如,在存储器裸片160本地)可为可操作的以控制存储器裸片160的操作。在一些实例中,本地存储器控制器165可为可操作的以与装置存储器控制器155通信(例如,接收或发射数据或命令或这两者)。在一些实例中,存储器装置110可不包含装置存储器控制器155,且本地存储器控制器165或外部存储器控制器120可执行本文中所描述的各种功能。由此,本地存储器控制器165可操作以与装置存储器控制器155、与其它本地存储器控制器165或直接与外部存储器控制器120或处理器125或其组合通信。装置存储器控制器155或本地存储器控制器165或这两者中可包含的组件的实例可包含用于(例如,从外部存储器控制器120)接收信号的接收器、用于发射信号(例如,到外部存储器控制器120)的发射器、用于解码或解调所接收信号的解码器、用于编码或调制待发射信号的编码器,或可操作用于支持所描述的装置存储器控制器155或本地存储器控制器165或这两者的操作的各种其它电路或控制器。
在一些情况下,存储器裸片160可包含一或多个微处理器175。举例来说,存储器裸片160可包含一个微处理器175、每存储器阵列170的组一个微处理器175,或一些其它配置。用于裸片上微处理器175的操作码可存储于裸片上。举例来说,操作码可存储于存储器裸片160的存储器阵列170(例如,非易失性存储器阵列,例如作为一个实例,可为FeRAM存储器阵列)中。
可使用存储于存储器阵列170中的代码启动和运行微处理器175。举例来说,用于微处理器175的启动地址和完整操作程序可存储于存储器阵列170中。在一些情况下,存储于存储器阵列170中的用于微处理器175的操作码可以是或包含用于微处理器175的BIOS代码(例如,固件),即,与用于主机装置105的任何BIOS代码分离并隔开,且因此与BIOS组件130提供的任何BIOS代码分离并隔开的BIOS代码。在一些情况下,与微处理器175相关联的额外数据也可存储于存储器阵列170中,所述额外数据例如与监测和管理存储器阵列170的性能和操作相关,且不可被主机装置105存取(例如,在主机装置105经由命令和地址(CA)信道186(其可被替代地称作CA总线)可寻址的地址空间外部)的数据。在一些情况下,在本文中归属于本地存储器控制器165、装置存储器控制器155或在本文中描述为可能包含在存储器装置110中的其它控制器的结构或功能中的一些或全部可替代地包含在微处理器175中或由微处理器175执行,且因此存储器装置110可包含或可不包含任何单独控制器。
外部存储器控制器120可为可操作的以使得能够在系统100或主机装置105的组件(例如,处理器125)与存储器装置110之间传送信息、数据或命令中的一或多者。外部存储器控制器120可转换或转译在主机装置105的组件与存储器装置110之间交换的通信。在一些实例中,外部存储器控制器120或系统100的其它组件或主机装置105或本文中所描述的功能可由处理器125实施。例如,外部存储器控制器120可为由处理器125或系统100的其它组件或主机装置105实施的硬件、固件或软件或其某一组合。尽管外部存储器控制器120描绘为在存储器装置110外部,但在一些实例中,外部存储器控制器120或本文中所描述的功能可由存储器装置110的一或多个组件(例如,装置存储器控制器155、本地存储器控制器165)实施,反之亦可。
主机装置105的组件可使用一或多个信道115与存储器装置110交换信息。信道115可为可操作的以支持外部存储器控制器120与存储器装置110之间的通信。每一信道115可为在主机装置105与存储器装置之间运载信息的发射媒体的实例。每一信道115可包含与系统100的组件相关联的端子之间的一或多个信号路径或发射媒体(例如,导体)。信号路径可以是可操作以运载信号的导电路径的实例。举例来说,信道115可包含第一端子,其包含在主机装置105处的一或多个引脚或衬垫以及在存储器装置110处的一或多个引脚或衬垫。引脚可以是系统100的装置的导电输入或输出点的实例,且引脚可为可操作的以充当信道的部分。
信道115(和相关联的信号路径和端子)可专用于传送一或多种类型的信息。举例来说,信道115可包含一或多个命令和地址(CA)信道186、一或多个时钟信号(CK)信道188、一或多个数据(DQ)信道190、一或多个其它信道192,或其组合。在一些实例中,可使用单倍数据速率(SDR)信令或双倍数据速率(DDR)信令在信道115上传送信令。在SDR信令中,可针对(例如,在时钟信号的上升或下降沿上的)每个时钟周期登记信号的一个调制符号(例如,信号电平)。在DDR信令中,可针对(例如,在时钟信号的上升沿和下降沿两者上的)每个时钟周期登记信号的两个调制符号(例如,信号电平)。
图2说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的存储器裸片200的实例。存储器裸片200可以是参考图1描述的存储器裸片160的实例。在一些实例中,存储器裸片200可被称为存储器芯片、存储器装置或电子存储器设备。存储器裸片200可包含一或多个存储器单元205,其可各自可编程以存储不同逻辑状态(例如,一组两个或更多个可能的状态中的经编程的一个)。举例来说,存储器单元205可操作以一次存储一个信息位(例如,逻辑0或逻辑1)。在一些实例中,存储器单元205(例如,多层级存储器单元)可为可操作的以每次存储多于一位的信息(例如,逻辑00、逻辑01、逻辑10、逻辑11)。在一些实例中,存储器单元205可布置成阵列,如参考图1所描述的存储器阵列170。存储器裸片200可包含微处理器270,其可为参考图1所描述的微处理器175的实例。
在FeRAM存储器阵列的上下文中描述本文所描述的某些实例,但应理解,本文中的教示可适用于任何类别的存储器阵列的上下文,其中FeRAM可能仅为一个说明性实例。在存储器单元205是铁电存储器单元的情况下,存储器单元205可将表示可编程状态的状态(例如,极化状态或电介质电荷)存储于电容器中。举例来说,存储器单元205可包含具有铁电材料的电容器240以存储表示可编程状态的电荷和/或极化。存储器单元205可包含逻辑存储组件,例如电容器240和开关组件245。电容器240可以是铁电电容器的实例。电容器240的第一节点可与开关组件245耦合,且电容器240的第二节点可与板线220耦合。开关组件245可以是选择性地建立或取消建立两个组件之间的电子通信的晶体管或任何其它类型的开关装置的实例。
存储器裸片200可包含布置成例如网格状图案的图案的存取线(例如,字线210、数字线215和板线220)。存取线可以是与存储器单元205耦合的导线,并且可以用于对存储器单元205执行存取操作。在一些实例中,字线210可以被称为行线。在一些实例中,数字线215可称作列线或位线。对存取线、行线、列线、字线、数字线、位线或板线或其类似物的引用可互换,而不损失理解或操作。存储器单元205可定位在字线210、数字线215和/或板线220的相交点处。
可通过激活或选择例如字线210、数字线215和/或板线220等存取线而对存储器单元205执行例如读取和写入等操作。通过对字线210、数字线215和板线220加偏压(例如,将电压施加到字线210、数字线215或板线220),可在其相交点处存取单个存储器单元205。激活或选择字线210、数字线215或板线220可包含将电压施加到相应线。
可通过行解码器225、列解码器230和板驱动器235来控制对存储器单元205的存取。举例来说,行解码器225可从本地存储器控制器265接收行地址,且基于所接收的行地址激活字线210。列解码器230从本地存储器控制器265接收列地址,且基于所接收的列地址而激活数字线215。板驱动器235可从本地存储器控制器265接收板地址,且基于所接收的板地址而激活板线220。
选择或解除选择存储器单元205可通过激活或解除激活开关组件245而实现。电容器240可使用开关组件245与数字线215电子连通。举例来说,当开关组件245被解除激活时电容器240可与数字线215隔离,且当开关组件245被激活时电容器240可与数字线215耦合。
字线210可为用以对存储器单元205执行存取操作的存储器单元205电子通信的导电线。在一些架构中,字线210可与存储器单元205的开关组件245的栅极电子通信,且可为可操作的以控制存储器单元的开关组件245。在一些架构中,字线210可以与存储器单元205的电容器的节点电子连通,且存储器单元205可不包含开关组件。
数字线215可为连接存储器单元205与感测组件250的导线。在一些架构中,存储器单元205可在存取操作的部分期间选择性地与数字线215耦合。举例来说,字线210和存储器单元205的开关组件245可为可操作的以选择性地耦合和/或隔离存储器单元205的电容器240和数字线215。在一些架构中,存储器单元205可与数字线215电子通信(例如,恒定)。
板线220可为与存储器单元205电子通信的导线,其用于对存储器单元205执行存取操作。板线220可与电容器240的节点(例如,单元底部)电子通信。板线220经配置以与数字线215配合以在存储器单元205的存取操作期间偏置电容器240。
感测组件250可确定存储在存储器单元205的电容器240上的状态(例如,极化状态或电荷)且基于检测到的状态确定存储器单元205的逻辑状态。感测组件250可包含一或多个感测放大器以放大由存储器单元205的信号输出。感测组件250可将跨越数字线215从存储器单元205接收的信号与参考255(例如,参考电压)进行比较。存储器单元205的检测到的逻辑状态可作为感测组件250的输出提供(例如,提供给输入/输出260),且可向包含存储器裸片200的存储器装置110的另一组件指示检测到的逻辑状态。
本地存储器控制器265可通过各种组件(例如,行解码器225、列解码器230、板驱动器235和感测组件250)控制存储器单元205的操作。本地存储器控制器265可以是参考图1所描述的本地存储器控制器165的实例。在一些实例中,行解码器225、列解码器230和感测组件235以及感测组件250中的一或多个可以与本地存储器控制器265处于相同位置。本地存储器控制器265可为可操作的以从一或多个不同存储器控制器(例如,与主机装置105相关联的外部存储器控制器120、与存储器裸片200相关联的另一控制器)接收命令或数据中的一或多个,将命令或数据(或这两者)转译成存储器裸片200可使用的信息,对存储器裸片200执行一或多个操作,且基于执行一或多个操作将数据从存储器裸片200传送到主机装置105。本地存储器控制器265可产生行信号和列地址信号以激活目标字线210、目标数字线215和目标板线220。本地存储器控制器265也可产生和控制在存储器裸片200的操作期间使用的各个电压或电流。一般来说,本文中所论述的所施加电压或电流的幅值、形状或持续时间可变化且对于在操作存储器裸片200时论述的各种操作可以是不同的。
本地存储器控制器265可为可操作的以对存储器裸片200的一或多个存储器单元205执行一或多个存取操作。存取操作的实例可包含写入操作、读取操作、刷新操作、预充电操作或激活操作等。在一些实例中,存取操作可由本地存储器控制器265响应于各种存取命令(例如,来自主机装置105)而执行或以其它方式协调。本地存储器控制器265可为可操作的以执行此处未列出的其它存取操作或与存储器裸片200的操作有关的不与存取存储器单元205直接相关的其它操作。
本地存储器控制器265可为可操作的以对存储器裸片200的一或多个存储器单元205执行写入操作(例如,编程操作)。在写入操作期间,存储器裸片200的存储器单元205可被编程为存储所要逻辑状态。本地存储器控制器265可识别将在上面执行写入操作的目标存储器单元205。本地存储器控制器265可识别与目标存储器单元205耦合的目标字线210、目标数字线215和目标板线220。本地存储器控制器265可激活目标字线210、目标数字线215和目标板线220(例如,将电压施加到字线210、数字线215或板线220),以存取目标存储器单元205。本地存储器控制器265可在写入操作期间将特定信号(例如,写入脉冲)施加到数字线215以将特定状态(例如,电荷)存储在存储器单元205的电容器240中。用作写入操作的部分的脉冲可包含持续时间内的一或多个电压电平。
本地存储器控制器265可为可操作的以对存储器裸片200的一或多个存储器单元205执行读取操作(例如,感测操作)。在读取操作期间,可以确定存储在存储器裸片200的存储器单元205上的逻辑状态。本地存储器控制器265可识别上面将执行读取操作的目标存储器单元205。本地存储器控制器265可识别与目标存储器单元205耦合的目标字线210、目标数字线215和目标板线220。本地存储器控制器265可激活目标字线210、目标数字线215和目标板线220(例如,将电压施加到字线210、数字线215或板线220),以存取目标存储器单元205。目标存储器单元205可以响应于施偏压于存取线而将信号传送到感测组件250。感测组件250可放大所述信号。本地存储器控制器265可激活感测组件250(例如,锁存感测组件)并且进而将从存储器单元205接收的信号与参考255进行比较。基于所述比较,感测组件250可确定存储于存储器单元205上的逻辑状态。
存储器裸片200还可包含一或多个微处理器270,在一些情况下,所述微处理器可与本地存储器控制器265耦合。另外或替代地,微处理器可与存储器裸片200的任何其它方面(例如,行解码器225、列解码器230、板驱动器235、输入/输出260)耦合。并且在一些情况下,本文中属于本地存储器控制器265的结构或功能中的一些或全部可替代地包含在微处理器270中或由微处理器270执行(例如,在一些实施方案中,可能不存在本地存储器控制器265)。
举例来说,根据本文中描述的实例,微处理器可监测且可能管理存储单元阵列205的性能或操作的一或多个方面。阵列中的存储器单元205的子集可用以存储用于微处理器270的操作码或其它数据(例如,性能统计、性能日志数据,或与阵列的性能或操作有关的其它数据)。举例来说,微处理器270可用以将操作码和/或其它数据存储于一或多个存储器单元行205(每一行与相应字线210耦合)中。在一些情况下,用以存储用于微处理器270的操作码和/或其它数据的存储器单元行205可为跳过行且可能可用于这类使用,这至少部分归因于用于阵列的耗损均衡程序。在阵列和裸片200的操作期间,耗损均衡程序可(例如,周期性地或在以其它方式排定或命令的基础上)旋转数据在阵列内的存储方位以均衡(归一化、平衡、均分、均匀化)与阵列内的不同存储器单元205相关联的耗损量。因此,在一些情况下,根据耗损均衡程序,在操作阵列时,用于微处理器270的操作码和/或其它数据所在的物理方位可随时间变化(旋转、改变)。
图3说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的存储器裸片架构300的实例。存储器裸片架构300可包含存储器裸片305,其可为如参考图1所描述的存储器裸片160或如参考图2所描述的存储器裸片200的方面的实例。在一些实例中,存储器裸片305可为半导体存储器裸片或硅存储器装置的实例。
存储器裸片305可包含存储器阵列310,其可为如参考图1所描述的存储器阵列170或如参考图2所描述的阵列的方面的实例。存储器阵列310可以是存储器单元的集合(例如,一或多个网格、一或多个组、一或多个拼片、一或多个区段),其中每一存储器单元可操作以存储至少一位数据。在其中存储器阵列包含一或多个组的情况下,所述一或多个组中的每一个可包含一或多个子阵列。
存储器裸片305还可包含与存储器阵列310耦合的控制器315。控制器315可为如参考图1所描述的装置存储器控制器155或本地存储器控制器165或如参考图2所描述的本地存储器控制器265的方面的实例。控制器315可为可操作的以控制存储器阵列310的操作。举例来说,在其中存储器阵列310包含一或多个组的情况下,控制器315可为可操作的以与存取所述一或多个组中的一个并行地存取所述一或多个组中的另一个。另外,当存取组时,控制器315可一次存取组内的一个子阵列。因而,当并行地存取一或多个组中的多个时,控制器315可为可操作的以存取第一组内的第一子阵列、第二组内的第二子阵列,依此类推。控制器315还可包含解码电路系统或与解码电路系统耦合,所述解码电路系统例如如参考图2所描述的一或多个行解码器225、列解码器230或板驱动器235或用于解码从存储器裸片305外部的来源(例如,主机装置105)接收的命令的命令解码器。
控制器315可与总线340耦合,经由所述总线340,控制器315可从存储器裸片305外部的来源(例如,主机装置105)接收用户数据以及将用户数据发射到所述来源。因此,总线340也可以载送与用户数据相关联的命令(例如,存取命令)和地址信息。控制器315可为可操作的以将经由总线340接收的数据存储于存储器阵列310的子集(例如,存储器阵列310内的存储器单元子集)中总线340可以与包含在存储器裸片305中的一或多个衬垫335耦合。衬垫335可与如参考图1所描述的任何数量的信道115(包含DQ信道190和CA信道186以及其它实例)耦合(例如,经由引脚、焊球、接合垫、接合线或任何其它类型的互连件,或其任何组合)。
用于存储用户数据的存储器阵列310的子集可与逻辑地址空间相关联,其中经由总线340接收到的与用户数据相关联的命令可参考逻辑地址空间内的逻辑地址来识别命令或以其它方式使命令与对应用户数据相关联。举例来说,读取或写入命令可包含逻辑地址或以其它方式与逻辑地址相关联(例如,与逻辑地址并行地或以相对于逻辑地址的某一其它限定定时接收到),且控制器315可基于所述逻辑地址识别存储器阵列310内的针对所述命令读取或写入用户数据的方位。存储器阵列310内的物理存储方位(例如,组、子阵列、行、列、存储器单元)可各自具有物理地址空间内的相应物理地址,且控制器315可维持和利用逻辑到物理地址映射使逻辑地址与存储器阵列内的物理地址相关联。在一些情况下,逻辑地址可被替代地称作虚拟地址,且逻辑地址空间可被替代地称作虚拟地址空间。
在一些情况下,与存储器阵列310相关联的物理地址空间可大于与经由总线340交换的命令和用户数据相关联的逻辑地址空间(例如,供主机装置105使用的逻辑地址空间)。针对存储器310的物理方位第一子集可具有逻辑地址空间内存在的对应逻辑地址所针对的物理地址,且针对存储器310的物理方位第一子集内的存储器单元对于存储器裸片305外部的装置(例如,对于主机装置105)可为可存取的并且可用于存储用户数据。针对存储器310的物理方位第二子集可具有逻辑地址空间内不存在对应逻辑地址所针对的物理地址,且针对存储器310的此物理方位第二子集对于存储器裸片305外部的装置(例如,对于主机装置105)可能是不可存取的或不可用于存储用户数据。
存储器裸片305还可包含微处理器320。在一些实例中,微处理器320可包含或为中央处理单元(CPU)的实例。微处理器320可被配置成执行指令。用于微处理器320的可执行指令可被称为用于微处理器320的操作码。微处理器320可执行这类指令,例如以监测和管理(控制)存储器阵列310的各个操作性方面或存储器裸片305的其它方面。在一些情况下,微处理器可与衬垫335耦合且被配置成经由衬垫335与存储器裸片305外部的装置(例如,主机装置105)交换信号。另外或替代地,微处理器可与如图3的实例中所示的控制器315耦合。并且在一些情况下,微处理器320可直接与存储器阵列310耦合。举例来说,本文中属于控制器315的一或多个结构或功能可替代地包含在微处理器320中或由微处理器320执行,且在一些情况下,存储器裸片305可不具有控制器315。虽然在图3的实例中示出一个微处理器320,但应理解,在一些情况下,存储器裸片305可包含多个微处理器320(例如,存储器阵列310的每组一个裸片上微处理器320,或每存储器阵列310一个裸片上微处理器320,其中存储器裸片305包含多个存储器阵列310)。
如所属领域的一般技术人员可了解,在存储器裸片305中包含微处理器320可支持多种功能。举例来说,微处理器320可被配置成防止或修复存储器阵列310中与行锤击有关的错误。行锤击可指代一或多个相同字线(且因此存储器单元行)被频繁且重复激活。对于一些类型的存储器(例如,FeRAM),如果在意时间间隔内反复地存取行(例如,行被锤击),那么由重复存取一或多个行引起的泄漏、寄生电流或电荷泵送可致使一或多个受害(被激活、被存取)行以及一或多个不被存取的物理邻近(例如,相邻)行中的数据损坏。裸片上微处理器320可被配置成检测行锤击事件(例如,在阈值持续时间内存取同一行达高于阈值次数的次数)并且降低或防止行锤击事件的影响(例如,通过物理上重定位与被锤击行相关联的数据,调整与被锤击行或存储于被锤击行处的用户数据相关联的逻辑到物理地址映射,阻挡在至少某一持续时间内经由总线340对被锤击行或存储器阵列310的存取,或其任何组合)。
另外或替代地,微处理器320可被配置成管理或以其它方式支持用于存储器阵列310的耗损均衡程序的执行。耗损均衡可包含例如将数据从存储器阵列310内(或跨存储器阵列310或在存储器阵列310之间,例如这是在存储器裸片305包含多个存储器阵列310的情况下)的一个物理方位传送到另一物理方位并且调整与重定位的数据相关联的逻辑到物理地址映射(例如,以使相关联的逻辑地址与对应于数据重定位到的新物理方位的新物理地址相关)。耗损均衡可防止存储器阵列310内的存储器单元与存储器阵列310内的其它存储器单元相比被更多(例如,显著更多)地写入或读取,且因此以减小第一存储器单元集的第一耗损程度与第二存储器单元集的第二耗损程度之间的差。过量存取相较于不被如此频繁被存取的存储器单元可减小被过度使用的存储器单元的寿命,且因此耗损均衡可保护存储器装置以免过度使用个别存储器单元,过度使用个别存储器单元可能会致使存储器单元过早失效。
另外或替代地,微处理器320可被配置成执行现场装置微调优化。微调参数可指代用于操作在存储器裸片305已经制造之后为可配置的存储器阵列310的参数(例如,定时、电压、电流或其它参数)。在一些情况下,可基于在存储器裸片305已经制造之后,例如在制造后测试阶段期间或者在使用(部署)存储器裸片305之前熔断单次可编程存储元件(例如,熔丝或反熔丝)来设置微调参数。然而,裸片上微处理器320可被配置成监测阵列操作的一或多个度量(特性)(例如,数据错误率或其它现场故障条件、操作温度、操作电压等等)并且基于监测到的度量,包含在存储器裸片305和存储器阵列310操作时或者在已经部署存储器裸片305和存储器阵列310之后,调整(修改、改变)一或多个微调参数。举例来说,如果与存储器裸片305相关联的温度改变,那么微处理器320可基于温度修改用于操作存储器阵列310的参数(例如,电压或定时参数)的值。作为其它实例,微处理器320可被配置成检测且抵消(例如,通过微调参数调整)磁场老化、仿射、压印、耗损,或对存储器阵列310的执行(操作)不利的其它条件。微处理器320可发起并管理与检测这类条件有关的评估(测试程序)。在一些情况下,微处理器可通过调整存储到模式寄存器或存储器裸片305上的其它可重新编程的存储方位(在一些情况下,包含针对存储器阵列310的方位)的值来调整微调参数。另外或替代地,微处理器可用以在制造时间执行内置式自测试(BIST)程序以类似地识别且修复(例如,校正)任何数量的问题。
用于微处理器320的操作码可与用户数据(从存储器裸片305外部的装置接收并且与来自所述装置的命令相关联,例如经由总线340接收的数据)一起存储于存储器阵列310中。操作码可包含BIOS指令、启动地址、完整启动序列,或可由微处理器320执行的任何其它类型的指令。微处理器320可从存储器阵列310检索(例如,读取)操作指令(例如,作为用于微处理器320的启动程序的部分)并且执行操作码以执行本文中属于微处理器320的功能中的任一个。操作码可存储到存储器阵列310内处于用于用户数据(例如,与总线340相关联)的逻辑地址空间外部,至少在目前操作性逻辑到物理地址映射下方的物理方位。举例来说,用于微处理器320的操作码可存储在与用于存储器阵列310的耗损均衡程序相关联的一或多个跳过行内。
在一些情况下,用于微处理器320的操作码的多个副本或一或多个操作码子集的多个副本可存储于存储器阵列310中。另外或替代地,用于微处理器320的操作码的多个副本或一或多个操作码子集的多个副本可存储于存储器裸片305上的不同的相应存储器阵列310中。存储用于微处理器320的操作码中的一些或全部的多个副本可提供冗余或如所属领域的一般技术人员可了解的其它可靠性益处。
在一些情况下,可使用错误校正或检测代码(其广义上可被称作错误校正码(ECC))来保护用于微处理器320的操作码。举例来说,操作码可与循环冗余校验(CRC)或其它类型的ECC相关联地存储于存储器阵列310中,当从存储器阵列310检索操作码时,所述循环冗余校验(CRC)或其它类型的ECC可用以验证操作码。此类技术可提供冗余或如所属领域的一般技术人员可了解的其它可靠性益处。
在一些情况下,存储器裸片305也可以将与微处理器320相关联(例如,由微处理器320读取、写入、产生或使用)的其它数据存储于存储器阵列310中。举例来说,存储器裸片305可将微处理器320收集或计算的数据(例如,性能统计、参数值、运行时间数据)存储于存储器阵列310中。举例来说,这类数据可供微处理器320用于性能跟踪、参数调整(优化),或本文中属于微处理器320的任何其它功能。其它数据也可以与用于微处理器320的操作码类似的方式存储在存储器阵列310内。
将用于微处理器320的操作码和/或其它数据存储于存储器阵列310中可具有一或多个优点。举例来说,存储器裸片305无需包含支持微处理器320(例如,以存储操作码)的任何ROM,这可允许存储器裸片305包含裸片上微处理器320,同时相对于具有单独ROM的实施方案节省裸片大小或空间。另外,由于存储器阵列310与ROM相比可具有较大量的存储器,因此相对于具有单独ROM的实施方案,相对较大程序(更大数量的指令)可存储在存储器阵列310内。另外,不同于ROM,微处理器320可能够更新并写入新数据到存储器阵列310。所属领域的普通技术人员可了解额外益处。
因为存储器阵列310和微处理器320两者均被制造为包含在同一存储器裸片305中,所以一或多个制造过程(例如,步骤)或结构对于存储器阵列310和微处理器320可为共同的,这可提供制造效率、性能益处,或其任何组合。举例来说,可并行地制造和处理(例如,图案化)一或多个金属层以在存储器裸片305的同一层处在存储器阵列310和微处理器320两者内执行电极。
图4说明根据本文所公开的实例的支持用于裸片上微处理器的操作码存储的指令存储方案400的实例。
可至少部分地使用子阵列集405实施指令存储方案400,所述子阵列集405可为如参考图3所描述的存储器阵列310或如本文中所描述的其它存储器阵列的子阵列。图4的实例中说明的子阵列405可各自包含在存储器阵列310的同一组中,但应理解,可使用任何数量的组内任何数量(例如,一或多个)子阵列405,以及存储器裸片305内任何数量的存储器阵列310实施本文中的教示。每个子阵列405可包含行集(例如,字线集,其各自对应于(耦合到)存储器单元行),其中每一行包括存储器单元集。
在每个子阵列405内,第一数量的行可用于存储用户数据(例如,在任何给定时间)。第一数量的行内的存储器单元可包含在子阵列405内的第一存储器单元子集(或替代地,存储器阵列310内的第一存储器单元子集)中。第一子集中的行(或存储器单元)可具有用于存储器阵列310的逻辑地址空间内存在的对应逻辑地址所针对的物理地址且因此可基于经由总线340接收的命令(例如,从主机装置105接收的命令)被存取。
在每个子阵列405内,第二数量的行可能不可用于存储用户数据(例如,在任何给定时间)。第二数量的行内的存储器单元可包含在子阵列405内的第二存储器单元子集(或替代地,存储器阵列310内的第一存储器单元子集)中。第二子集中的行(或存储器单元)可具有用于存储器阵列310的逻辑地址空间内不存在对应逻辑地址所针对的物理地址且因此可能基于经由总线340接收的命令(例如,从主机装置105接收的命令)不可被存取。因此,用于存储器阵列310的物理地址空间可大于用于存储器阵列310的逻辑地址空间。然而,第二子集中的行可为可被微处理器320、控制器315或其它裸片上实体存取的,这是因为这类裸片上实体可能够基于其物理地址直接存取存储器阵列310内的存储器单元或可以其它方式存取用于存储器阵列310的完整物理地址空间。
在一些情况下,所述第二子集内的行中的至少一些可用于存储器阵列310内的耗损均衡。这类行可被称为间隙行或跳过行。当作为耗损均衡程序的部分将存储于第一集中的第一行处的用户数据重定位时,可将用户数据传送到跳过行,且与用户数据相关联的逻辑地址可从第一行的物理地址重新映射到跳过行的物理地址。在一些情况下,存储于跳过行处的任何信息均可传送到第一行,且因此可替换先前存储于第一行处的用户数据,或可传送到存储器阵列内的某一其它行以为用户数据腾出空间。根据耗损均衡算法,用户数据稍后可被重定位且向跳过行远处传送,传送回到第一行或传送到存储器阵列310内的某一其它行。
存储于存储器阵列310中的信息(用户数据、用于微处理器320的操作码,或用于微处理器320的其它数据)的物理方位可旋转(循环)通过存储器阵列310或以其它方式根据耗损均衡算法随时间变化,使得被更频繁地存取的信息(且因此被更频繁地存取的逻辑地址)并未始终存储于同一物理行处。可在排定(例如,周期性)或其它基础上(例如,响应于与一或多个行相关联的存取计数达到阈值)执行耗损均衡程序。在信息的物理存储方位旋转时,可更新逻辑到物理地址映射以使得用于用户数据的逻辑地址类似地旋转(例如,循环)通过对应的物理地址空间子集。
因此,存储器阵列310内的跳过行的物理方位(且因此物理地址)可为动态的(在存储器阵列310的操作期间,可随时间变化),但至少部分归因于耗损均衡程序(例如,归因于用户数据已向物理行远处重定位,或归因于物理行预留用于用户数据到物理行的稍后潜在重定位)而目前不用以存储用户数据的任何物理行可被视为跳过行。因此,在存储器阵列310内,用于微处理器320的操作码和其它数据的物理方位可随时间变化,这是因为这类信息根据耗损均衡算法被重定位且循环(旋转)通过存储器阵列310并且因为执行相关联的耗损均衡程序。
在图4的实例中,每个子阵列405可包含至少一个对应跳过行410。举例来说,子阵列405-a可包含跳过行410-a;子阵列405-b可包含跳过行410-b;子阵列405-c可包含跳过行410-c;且子阵列405-d可包含跳过行410-d。举例来说,跳过行410-a可存储操作码的第一部分,跳过行410-b可存储操作码的第二部分,且跳过行410-c可存储操作码的第三部分。存储于跳过行410中的操作码可以是如本文中其它处所描述的用于微处理器的操作码的任何实例(例如,用于微处理器的BIOS代码或其它可执行指令),且在一些情况下,与微处理器相关联(例如,由微处理器产生、操控或以其它方式供微处理器使用)的其它数据可类似地存储于跳过行410中。在一些实例中,并非需要使用所有子阵列405中的所有跳过行410来存储操作码或与微处理器相关联的其它数据,且因此至少当存储器裸片305第一次开始操作时,一或多个跳过行410(例如,跳过行410-d)可为空。
在一些实例中,子阵列405内的跳过行410一开始可位于子阵列405的末端且因此可具有处于一或多个冗余行的物理地址之前或之后的物理地址。冗余行可被替代地称作修复元件,且也可至少一开始包含在处于逻辑地址空间外部的第二行子集中。一或多个冗余行继而可位于一或多个虚设行之后或之前的一或多个对应物理存储器地址处,所述一或多个虚设行可包含在子阵列405的最末端处以避免相关联的制造缺陷与用以存储信息的行有关。
归因于用于微处理器320的操作码和/或其它数据存储于跳过行410中,用于微处理器320的操作码和/或其它数据可能不可经由外部命令被存取(例如,对于主机装置105可为隐藏的)。举例来说,跳过行可能不可被裸片外实体(例如主机装置105)存取,这至少部分地因为跳过行可具有物理地址但存储于其中的数据可能不具有对应的逻辑地址。然而,微处理器320或控制器315可为可操作的以从跳过行410检索操作码和/或其它数据并修改操作码和/或其它数据。因而,微处理器320可能够从存储于存储器阵列310中的操作码完全启动并且也可以具有存储器阵列310内可用的存储空间来读取和写入外部用户(例如,主机装置105)可能无法存取的运行时间数据。
虽然参考存储器单元行解释本文中的教示的某些方面,但应理解,本文中的教示可基于任何存储器单元分组被应用而不限于物理上布置成行的存储器单元。
图5示出根据本公开的实例的支持用于裸片上微处理器的操作码存储的存储器裸片505的框图500。存储器裸片505可为如参考图1到4所描述的存储器裸片的方面的实例。存储器裸片505可包含存储器阵列510、微处理器515、命令组件520、写入组件525、耗损均衡组件530、映射组件535、地址识别组件540、启动组件545、阵列管理组件550和阵列操作组件555。这些模块中的每一个可彼此直接或间接(例如,经由一或多个总线或其它信号路径)通信。
存储器阵列510可存储用于与存储器阵列510包含在同一裸片上的微处理器的指令。微处理器515可执行所述指令。在一些情况下,启动组件545可基于执行所述指令来启动微处理器。在一些情况下,所述指令包含用于微处理器的BIOS代码。
命令组件520可在(例如,通过微处理器515)执行所述指令中的至少一些之后,从所述裸片外部的来源接收将数据写入到存储器阵列510的命令。写入组件525可基于所述命令,将数据写入到存储器阵列510。
耗损均衡组件530可在将数据写入到存储器阵列510之后,将所述数据从存储器阵列510内的第一存储器单元集传送到存储器阵列510内的第二存储器单元集。在一些实例中,存储器阵列510可在传送来自第一存储器单元集的数据之后,使用所述第一存储器单元集存储所述指令。在一些情况下,基于被配置成减小所述第一存储器单元集的第一耗损程度与所述第二存储器单元集的第二耗损程度之间的差的程序,传送所述数据。在一些情况下,存储器阵列510内的第一存储器单元子集是用于响应于外部命令而存储数据。在一些情况下,存储器阵列510内的第二存储器单元子集支持所述程序,其中使用所述第二存储器单元子集存储所述指令。在一些实例中,耗损均衡组件530可包含在微处理器515中或包含在存储器裸片505上的单独控制器中。
在一些实例中,存储器阵列510可包含存储器单元行,所述行与相应物理地址相关联。在一些这类情况下,映射组件535可对于所述行的第一子集,将所述相应物理地址映射到逻辑地址集中的相应逻辑地址,其中所述指令存储到包含在所述行的第二子集中的一或多个存储器单元行,所述第二子集不与所述第一子集重叠。
地址识别组件540可基于所述命令,识别所述逻辑地址集中的逻辑地址。在一些实例中,地址识别组件540可基于所述逻辑地址和所述映射来识别物理地址,其中所述数据的至少一部分写入到包含在所述第一子集中并与所述物理地址相关联的存储器单元行。
阵列管理组件550可确定与操作存储器阵列510相关联的统计。阵列管理组件550可为微处理器的组件。因而,所述确定可由微处理器执行。在一些实例中,写入组件525可将与操作存储器阵列相关联的统计的指示写入到存储器阵列510。
在一些实例中,阵列管理组件550可确定用于操作存储器阵列510的参数的值。在一些实例中,写入组件525可将用于操作存储器阵列的参数的值的指示写入到存储器阵列。阵列操作组件555可根据操作确定组件550确定的参数的值操作存储器阵列。在一些实例中,阵列操作组件555可包含微处理器515中或包含在存储器裸片505上的单独控制器中。
图6示出说明根据本公开的方面的支持用于裸片上微处理器的操作码存储的一或多种方法600的流程图。方法600的操作可由如本文中所描述的存储器裸片或其组件实施。举例来说,方法600的操作可由如参考图5所描述的存储器裸片执行。在一些实例中,存储器裸片可执行指令集以控制存储器裸片的功能元件来执行所描述的功能。另外或替代地,存储器裸片可使用专用硬件来执行所描述的功能的方面。
在605处,存储器裸片可将用于与存储器阵列包含在同一裸片上的微处理器的指令存储于所述存储器阵列内。可根据本文中所描述的方法执行605的操作。在一些实例中,可由如参考图5所描述的存储器阵列执行605的操作的方面。
在610处,存储器裸片可通过微处理器执行指令。可根据本文中所描述的方法执行610的操作。在一些实例中,可由如参考图5所描述的微处理器执行610的操作的方面。
在615处,存储器裸片可在通过微处理器执行指令之后,从裸片外部的来源接收将数据写入到存储器阵列的命令。可根据本文中所描述的方法执行615的操作。在一些实例中,可由如参考图5所描述的命令组件执行615的操作的方面。
在620处,存储器裸片可基于所述命令,将数据写入到存储器阵列。可根据本文中所描述的方法执行620的操作。在一些实例中,可由如参考图5所描述的写入组件执行620的操作的方面。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法600。所述设备可包含用于以下操作的特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):将用于与存储器阵列包含在同一裸片上的微处理器的指令存储于所述存储器阵列内;通过微处理器执行指令;在通过微处理器执行指令之后,从裸片外部的来源接收将数据写入到存储器阵列的命令;和基于所述命令,将数据写入到存储器阵列。
本文中描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:在将所述数据写入到所述存储器阵列之后,将所述数据从所述存储器阵列内的第一存储器单元集传送到所述存储器阵列内的第二存储器单元集;和在可传送所述数据之后,使用所述第一存储器单元集存储所述指令。
在本文中描述的方法600和设备的一些实例中,可基于被配置成减小所述第一存储器单元集的第一耗损程度与所述第二存储器单元集的第二耗损程度之间的差的程序,传送所述数据。
在本文中描述的方法600和设备的一些实例中,所述存储器阵列内的第一存储器单元子集可用于响应于外部命令而存储数据,且所述存储器阵列内的第二存储器单元子集支持所述程序,其中可使用所述第二存储器单元子集存储所述指令。
在本文中描述的方法600和设备的一些实例中,所述存储器阵列可包含存储器单元行,所述行与相应物理地址相关联。另外,存储器阵列可包含用于以下操作的操作、特征、装置或指令:对于所述行的第一子集,将所述相应物理地址映射到逻辑地址集中的相应逻辑地址,其中所述指令可存储到可包含在所述行的第二子集中的一或多个存储器单元行,所述第二子集不与所述第一子集重叠。
本文中描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述命令,识别所述集中的逻辑地址;和基于所述逻辑地址和所述映射来识别物理地址,其中所述数据的至少一部分可写入到包含在所述第一子集中并与所述物理地址相关联的存储器单元行。
本文中描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于执行所述指令来启动微处理器。
在本文中描述的方法600和设备的一些实例中,所述指令包含用于微处理器的BIOS代码。
本文中描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:通过所述微处理器确定与操作所述存储器阵列相关联的统计;和将所述统计的指示写入到所述存储器阵列。
本文中描述的方法600和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:通过所述微处理器确定用于操作所述存储器阵列的参数的值;将所述参数的所述值的指示写入到所述存储器阵列;和根据所述参数的所述值操作所述存储器阵列。
图7示出说明根据本公开的方面的支持用于裸片上微处理器的操作码存储的一或多种方法700的流程图。方法700的操作可由如本文中所描述的存储器裸片或其组件实施。举例来说,方法700的操作可由如参考图5所描述的存储器裸片执行。在一些实例中,存储器裸片可执行指令集以控制存储器裸片的功能元件来执行所描述的功能。另外或替代地,存储器裸片可使用专用硬件来执行所描述的功能的方面。
在705处,存储器裸片可将用于与存储器阵列包含在同一裸片上的微处理器的指令存储于所述存储器阵列内。可根据本文中所描述的方法执行705的操作。在一些实例中,可由如参考图5所描述的存储器阵列执行705的操作的方面。
在710处,存储器裸片可通过微处理器执行指令。可根据本文中所描述的方法执行710的操作。在一些实例中,可由如参考图5所描述的微处理器执行710的操作的方面。
在715处,存储器裸片可在通过微处理器执行指令之后,从裸片外部的来源接收将数据写入到存储器阵列的命令。可根据本文中所描述的方法执行715的操作。在一些实例中,可由如参考图5所描述的命令组件执行715的操作的方面。
在720处,存储器裸片可基于所述命令,将数据写入到存储器阵列。可根据本文中所描述的方法执行720的操作。在一些实例中,可由如参考图5所描述的写入组件执行720的操作的方面。
在725处,存储器裸片可在将所述数据写入到所述存储器阵列之后,基于被配置成减小所述第一存储器单元集的第一耗损程度与所述第二存储器单元集的第二耗损程度之间的差的程序,将所述数据从所述存储器阵列内的第一存储器单元集传送到所述存储器阵列内的第二存储器单元集。可根据本文中所描述的方法执行725的操作。在一些实例中,可由如参考图5所描述的耗损均衡组件执行725的操作的方面。
在730处,存储器裸片可在传送所述数据之后,使用所述第一存储器单元集存储所述指令。可根据本文中所描述的方法执行730的操作。在一些实例中,可由如参考图5所描述的存储器阵列执行730的操作的方面。
应注意,本文中所描述的方法是可能的实施方案,且操作和步骤可以重新排列或以其它方式加以修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
描述一种设备。所述设备可包含半导体裸片,且所述裸片可包含微处理器、与所述微处理器耦合的存储器阵列、可操作以从半导体裸片外部的来源接收数据的总线。所述设备可另外包含与所述总线耦合的一或多个引脚、焊球或接合垫,且所述一或多个引脚、焊球或接合垫可与所述半导体裸片外部的所述来源耦合。存储器阵列可被配置成将经由所述总线接收的数据存储于所述存储器阵列的第一存储器单元子集内,且存储器阵列可被配置成将可由所述微处理器执行的指令存储于所述存储器阵列的第二存储器单元子集内。
在一些实例中,所述第二存储器单元子集可被配置成支持用于均衡所述存储器阵列的存储器单元的耗损的程序。
在一些实例中,包含在所述半导体裸片上的所述微处理器或控制器可被配置成基于所述程序,将经由所述总线接收的数据和所述指令重定位于所述存储器阵列内。
在一些实例中,所述存储器阵列可与用于经由所述总线接收的数据的逻辑地址空间相关联,且所述第二存储器单元子集可处于所述逻辑地址空间外部。
在一些实例中,存储器阵列包含多个存储器单元行,所述多个存储器单元行各自与可比用于经由所述总线接收的数据的所述逻辑地址空间大的物理地址空间内的相应物理地址相关联,且包含在所述半导体裸片上的所述微处理器或控制器可被配置成将所述物理地址空间的子集映射到用于经由所述总线接收的数据的所述逻辑地址空间,所述物理地址空间的所述子集对应于所述第一存储器单元子集。
在一些实例中,微处理器可被配置成从所述第二存储器单元子集检索所述指令;和基于所述指令执行启动程序。
在一些实例中,所述指令包含用于所述微处理器的BIOS代码。
在一些实例中,微处理器可被配置成计算所述存储器阵列的一或多个性能统计;和将与所述一或多个性能统计相关联的数据存储于所述第二存储器单元子集内。
在一些实例中,微处理器可被配置成确定用于操作所述存储器阵列的参数的值;和将所述参数的指示写入到所述第二存储器单元子集。
在一些实例中,所述存储器阵列包含子阵列集,所述子阵列集各自包含所述第二存储器单元子集内的至少一个存储器单元行。
描述一种设备。所述设备可包含:包含在裸片上的微处理器;和包含在所述裸片上的存储器阵列,其中所述存储器阵列包含第一数量的存储器单元行,其用于存储可由所述微处理器执行的指令;和第二数量的所述存储器单元行,其用于存储与所述设备所接收的存取命令相关联的数据。
所述设备的一些实例可包含耗损均衡组件,其被配置成将所述数据和所述指令重定位于所述存储器阵列内。
在一些实例中,所述耗损均衡组件可被配置成旋转与所述第一数量的行相关联的地址以将行集从包含在所述第一数量中切换到包含在所述第二数量中。
在一些实例中,所述第一数量的行也用于存储与所述微处理器相关联的数据。
在一些实例中,微处理器可被配置成基于所述指令被启动。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信令说明为单个信号;然而,所属领域的一般技术人员应理解,信号可表示信号的总线,其中总线可具有各种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前不能通过导电路径在组件之间传达,在闭路关系中,信号可通过导电路径在组件之间传达。当例如控制器等组件将其它组件耦合在一起时,组件起始允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的组件在开关断开时彼此隔离。当控制器将两个组件彼此隔离时,控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它情况下,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(SOS),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),并且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的且可包括经重掺杂(例如,简并)半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型的(即,多数载流子是电子),那么FET可被称为n型FET。如果沟道是p型(即,多数载流子是空穴),则FET可被称为p型FET。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可导致沟道变得导电。当大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“接通”或“激活”。当小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“解除激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”是指“充当实例、例子或说明”,且不“优选于”或“优于”其它实例。详细描述包含具体细节,以提供对所描述技术的理解。然而,可在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
在附图中,类似组件或特征可以具有相同的参考标记。另外,可通过在参考标记之后跟着短划线以及在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一个,与第二参考标记无关。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
结合本文中本公开所描述的各种说明性区块和模块可使用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件、或经设计以执行本文所描述的功能的其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可被实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它这类配置)。
本文中所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果以由处理器执行的软件来实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体予以发射。其它实例和实施在本公开和所附权利要求书的范围内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。并且,如本文中所使用,包含在权利要求书中,项目的列表(例如,以例如“……中的至少一个”或“……中的一或多个”的短语开始的项目的列表)中所使用的“或”指示包含性列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A和条件B两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (25)
1.一种设备,其包括:
半导体裸片,其包括:
微处理器;
存储器阵列,其与所述微处理器耦合;和
总线,其可操作以从所述半导体裸片外部的来源接收数据,其中:
所述存储器阵列被配置成将经由所述总线接收的数据存储于所述存储器阵列的第一存储器单元子集内;且
所述存储器阵列被配置成将可由所述微处理器执行的指令存储于所述存储器阵列的第二存储器单元子集内;和
与所述总线耦合的一或多个引脚、焊球或接合垫,其中所述一或多个引脚、焊球或接合垫可与所述半导体裸片外部的所述来源耦合。
2.根据权利要求1所述的设备,其中所述第二存储器单元子集被配置成支持用于均衡所述存储器阵列的存储器单元的耗损的程序。
3.根据权利要求2所述的设备,其中包含在所述半导体裸片上的所述微处理器或控制器被配置成:
至少部分地基于所述程序,将经由所述总线接收的数据和所述指令重定位于所述存储器阵列内。
4.根据权利要求1所述的设备,其中:
所述存储器阵列与用于经由所述总线接收的数据的逻辑地址空间相关联;且
所述第二存储器单元子集处于所述逻辑地址空间外部。
5.根据权利要求4所述的设备,其中:
所述存储器阵列包括多个存储器单元行,所述多个存储器单元行各自与比用于经由所述总线接收的数据的所述逻辑地址空间大的物理地址空间内的相应物理地址相关联;且
包含在所述半导体裸片上的所述微处理器或控制器被配置成将所述物理地址空间的子集映射到用于经由所述总线接收的数据的所述逻辑地址空间,所述物理地址空间的所述子集对应于所述第一存储器单元子集。
6.根据权利要求1所述的设备,其中所述微处理器被配置成:
从所述第二存储器单元子集检索所述指令;和
至少部分地基于所述指令执行启动程序。
7.根据权利要求1所述的设备,其中所述指令包括用于所述微处理器的基本输入/输出系统(BIOS)代码。
8.根据权利要求1所述的设备,其中所述微处理器被配置成:
计算所述存储器阵列的一或多个性能统计;和
将与所述一或多个性能统计相关联的数据存储于所述第二存储器单元子集内。
9.根据权利要求1所述的设备,其中所述微处理器被配置成:
确定用于操作所述存储器阵列的参数的值;和
将所述参数的指示写入到所述第二存储器单元子集。
10.根据权利要求1所述的设备,其中所述存储器阵列包括多个子阵列,所述多个子阵列各自包括所述第二存储器单元子集内的至少一个存储器单元行。
11.一种方法,其包括:
将用于与存储器阵列包含在同一裸片上的微处理器的指令存储于所述存储器阵列内;
通过所述微处理器执行所述指令;
在通过所述微处理器执行所述指令之后,从所述裸片外部的来源接收将数据写入到所述存储器阵列的命令;和
至少部分地基于所述命令,将所述数据写入到所述存储器阵列。
12.根据权利要求11所述的方法,其另外包括:
在将所述数据写入到所述存储器阵列之后,将所述数据从所述存储器阵列内的第一存储器单元集传送到所述存储器阵列内的第二存储器单元集;和
在传送所述数据之后,使用所述第一存储器单元集存储所述指令。
13.根据权利要求12所述的方法,其中至少部分地基于被配置成减小所述第一存储器单元集的第一耗损程度与所述第二存储器单元集的第二耗损程度之间的差的程序,传送所述数据。
14.根据权利要求13所述的方法,其中:
所述存储器阵列内的第一存储器单元子集是用于响应于外部命令而存储数据;且
所述存储器阵列内的第二存储器单元子集支持所述程序,其中使用所述第二存储器单元子集存储所述指令。
15.根据权利要求11所述的方法,其中所述存储器阵列包括存储器单元行,所述行与相应物理地址相关联,且所述方法另外包括:
对于所述行的第一子集,将所述相应物理地址映射到逻辑地址集中的相应逻辑地址,其中所述指令存储到包含在所述行的第二子集中的一或多个存储器单元行,所述第二子集不与所述第一子集重叠。
16.根据权利要求15所述的方法,其另外包括:
至少部分地基于所述命令,识别所述集的逻辑地址;和
至少部分地基于所述逻辑地址和所述映射来识别物理地址,其中所述数据的至少一部分写入到包含在所述第一子集中并与所述物理地址相关联的存储器单元行。
17.根据权利要求11所述的方法,其另外包括:
至少部分地基于执行所述指令来启动所述微处理器。
18.根据权利要求11所述的方法,其中所述指令包括用于所述微处理器的基本输入/输出系统(BIOS)代码。
19.根据权利要求11所述的方法,其另外包括:
通过所述微处理器确定与操作所述存储器阵列相关联的统计;和
将所述统计的指示写入到所述存储器阵列。
20.根据权利要求11所述的方法,其另外包括:
通过所述微处理器确定用于操作所述存储器阵列的参数的值;
将所述参数的所述值的指示写入到所述存储器阵列;和
根据所述参数的所述值操作所述存储器阵列。
21.一种设备,其包括:
包含在裸片上的微处理器;和
包含在所述裸片上的存储器阵列,其中所述存储器阵列包括:
第一数量的存储器单元行,其用于存储可由所述微处理器执行的指令;和
第二数量的所述存储器单元行,其用于存储与所述设备所接收的存取命令相关联的数据。
22.根据权利要求21所述的设备,其另外包括:
耗损均衡组件,其被配置成将所述数据和所述指令重定位于所述存储器阵列内。
23.根据权利要求22所述的设备,其中所述耗损均衡组件被配置成旋转与所述第一数量的行相关联的地址以将行集从包含在所述第一数量中切换到包含在所述第二数量中。
24.根据权利要求22所述的设备,其中所述第一数量的行也用于存储与所述微处理器相关联的数据。
25.根据权利要求21所述的设备,其中所述微处理器被配置成至少部分地基于所述指令被启动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/878,226 US11422826B2 (en) | 2020-05-19 | 2020-05-19 | Operational code storage for an on-die microprocessor |
US16/878,226 | 2020-05-19 | ||
PCT/US2021/030812 WO2021236324A1 (en) | 2020-05-19 | 2021-05-05 | Operational code storage for an on-die microprocessor |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115668163A true CN115668163A (zh) | 2023-01-31 |
Family
ID=78608962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180035696.XA Pending CN115668163A (zh) | 2020-05-19 | 2021-05-05 | 用于裸片上微处理器的操作码存储 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11422826B2 (zh) |
CN (1) | CN115668163A (zh) |
WO (1) | WO2021236324A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116027988A (zh) * | 2023-03-22 | 2023-04-28 | 电子科技大学 | 用于存储器的损耗均衡方法及其芯片控制器的控制方法 |
CN116302899A (zh) * | 2023-05-18 | 2023-06-23 | 中诚华隆计算机技术有限公司 | 一种芯粒故障诊断方法和装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11422826B2 (en) * | 2020-05-19 | 2022-08-23 | Micron Technology, Inc. | Operational code storage for an on-die microprocessor |
US11645202B2 (en) * | 2022-01-21 | 2023-05-09 | Changxin Memory Technologies, Inc. | Parsing method, parsing apparatus, electronic device, and computer storage medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386688B2 (en) * | 2004-07-29 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Communication among partitioned devices |
US10152408B2 (en) | 2014-02-19 | 2018-12-11 | Rambus Inc. | Memory system with activate-leveling method |
KR102650828B1 (ko) | 2016-05-20 | 2024-03-26 | 삼성전자주식회사 | 둘 이상의 프로세서에 의해 공유되는 메모리 장치 및 상기 메모리 장치를 포함하는 시스템 |
US10198195B1 (en) | 2017-08-04 | 2019-02-05 | Micron Technology, Inc. | Wear leveling |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US11099781B2 (en) | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
US11422826B2 (en) * | 2020-05-19 | 2022-08-23 | Micron Technology, Inc. | Operational code storage for an on-die microprocessor |
-
2020
- 2020-05-19 US US16/878,226 patent/US11422826B2/en active Active
-
2021
- 2021-05-05 WO PCT/US2021/030812 patent/WO2021236324A1/en active Application Filing
- 2021-05-05 CN CN202180035696.XA patent/CN115668163A/zh active Pending
-
2022
- 2022-08-10 US US17/885,143 patent/US11954499B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116027988A (zh) * | 2023-03-22 | 2023-04-28 | 电子科技大学 | 用于存储器的损耗均衡方法及其芯片控制器的控制方法 |
CN116027988B (zh) * | 2023-03-22 | 2023-06-23 | 电子科技大学 | 用于存储器的损耗均衡方法及其芯片控制器的控制方法 |
CN116302899A (zh) * | 2023-05-18 | 2023-06-23 | 中诚华隆计算机技术有限公司 | 一种芯粒故障诊断方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11422826B2 (en) | 2022-08-23 |
US20210365268A1 (en) | 2021-11-25 |
US20230033704A1 (en) | 2023-02-02 |
WO2021236324A1 (en) | 2021-11-25 |
US11954499B2 (en) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11954499B2 (en) | Operational code storage for an on-die microprocessor | |
CN115552527A (zh) | 读取刷新操作 | |
US11334435B2 (en) | Safety event detection for a memory device | |
CN114868190A (zh) | 存储器健康状态报告 | |
CN113168290A (zh) | 命令阻止管理 | |
CN116075897A (zh) | 用于经由基于非易失性单元的寄存器读取及写入存储器管理数据的系统及方法 | |
CN114550766A (zh) | 用于减轻非对称长延迟应力的技术 | |
CN113741677A (zh) | 用于存储器装置的命令触发功率门控 | |
CN113903377B (zh) | 用于设置读取操作的参考电压的方法 | |
US12009050B2 (en) | Selective access for grouped memory dies | |
US11948656B1 (en) | Counter management for memory systems | |
US11430539B2 (en) | Modifiable repair solutions for a memory array | |
CN114121130B (zh) | 完成因电力丢失中断的存储器修复操作 | |
CN116368471B (zh) | 用于存储器装置的读取算法 | |
CN113380284B (zh) | 存储器存取栅极 | |
CN115497549A (zh) | 单元数据批量复位 | |
CN114187952A (zh) | 基于指示避免有缺陷存储器单元 | |
CN114730593A (zh) | 存储器系统中的刷新计数器 | |
US20230266918A1 (en) | Techniques to season memory cells | |
US12050784B2 (en) | Data masking for memory | |
US20240053908A1 (en) | Temperature-dependent refresh operations | |
US20240321329A1 (en) | Selective access for grouped memory dies | |
CN113689901B (zh) | 产生存储器阵列控制信号 | |
US12099746B2 (en) | Interrupt signaling for a memory device | |
US12038806B2 (en) | Evaluation of memory device health monitoring logic |
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 |