CN114270320A - 可配置媒体结构 - Google Patents
可配置媒体结构 Download PDFInfo
- Publication number
- CN114270320A CN114270320A CN202080059079.9A CN202080059079A CN114270320A CN 114270320 A CN114270320 A CN 114270320A CN 202080059079 A CN202080059079 A CN 202080059079A CN 114270320 A CN114270320 A CN 114270320A
- Authority
- CN
- China
- Prior art keywords
- memory
- boot
- memory array
- array
- boot image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/102—Error in check bits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
-
- 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
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
-
- 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/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
描述与可配置媒体结构有关的系统、设备和方法。存储器装置可经配置以在多种配置中启动。所述多种配置可包含使用所述存储器装置用于持久性存储器存储、用于非持久性存储器存储等。举例来说,设备可包含第一存储器阵列和第二存储器阵列。所述设备可包含耦合到所述第一存储器阵列和所述第二存储器阵列的存储器控制器。所述第二存储器阵列可经配置以存储至少两个启动映像。所述第一存储器阵列可经配置以基于使用所述至少两个启动映像中的哪一者而操作。
Description
技术领域
本公开大体上涉及半导体存储器和方法,且更明确地说,涉及涉及可配置媒体结构的设备、系统和方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部、半导体、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力以维持其数据(例如,主机数据、错误数据等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)和晶闸管随机存取存储器(TRAM)等。非易失性存储器可通过在未被供电时保存所存储数据来提供持久数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令和/或指令以供在计算机或电子系统正在操作时由主机和/或在主机上运行的应用程序使用。举例来说,可在主机、计算或其它电子系统上运行的应用程序的操作期间在主机与存储器装置之间传送数据、命令和/或指令。
附图说明
图1是根据本公开的数个实施例的呈包含存储器设备的计算系统形式的功能框图。
图2A到2B各自是根据本公开的数个实施例的呈包含可配置存储器设备的计算系统形式的功能框图。
图3是根据本公开的数个实施例的呈包含可配置存储器设备的计算系统形式的功能框图。
图4是根据本公开的数个实施例的表示用于配置存储器设备的实例方法的流程图。
具体实施方式
描述与可配置媒体结构有关的系统、设备和方法。存储器装置可经配置以在多种配置中启动。所述多种配置可包含使用所述存储器装置用于持久性存储器存储、用于非持久性存储器存储等。举例来说,设备可包含第一存储器阵列和第二存储器阵列。所述设备可包含耦合到所述第一存储器阵列和所述第二存储器阵列的存储器控制器。所述第二存储器阵列可经配置以存储至少两个启动映像。所述第一存储器阵列可经配置以基于使用所述至少两个启动映像中的哪一者而操作。
包含快闪存储器装置的存储器装置可用于在计算系统中存储数据,且可在与所述计算系统相关联的主机之间和/或在与所述计算系统相关联的主机上运行的应用程序之间传送此数据。存储于存储器装置中的数据对于计算系统和/或在主机上运行的应用程序的操作可为重要的或甚至至关重要的。计算系统和/或应用程序的操作可通过使用现场可编程门阵列(FPGA)结构来配置。在一些先前方法中,存储器系统可经设计以使用单个启动映像启动,因为存储器系统的配置在设置存储器元件的结构和耦合时被设置。在下文描述的实施例中,存储器装置的组件可使用FPGA布置,以便允许存储器装置的组件为可配置的。通过配置存储器装置的FPGA组件,存储器装置可以多种方式使用,例如,作为持久性存储器与非持久性存储器。此可配置性可由用户确定。
作为一实例,FPGA的灵活性可提供通过将多个逻辑到物理映射数据存储在FPGA的存储器阵列中而将存储器设备用作持久性存储器的选项。以此方式,存储器阵列可跟踪存储于耦合到存储器设备的存储器装置(例如,NAND存储器、可变电阻存储器装置(例如,三维(3D)交叉点存储器)、相变存储器装置、自选存储器装置和/或NOR快闪存储器等)中的数据的映射。在替代方案中,FPGA的灵活性可通过使用原本将存储逻辑到物理映射数据的存储器阵列存储其它数据来提供使用存储器设备作为非持久性存储器的选项。通过这样做,存储在存储器装置中的数据的持久性可能不维持在FPGA的存储器阵列的位置中,而替代地,可在存储器阵列中实现额外的存储器处理能力。
另外,作为一实例,FPGA的灵活性可提供平衡改进的时延与安全性、较强错误校正与装置耗损等的选项。举例来说,加密可为可配置的,使得增大的加密可导致增大的时延,且减小的加密能力可导致减小的时延。以类似方式,错误校正可朝向存储器设备的生命周期的开始最小化,且经配置以随着存储器设备投入使用而随时间增大。以此方式,错误校正可为可配置的,以响应于归因于存储器设备的存储器单元上的耗损而随时间增大的错误校正的需要。
在一些实施例中,快闪存储器可由存储器设备使用。快闪存储器可用作用于广泛范围的电子应用(包含存储启动映像)的非易失性存储器。快闪存储器装置通常使用允许高存储器密度、高可靠性及低功耗的单晶体管存储器单元。两种常见类型的快闪存储器阵列架构包含“NAND”和“NOR”架构,所述架构以每一者的基本存储器单元配置所布置的逻辑形式来命名。在NOR阵列架构中,存储器阵列的浮动栅极存储器单元通常布置于矩阵中。
阵列矩阵的每一浮动栅极存储器单元的栅极通常以行耦合到字选择线且其漏极耦合到列位线。通过行解码器以选择耦合到所述存储器单元的栅极的字选择线的方式激活一行浮动栅极存储器单元来存取NOR架构浮动栅极存储器阵列。所述行选定存储器单元接着通过取决于特定单元是处于经编程状态还是经擦除状态而流过不同电流来将其数据值置于列位线上。
快闪存储器NOR阵列可存储用于启动存储器装置的启动映像。启动映像可为含有计算机存储媒体的完整内容和/或结构的计算机文件类型的磁盘映像。如下文将进一步描述,不同启动映像可用于存储媒体的每一不同结构。作为一实例,可通过使用现场可编程门阵列(FPGA)来配置存储媒体的结构,所述现场可编程门阵列可以多个不同的结构配置来配置。每一配置可与用于启动用于所述特定结构的存储器装置的启动映像相关联。
FPGA为可由用户和/或在制造点处配置的集成电路。可使用类似于用于专用集成电路(ASIC)的硬件描述语言(HDL)的硬件描述语言指定FPGA的配置。FPGA含有可编程逻辑块的阵列和可重新配置互连件的阶层,所述可重新配置互连件允许所述块以与可以不同配置耦合的逻辑门类似的方式耦合在一起。逻辑块可经配置以执行复杂的组合功能,或仅执行简单的逻辑门,例如“与”(AND)、“异或”(XOR)等。在一些FPGA中,逻辑块可包含存储器元件,其可为简单的翻转或更完整的存储器块。如下文将进一步描述,这些存储器元件可包含存储器控制器、易失性存储器阵列(例如,DRAM、SRAM等)、ECC校正单元、与持久性相关联的逻辑(例如,逻辑到物理映射表等)和/或执行数个排队操作的队列逻辑。这些存储器元件的配置中的每一者可与不同启动映像相关联,以使得存储器元件可基于哪一启动映像用以启动存储器设备而配置。
此外,许多FPGA可经重新编程以实施不同逻辑功能,从而允许例如在计算机软件中执行的灵活可重新配置计算。作为一实例,可配置FPGA可经配置以增大和/或减小数据处理的时延,以便对应地减小和/或增大错误校正、安全性等。作为一实例,通过增大错误校正,可增大时延,且反之亦然,减小错误校正可减小时延。此外,取决于用于运行存储器装置的所要特性,特定结构可与使用用于持久性存储器或非持久性存储器的存储器装置相关联,如下文将进一步描述。以此方式,将FPGA集成到存储器设备中可允许应用特定灵活性。
在本公开的以下详细描述中,参考形成本公开的部分的附图,且图中通过图解方式展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例,且可在不脱离本公开的范围的情况下进行工艺、电气和结构改变。
如本文中所使用,例如“N”等特定地相对于图式中的参考标号的指定符指示可包含数个如此指定的特定特征。还应理解,本文中所使用的术语仅出于描述特定实施例的目的,而不意欲为限制性的。如本文中所使用,除非上下文另外明确规定,否则单数形式“一(a、an)”和“所述(the)”可包含单数个指示物和复数个指示物两者。此外,“数个”、“至少一个”和“一或多个”(例如数个存储器装置)可指一或多个存储器装置,而“多个”意欲指这种事物中的多于一个。此外,贯穿本申请案以许可的意义(即,有可能、能够),而非以强制性的意义(即,必须)使用单词“可能”和“可”。术语“包含”和其派生词指“包含但不限于”。视上下文而定,术语“耦合(coupled/coupling)”意指物理上直接或间接连接或存取及移动(传输)命令和/或数据。视上下文而定,术语“数据”和“数据值”在本文中可互换地使用且可具有相同含义。
本文中的图式遵循编号定则,其中第一一或多个数字对应于图式编号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,104在图1中可指代元件“04”,且类似元件可在图2中表示为204。通常在本文中可用单个元件符号指代一组或多个类似元件或组件。举例来说,多个参考元件112-1、…、112-N(例如,112-1到112-N)可统称为112。如应了解,可添加、交换和/或消除本文中的各种实施例中展示的元件,从而提供本公开的数个额外实施例。另外,图式中提供的元件的比例和/或相对尺度意欲说明本公开的某些实施例,且不应被视作限制性意义。
图1是根据本公开的数个实施例的呈包含存储器设备104的计算系统100形式的功能框图。如本文所使用,“设备”可指但不限于多种结构或结构的组合中的任何一种,例如,电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。存储器设备104可为例如包含非持久性存储器装置(例如,DRAM和/或SRAM存储器阵列)的现场可编程门阵列(FPGA),且可包含接口108、控制器110(例如,处理器和/或其它控制电路系统)及存储器阵列111(例如,固态存储器装置(例如,NAND快闪装置),其提供用于存储器设备104的存储容量。在数个实施例中,控制器110、存储器装置120和/或接口108可物理上位于单个裸片上或单个封装内(例如,受管理NAND应用)。而且,在数个实施例中,存储器(例如,存储器装置120)可包含单个存储器装置或多个存储器装置。
存储器设备104可耦合到多个存储器装置112-1到112-N(在下文中统称为存储器装置112)。存储器装置112可包含持久性存储器装置,例如NAND快闪存储器、可变电阻存储器、三维(3D)交叉点存储器、NOR快闪存储器等。存储器装置112可由存储器设备104通过控制器110的控制经由数据总线或其它类型的数据传送方法(由控制器110与存储器装置112之间的箭头指示)来存取。存储器设备104可包含逻辑组件114和错误校正码(ECC)组件116。逻辑单元114可用于维持具有存储于存储器装置112和存储器设备104中的数据的存储器持久性。
ECC组件116可包含根据博斯(Bose)、乔赫里(Chaudhuri)和霍克文黑姆(Hocquenghem)(BCH)错误校正方案、低密度奇偶校验(LDPC)错误校正方案、汉明(Hamming)错误校正方案、分类代码错误校正方案和/或其它类型的例如可促进在存储器设备104与存储器装置112之间传送的数据的错误校正的错误校正方案来执行错误校正操作的硬件和/或固件。在一些实施例中,ECC组件116可从存储器装置112接收数据。可在从存储器装置112传送到存储器设备104或从存储器设备104传送到存储器装置112之前根据一或多个ECC方案对数据进行编码。然而,实施例不限于此,且在一些实施例中,ECC组件116可从存储器装置112接收未经编码数据,且根据一或多个ECC方案对数据进行编码和/或随后对数据进行解码。结果,ECC组件116可负责执行用于计算系统100的所有(或至少一部分)错误校正操作。
在一些实施例中,接口108可呈标准化接口的形式。举例来说,当存储器设备104用于计算系统100中的数据存储时,接口108可为串行高级技术附件(SATA)、外围组件互连高速(PCIe),或通用串行总线(USB)、双数据速率(DDR)接口,以及其它连接器和接口。然而,一般来说,接口108可提供用于在存储器设备104与具有用于接口108的兼容接受器的主机102之间传递控制、地址、数据和其它信号的接口。
主机102可为主机系统,例如个人手提式计算机、台式计算机、数码相机、移动电话、具有物联网(IoT)能力的装置、存储卡读卡器,或图形处理单元(例如,视频卡),以及各种其它类型的主机。主机102可包含系统主板和/或背板并且可包含数个存储器存取装置,例如数个处理资源(例如,一或多个处理器、微处理器或一些其它类型的控制电路)。所属领域的一般技术人员将理解,“处理器”可以是一或多个处理器,例如并行处理系统、多个协处理器等。主机102可耦合到存储器设备104的接口108。
在一些实施例中,主机102可负责执行用于包含存储器设备104的计算系统100的操作系统。因此,在一些实施例中,主机102可负责控制存储器设备104的操作。举例来说,主机102可执行管理计算系统100的硬件(例如调度任务、执行一或多个应用程序、控制外围设备等)的指令(例如,呈操作系统形式)。
计算系统100可包含在主机102、存储器设备104、接口108、控制器110和/或存储器装置112-1到112-N上的单独集成电路,或可在同一集成电路上。计算系统100可例如是服务器系统和/或高性能计算(HPC)系统和/或其一部分。在一些实施例中,存储器设备104的存储器元件的全部或一部分可包含于FPGA上。作为一实例,存储器阵列111、控制器110、主机接口108、逻辑组件114和/或ECC组件116可包含于FPGA上。如下文将描述,额外存储器元件可包含于存储器设备104中,但可不为FPGA的一部分(例如,图2A中的NOR快闪存储器220-1、220-2、220-3)。虽然图1中展示的实例说明具有冯·诺依曼(Von Neumann)架构的系统,但本公开的实施例可实施于非冯·诺依曼架构中,所述非冯·诺依曼架构可不包含通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等)。
在一些方法中,存储器设备104(例如,控制器110)可使用信道来存取存储于存储器装置112中的数据(例如,存储器单元和/或一组单元,例如数据字或扇区),以用于执行应用程序。可使用存储于存储器装置112中的数据在主机102上执行应用程序。术语“在……上执行”可在本文中与例如“驻留于……上”、“部署在……上”或“位于……上”的其它术语互换使用。可由控制器110启用信道以将存储于存储器装置112中的数据提供到应用程序。所述应用程序可经定制以按特定方式执行。作为一实例,可操作应用程序以非持久方式使用存储器装置112,且将存储器设备104的一部分(例如,存储器阵列111)用于除维持数据的持久化之外的数据操作。在替代方案中,可操作应用程序而以持久性方式使用存储器,进而使用存储器阵列111来维持存储器装置112中的数据的持久化,进而使用存储器阵列111的原本将用于数据操作的部分。
在一些实施例中,如本文中所描述,控制器110可确定应用程序是否正请求以持久或非持久方式使用存储器装置112。此请求可基于服务质量(QoS)参数。举例来说,在某些情形下允许存储器设备的过量供应可为有益的。此外,可配置媒体结构可允许当请求时满足且当不请求时减小的严格QoS要求。这可允许资源对话和/或电力消耗的节约,同时仍满足QoS准则。
响应于所述请求,控制器110可通过重启存储器设备104或以某一其它方式修改哪一启动映像用于存储器设备104的操作。在修改所使用的启动映像后,存储器装置112可如应用程序所请求(例如,以持久方式或非持久方式)而使用。同样,可确定时延和/或安全性的级别,且可选择与所述特定时延和/或安全性相关联的启动映像。举例来说,应用程序可请求具有高安全性级别,且进而增大存储器设备104的时延。在替代方案中,应用程序可请求具有低安全性级别,且进而减小存储器中的时延。FPGA可经配置以满足所请求的这些和其它准则。
然而,在一些实施例中,可不基于请求而实际上基于阈值的改变、存储器设备104的特性的改变等而实施所述准则。举例来说,数据中的错误的增大可能达到超出阈值,且作为响应,可发生错误校正的增大。FPGA可经重新配置以增大错误校正,且同样减小存储器设备104的其它操作能力。类似地,窃用尝试的增大或安全性问题的增大可致使FPGA的重新配置以增大安全性且进而增大时延。
控制器110可与存储器装置112-1到112-N通信以控制数据、执行读取、写入和擦除操作以及其它操作。控制器110可包含例如呈硬件和/或固件形式的数个组件,例如一或多个集成电路,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA),和/或用于控制对数个存储器装置112-1到112-N的存取和/或用于促进主机102与存储器装置112-1到112-N之间的数据传送的软件。控制器110可包含未说明以免混淆本公开的实施例的各种组件以控制数据读取、写入、擦除等操作。在一些实施例中,此些组件可不为控制器110的组件,例如,用以控制数据读取、写入、擦除等操作的组件可为位于存储器设备104内的独立组件。
存储器装置112可包含数个存储器单元阵列。举例来说,阵列可为具有NAND架构、3D交叉点架构(3D XPTM)和/或NOR架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。存储器单元可例如分组成包含多个物理页的多个块。多个块可包含于存储器单元的平面中,且阵列可包含多个平面。
存储器装置112可包含易失性存储器和/或非易失性存储器。在数个实施例中,存储器装置112可包含多芯片装置。多芯片装置可包含数个不同的存储器类型和/或存储器模块。举例来说,存储器系统可包含任何类型的模块上的非易失性或易失性存储器。在其中存储器装置112包含非易失性存储器的实施例中,存储器装置112可为快闪存储器装置,例如NAND或NOR快闪存储器装置。然而,实施例不限于此,且存储器装置112可包含其它非易失性存储器装置,例如非易失性随机存取存储器装置(例如,NVRAM、ReRAM、FeRAM、MRAM、PCM),“新兴”存储器装置,例如可变电阻(例如,3-D交叉点(3D XP)存储器装置)、包含自选存储器(SSM)单元阵列的存储器装置等,或其组合。可变电阻存储器装置可与可堆叠交叉网格化数据存取阵列一起基于体电阻的改变而执行位存储。另外,与多个基于快闪的存储器相比,可变电阻非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。与基于快闪的存储器和可变电阻存储器相比,自选存储器单元可包含具有充当存储器单元的开关和存储元件两者的单个硫族化物材料的存储器单元。
存储器装置112可提供用于计算系统100的主存储器,或可在整个计算系统100中用作额外存储器或存储装置。每一存储器装置112可包含存储器单元,例如易失性和/或非易失性存储器单元的一或多个阵列。举例来说,阵列可以是具有NAND架构的快闪阵列。实施例不限于特定类型的存储器装置。举例来说,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器等等。
图1的实施例可包含为避免模糊本公开的实施例而未说明的额外电路。举例来说,存储器设备104可包含地址电路系统以锁存通过I/O电路系统在I/O连接上提供的地址信号。可通过行解码器和列解码器接收和解码地址信号以存取存储器装置112。所属领域的技术人员应了解,地址输入连接的数目可取决于存储器装置112的密度和架构。
图2A是根据本公开的数个实施例的呈包含可配置存储器设备204的计算系统201形式的功能框图。计算系统201可包含主机202、存储器设备204和存储器装置212-1到212-N(下文中统称为存储器装置212)。存储器设备204可包含存储器控制器210,所述存储器控制器还可简称为“逻辑”,且不同于可位于主机202处、通过主机接口208经由总线203与主机202通信的存储器控制器。作为一实例,在一些实施例中,逻辑或存储器控制器可位于主机202外部且位于存储器设备204上。在一些实施例中,逻辑或存储器控制器可位于主机202上。
存储器阵列211可为包含DRAM存储器阵列、SRAM存储器阵列、RRAM存储器阵列等的易失性存储器。存储器阵列211可用于存储逻辑到物理(L2P)表(例如,例如深存储保持表)以用于维持从存储器装置212传送的数据的持久性。在替代方案中,存储器阵列211可用作辅助高速缓冲存储器,由此将存储L2P表的部分用于辅助高速缓冲存储器存储。
存储器设备204可包含ECC组件216和加密组件218,以分别执行各种错误校正和加密操作。参考用于加密电子数据的规范,加密组件218可为基于高级加密标准(AES)的组件。ECC组件218可配置以基于增大或减小加密级别的请求而增大或减小加密级别。同样,加密级别可分别基于增大或减小时延的请求而增大或减小。以此方式,增大加密的请求可增大时延,且增大时延的请求可增大加密。此外,减小时延的请求可减小加密,且增大时延的请求可增大加密。
存储器设备可进一步包含逻辑组件214和队列组件222。逻辑组件214可用于维持存储于存储器装置212中的数据的持久性。队列组件222可提供计算资源和电路系统以编排应用程序的操作。队列组件222可将来自应用程序的数据的请求排入队列。在一些实施例中,存储器控制器210可确定应用程序的优先级,且基于控制器的确定而促进所述请求的优先级。低优先级应用程序可包含与高优先级应用程序相比较不频繁地请求数据和/或在执行时不服务于主机的重要目的的应用程序。高优先级应用程序可包含与低优先级应用程序相比频繁地请求数据和/或在执行时服务于重要目的的应用程序。一些高优先级应用程序可能不频繁地从存储器装置212请求数据,但当执行时,数据对主机可能是重要的。
存储器设备204可包含多个非易失性存储器阵列(例如,NOR快闪存储器阵列、快闪存储器阵列等)220-1、220-2、220-3(下文中统称为非易失性存储器阵列220)。多个非易失性存储器阵列220可各自存储启动映像和/或经配置以执行启动映像以启动存储器设备204。举例来说,第一启动映像“I1”224-1可与第一非易失性存储器阵列220-1相关联,第二启动映像“I2”224-2可与第二非易失性存储器阵列220-2相关联,第三启动映像“I3”224-3可与第三非易失性存储器阵列220-3相关联,以此类推。虽然连同三个启动映像说明三个非易失性存储器阵列,但实施例不限于此。可使用任何数目个非易失性存储器阵列和/或启动映像。在一些先前方法中,归因于验证启动映像中的每一者的额外处理成本而避免多个启动映像。另外,除非存储器系统可配置以在不改变存储器系统的硬件和/或结构的情况下使用多于一个启动映像,否则多于一个启动映像可为不可操作的。图2A中所说明的启动映像224中的每一者可用于启动FPGA的不同配置。FPGA可包含数个存储器元件,例如主机接口208、存储器控制器210、存储器阵列211、ECC组件216、加密组件218、逻辑组件214和/或队列组件222。非易失性存储器阵列220可不为FPGA的部分,或在FPGA的外部。
图2B是根据本公开的数个实施例的呈包含可配置存储器设备204的计算系统205形式的功能框图。图2B可具有与图2A类似的组件,类似之处在于FPGA含有类似存储器元件,例如主机接口208、存储器控制器210、ECC组件216、加密组件218、逻辑组件214和/或队列组件222。然而,图2B说明包含单个非易失性(例如,NOR快闪)存储器阵列220的实施例,所述存储器阵列包含三个启动映像(“I1”224-1、“I2”224-2、“I3”224-3)。以此方式,单个非易失性存储器阵列可存储多个启动映像224,且处理多个启动映像224中的一者以便操作存储器设备204。如上文所描述,启动映像224中的每一者对应于存储器设备204的特定可配置结构,以便以特定方式执行特定操作。作为一实例,第一启动映像224-1可用于使用持久性存储器操作存储器设备204,第二启动映像224-2可用于使用非持久性存储器操作存储器设备204,第三启动映像224-3可用于在增大安全性和增大时延模式中操作存储器设备,等。
图3是根据本公开的数个实施例的呈包含存储器设备304的计算系统307形式的功能框图。存储器设备304可类似于图2A到2B,类似之处在于包含于FPGA中的存储器元件是类似的。然而,存储器阵列可为包含RRAM/SRAM 326的特定存储器阵列。取决于存储器设备304的性能的所请求偏好,RRAM/SRAM 326可配置以存储包含逻辑到物理(L2P)表的持久化数据或作为辅助高速缓冲存储器而存储数据。同样,易失性存储器阵列(例如DRAM 328)可在FPGA外部,且还用于存储L2P表或作为辅助高速缓冲存储器而存储数据。以此方式,用于可配置FPGA的不同功能性的存储器阵列可在FPGA内部或外部。然而,实施例不限于此,因为此设置归因于使用FPGA的灵活性允许比图1到3中所说明的实施例更多的实施例。
图4是根据本公开的数个实施例的表示用于配置存储器设备的实例方法409的流程图。在框440处,方法409可包含产生多个启动映像(例如,本文中在图2A和2B中所说明的启动映像224)。所述多个启动映像中的第一启动映像可与使用存储器阵列作为持久性存储器相关联。所述多个启动映像中的第二启动映像可与使用存储器阵列作为非持久性存储器相关联。可使用对应于存储器设备的所请求配置的任一启动映像启动存储器设备以执行操作。
在框442处,方法409可包含确定在第一配置还是第二配置中启动存储器设备。所述确定可基于请求从主机、从用户等接收的特定配置的数据。确定在第一配置还是第二配置中启动可基于存储器设备中满足的阈值和/或存储器设备的特定度量。作为一实例,当存储器设备的存储器单元耗损时,其功能可能受影响,且存储器设备可确定在特定配置中操作存储器设备以补偿此耗损。特定配置可包含例如增大存储器设备内的错误校正的量。
在框444处,所述方法可包含基于所述确定而使用第一映像或第二映像启动存储器设备。启动存储器设备可包含启动所述存储器设备的现场可编程门阵列(FPGA)。可使用FPGA的可挠性来重新编程结合图1到3描述的存储器元件,以便在与所使用的启动映像相关联的配置中操作。以此方式,可在每次启动存储器设备时使用不同启动映像,从而导致每次启动存储器设备时使用不同配置。
在一些实施例中,所述方法可进一步包含将第一映像和第二映像存储在NOR快闪阵列中。在一些实施例中,所述方法可进一步包含将第一映像存储在第一NOR快闪阵列中,且将第二映像存储在第二NOR快闪阵列中。所述方法可进一步包含响应于使用第一映像启动存储器设备,将逻辑到物理映射数据存储在存储器设备的易失性存储器阵列中。所述方法可进一步包含响应于使用第二映像启动存储器设备,不将逻辑到物理映射数据存储在存储器装置中。
虽然已在本文中说明并描述了具体实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所展示的具体实施例。本公开意欲覆盖本公开的一或多个实施例的修改或变化。应理解,以说明方式而非限制方式进行了以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的一或多个实施例的范围包含其中使用以上结构和过程的其它应用。因此,应参考所附权利要求书连同此类权利要求所赋予的等效物的全范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明标的物在于单个所揭示实施例的不到全部的特征。因此,所附权利要求特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。
Claims (22)
1.一种方法,其包括:
产生多个启动映像,其中:
所述多个启动映像中的第一启动映像包括用于在持久性存储器配置中使用存储器阵列的指令;且
所述多个启动映像中的第二启动映像包括用于在非持久性存储器配置中使用所述存储器阵列的指令;
确定在所述存储器阵列具有所述持久性存储器配置的第一配置还是所述存储器阵列具有所述非持久性存储器配置的第二配置中启动存储器设备;以及
基于所述确定使用所述第一启动映像或所述第二启动映像启动所述存储器设备。
2.根据权利要求1所述的方法,其进一步包括将所述第一启动映像和所述第二启动映像存储在NOR快闪阵列中。
3.根据权利要求1所述的方法,其进一步包括将所述第一启动映像存储在第一NOR快闪阵列中,且将所述第二启动映像存储在第二NOR快闪阵列中。
4.根据权利要求1所述的方法,其进一步包括响应于使用所述第一启动映像启动所述存储器设备,将逻辑到物理映射数据存储在所述存储器设备的易失性存储器阵列中。
5.根据权利要求1到4中任一权利要求所述的方法,其进一步包括响应于使用所述第二映像启动所述存储器设备,不将逻辑到物理映射数据存储在所述存储器装置中。
6.一种设备,其包括:
第一存储器阵列;
第二存储器阵列;以及
耦合到所述第一存储器阵列和所述第二存储器阵列的逻辑;
其中所述第二存储器阵列经配置以存储至少两个启动映像,且所述第一存储器阵列经配置以基于使用所述至少两个启动映像中的哪一者而操作。
7.根据权利要求6所述的设备,其中所述逻辑经配置以用所述至少两个启动映像中的任一者启动所述设备。
8.根据权利要求6所述的设备,其中所述第一存储器阵列为易失性存储器阵列,且所述第二存储器阵列为非易失性存储器阵列。
9.根据权利要求6到8中任一权利要求所述的设备,其中所述设备可耦合到存储器装置。
10.根据权利要求9所述的设备,其中:
所述存储器装置为可变电阻存储器装置;且
所述逻辑经配置以:
在非持久性存储器配置中使用所述可变电阻存储器装置;以及
使用所述第一存储器阵列的存储表部分作为用于非地址跟踪操作的辅助高速缓冲存储器。
11.根据权利要求9所述的设备,其中:
所述存储器装置为可变电阻存储器装置;且
所述逻辑经配置以通过将存储表数据存储于所述第一存储器阵列中而将所述可变电阻存储器装置用作持久性存储装置。
12.根据权利要求6到8中任一权利要求所述的设备,其中所述第二存储器阵列包括NOR快闪阵列。
13.根据权利要求6到8中任一权利要求所述的设备,其中所述逻辑经配置以:
用所述至少两个启动映像中的第一启动映像执行第一启动;以及
用所述至少两个启动映像中的第二启动映像的第二启动。
14.一种设备,其包括:
易失性存储器阵列;
多个非易失性存储器阵列;以及
耦合到所述易失性存储器阵列和所述多个非易失性存储器阵列的逻辑;
其中所述多个非易失性存储器阵列各自经配置以存储启动映像,且所述易失性存储器阵列基于使用哪一所存储的启动映像而配置。
15.根据权利要求14所述的设备,其中所述多个启动映像中的每一者经配置以用于启动所述设备。
16.根据权利要求14所述的设备,其中所述多个非易失性存储器阵列为多个NOR快闪阵列。
17.根据权利要求14到16中任一权利要求所述的设备,其中所述设备可使用存储于所述多个非易失性存储器阵列中的所述启动映像中的至少一者启动。
18.根据权利要求14到16中任一权利要求所述的设备,其中所述设备可使用存储于所述多个非易失性存储器阵列中的一者中的额外启动映像启动。
19.一种设备,其包括:
可配置易失性存储器阵列,其中所述可配置易失性存储器阵列可配置以:
在持久性存储器配置或非持久性存储器配置中使用;以及
调整错误校正率和时延率;以及
多个快闪存储器阵列,其各自经配置以存储启动映像,其中:
所述启动映像中的第一启动映像与经配置以在持久性存储器配置中使用的所述可配置易失性存储器阵列相关联;且
所述启动映像中的第二启动映像与经配置以在非持久性存储器配置中使用的所述可配置易失性存储器阵列相关联。
20.根据权利要求19所述的设备,其进一步包括逻辑,其中所述逻辑经配置以:
使用所述第一启动映像或所述第二启动映像启动所述设备;以及
基于所述设备是使用所述第一启动映像还是所述第二启动映像启动而减小错误校正率且增大时延率。
21.根据权利要求19所述的设备,其进一步包括逻辑,其中所述逻辑经配置以:
使用所述第一启动映像或所述第二启动映像启动所述设备;以及
基于所述设备是使用所述第一启动映像还是所述第二启动映像启动而增大错误校正率且减小时延率。
22.根据权利要求19到21中任一权利要求所述的设备,其中与所述第二启动映像相关联的所述可配置易失性存储器阵列经配置以减小错误校正率且增大时延率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/546,416 | 2019-08-21 | ||
US16/546,416 US11237841B2 (en) | 2019-08-21 | 2019-08-21 | Configurable media structure |
PCT/US2020/044036 WO2021034464A1 (en) | 2019-08-21 | 2020-07-29 | Configurable media structure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114270320A true CN114270320A (zh) | 2022-04-01 |
CN114270320B CN114270320B (zh) | 2023-03-10 |
Family
ID=74645864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080059079.9A Active CN114270320B (zh) | 2019-08-21 | 2020-07-29 | 可配置媒体结构 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11237841B2 (zh) |
EP (1) | EP4018447A4 (zh) |
KR (1) | KR102488816B1 (zh) |
CN (1) | CN114270320B (zh) |
WO (1) | WO2021034464A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11237841B2 (en) * | 2019-08-21 | 2022-02-01 | Micron Technology, Inc. | Configurable media structure |
US11436160B2 (en) * | 2019-10-03 | 2022-09-06 | Microsoft Technology Licensing, Llc | Protection of data in memory of an integrated circuit using a secret token |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039876A1 (en) * | 2013-07-31 | 2015-02-05 | Marvell World Trade Ltd. | Parallelizing Boot Operations |
US20150149144A1 (en) * | 2013-11-26 | 2015-05-28 | Lenovo (Singapore) Pte. Ltd. | Simulating non-volatile memory |
CN107632939A (zh) * | 2016-07-19 | 2018-01-26 | 西部数据技术公司 | 用于存储装置的映射表 |
US9983889B1 (en) * | 2016-05-13 | 2018-05-29 | Xilinx, Inc. | Booting of integrated circuits |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421777B1 (en) | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
US8190714B2 (en) | 2004-04-15 | 2012-05-29 | Raytheon Company | System and method for computer cluster virtualization using dynamic boot images and virtual disk |
GB2455106B (en) | 2007-11-28 | 2012-08-01 | Icera Inc | Memory errors |
KR101850272B1 (ko) * | 2011-10-14 | 2018-04-20 | 에스프린팅솔루션 주식회사 | 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치 |
KR101799292B1 (ko) | 2011-04-19 | 2017-11-20 | 삼성전자주식회사 | 전자 장치 및 그 부팅 방법 |
US9141394B2 (en) | 2011-07-29 | 2015-09-22 | Marvell World Trade Ltd. | Switching between processor cache and random-access memory |
KR101959359B1 (ko) * | 2012-11-06 | 2019-03-18 | 에이치피프린팅코리아 유한회사 | 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치 |
US9389787B2 (en) * | 2014-05-15 | 2016-07-12 | Netapp, Inc. | System and method for simulating a persistent byte addressable storage device on a persistent block addressable storage device |
US9652252B1 (en) * | 2014-10-29 | 2017-05-16 | Xilinx, Inc. | System and method for power based selection of boot images |
CN108139916B (zh) * | 2015-10-06 | 2021-04-30 | 赛灵思公司 | 可编程逻辑设备的多阶段引导映像加载和配置 |
TWI588657B (zh) * | 2016-03-25 | 2017-06-21 | 晨星半導體股份有限公司 | 雙處理器系統及其控制方法 |
US11237841B2 (en) * | 2019-08-21 | 2022-02-01 | Micron Technology, Inc. | Configurable media structure |
-
2019
- 2019-08-21 US US16/546,416 patent/US11237841B2/en active Active
-
2020
- 2020-07-29 WO PCT/US2020/044036 patent/WO2021034464A1/en unknown
- 2020-07-29 KR KR1020227008732A patent/KR102488816B1/ko active IP Right Grant
- 2020-07-29 CN CN202080059079.9A patent/CN114270320B/zh active Active
- 2020-07-29 EP EP20855612.6A patent/EP4018447A4/en active Pending
-
2022
- 2022-01-14 US US17/576,546 patent/US11748112B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039876A1 (en) * | 2013-07-31 | 2015-02-05 | Marvell World Trade Ltd. | Parallelizing Boot Operations |
US20150149144A1 (en) * | 2013-11-26 | 2015-05-28 | Lenovo (Singapore) Pte. Ltd. | Simulating non-volatile memory |
US9983889B1 (en) * | 2016-05-13 | 2018-05-29 | Xilinx, Inc. | Booting of integrated circuits |
CN107632939A (zh) * | 2016-07-19 | 2018-01-26 | 西部数据技术公司 | 用于存储装置的映射表 |
Also Published As
Publication number | Publication date |
---|---|
KR102488816B1 (ko) | 2023-01-18 |
KR20220041936A (ko) | 2022-04-01 |
WO2021034464A1 (en) | 2021-02-25 |
CN114270320B (zh) | 2023-03-10 |
US20210055935A1 (en) | 2021-02-25 |
EP4018447A4 (en) | 2023-09-27 |
EP4018447A1 (en) | 2022-06-29 |
US20220137980A1 (en) | 2022-05-05 |
US11748112B2 (en) | 2023-09-05 |
US11237841B2 (en) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086720B2 (en) | Memory system and operating method thereof | |
US10250281B2 (en) | ECC decoder having adjustable parameters | |
US9432018B2 (en) | Storage controllers, methods of operating the same and solid state disks including the same | |
US10528506B2 (en) | Uniform performance monitor for a data storage device and method of operation | |
US10114743B2 (en) | Memory erase management | |
US10585792B2 (en) | Data processing system including a host distributing data across multiple memory systems and method for the same | |
CN106445749B (zh) | 使用独立磁盘冗余阵列的动态自动调谐的最大延迟的减小 | |
US11748112B2 (en) | Configurable media structure | |
US11048625B2 (en) | Memory system and operating method thereof | |
US20190265911A1 (en) | Electronic apparatus and operating method thereof | |
KR20160097657A (ko) | 데이터 저장 장치 그리고 그것의 동작 방법 | |
US11194507B2 (en) | Controller and operation method thereof | |
US10521340B2 (en) | Memory system and operating method thereof | |
US20210397378A1 (en) | Storage device and operating method thereof | |
KR102645786B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US9652172B2 (en) | Data storage device performing merging process on groups of memory blocks and operation method thereof | |
US20200167232A1 (en) | Memory system and operating method thereof | |
US20200393984A1 (en) | Channel architecture for memory devices | |
US10810118B2 (en) | Data storage device and operating method thereof | |
US20230395108A1 (en) | Methods and systems for selectively enabling/disabling memory dies | |
US11429612B2 (en) | Address search circuit and method of semiconductor memory apparatus and controller therefor | |
KR20190041082A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20200310873A1 (en) | Controller and memory system including the same | |
US11144406B2 (en) | Memory system performing check pointing operation and operating method thereof | |
US11360666B2 (en) | Reconfigurable storage controller, storage device, and method of operating storage device |
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 |