CN111033483A - 存储器地址验证方法和使用所述方法的存储器装置 - Google Patents
存储器地址验证方法和使用所述方法的存储器装置 Download PDFInfo
- Publication number
- CN111033483A CN111033483A CN201880054958.5A CN201880054958A CN111033483A CN 111033483 A CN111033483 A CN 111033483A CN 201880054958 A CN201880054958 A CN 201880054958A CN 111033483 A CN111033483 A CN 111033483A
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- location
- array
- memory device
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
-
- 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
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供了一种存储器装置以及操作所述存储器装置的方法。所述存储器装置包含存储器格阵列、非易失性存储器和控制器。所述控制器被配置成接收用于从所述阵列的地址读取数据字的读取命令并且解码所述地址以生成经过解码的地址。所述控制器被进一步配置成从所述阵列的所述经过解码的地址中检索响应数据,从所述非易失性存储器中检索对应于所述经过解码的地址的位置标记,并且验证所述位置标记对应于所述地址。所述控制器可以任选地被进一步配置成如果所述位置标记不对应于所述地址,则指示错误。
Description
相关申请的交叉引用
本申请含有与阿尔贝托·特罗亚(Alberto Troia)同时提交的题为“存储器地址验证方法和使用所述方法的存储器装置(METHODS OF MEMORY ADDRESS VERIFICATION ANDMEMORY DEVICES EMPLOYING THE SAME)”的美国专利申请相关的主题。公开内容通过引用并入本文的所述相关申请转让给美光科技公司(Micron Technology,Inc.),并且通过代理人案号010829-9241.US00标识。
技术领域
本公开总体上涉及存储器装置,并且更具体地涉及存储器地址验证方法和使用所述方法的存储器装置。
背景技术
存储器装置通常以内部半导体集成电路和/或外部可移动装置的形式设置于计算机或其它电子装置中。存在许多不同类型的存储器,包含易失性存储器和非易失性存储器。包含随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等的易失性存储器可能需要施加电源来维持其数据。相比而言,非易失性存储器即使不使用外部电源也可以保留其存储的数据。非易失性存储器可用于各种技术中,包含闪存(例如,NAND和NOR)相变存储器(PCM)、电阻式随机存取存储器(RRAM)和磁性随机存储器(MRAM)等。
存储器装置可以包含用于存储数据的大型存储器格阵列,所述存储器格阵列通常组织成行和列。单独的存储器格和/或存储器格范围可以通过其行和列来寻址。当对存储器阵列进行寻址时,可能存在一或多个用于例如在主机装置所利用的逻辑地址与对应于存储器阵列中的位置的物理地址之间进行转换的地址转换层。尽管不常见,但在存储器装置的命令/地址总线上提供给存储器装置的地址信息可能会因错误而损坏,使得可能对与主机装置所请求的物理地址不同的物理地址执行存储器装置的内部操作(例如,读取操作、写入操作、擦除操作等)。因此,需要一种验证已经在预期地址处执行存储器操作的方法。
附图说明
图1是展示了根据本发明技术的实施例的存储器系统的框图。
图2示意性地展示了根据本发明技术的实施例的存储器装置。
图3示意性地展示了根据本发明技术的实施例的存储器装置。
图4是展示了根据本发明技术的实施例的操作存储器装置的方法的流程图。
图5是展示了根据本发明技术的实施例的操作存储器装置的方法的流程图。
具体实施方式
在下面的描述中,讨论了许多具体细节以提供对本发明技术的实施例的透彻和使能描述。然而,相关领域的技术人员将认识到,可以在没有所述具体细节中的一或多个具体细节的情况下实践本公开。在其它实例中,未示出或未详细描述通常与存储器装置相关联的众所周知的结构或操作,以避免模糊本发明技术的其它方面。例如,以下未详细讨论存储器装置和/或存储器系统的对于本领域的技术人员而言众所周知的若干功能组件(例如,如多路复用器和解码器等电路组件、如地址寄存器和数据寄存器等数据结构等)。通常,应当理解,除了本文公开的那些具体实施例之外,各种其它装置、系统和方法也可以处于本发明技术的范围内。
如上所讨论的,影响(例如,在地址转换期间、在命令/地址总线操作期间等)在命令/地址总线上提供给存储器装置的地址信息的错误可能使存储器操作在与期望物理地址不同的物理地址处执行。因此,根据本发明技术的存储器装置的若干实施例验证读取操作被执行的地址对应于控制器和/或主机装置已请求数据的地址。
本发明技术的若干实施例涉及存储器装置、包含存储器装置的系统以及操作存储器装置的方法。在一个实施例中,提供了一种存储器装置。所述存储器装置包含存储器格阵列、非易失性存储器和控制器。所述控制器被配置成接收用于从所述阵列的地址读取数据字的读取命令并且解码所述地址以生成经过解码的地址。所述控制器被进一步配置成从所述阵列的所述经过解码的地址中检索响应数据,从所述非易失性存储器中检索对应于所述经过解码的地址的位置标记,并且验证所述位置标记对应于所述地址。如果所述位置标记不对应于所述地址,则所述控制器可以被进一步配置成指示错误。
图1是具有根据本发明技术的实施例配置的存储器装置100的系统101的框图。如所示出的,存储器装置100包含主存储器102(例如,如DRAM、SRAM等易失性存储器,或者如NAND闪存、NOR闪存、硫族化物PCM等非易失性存储器)和控制器106,所述控制器可操作地将主存储器102耦接到主机装置108(例如,上游中央处理器(CPU))。主存储器102包含多个存储器区域或存储器单元120,每个存储器区域或存储器单元包含多个存储器格122。存储器单元120可以是单独的存储器管芯、单个存储器管芯中的存储器平面、通过硅通孔(TSV)竖直连接的存储器管芯堆叠等。例如,在一个实施例中,存储器单元120中的每个存储器单元可以由半导体管芯形成并且与其它存储器单元管芯布置在单个装置封装(未示出)中。在其它实施例中,多个存储器单元120可以被共同定位在单个管芯上和/或跨多个装置封装分布。存储器格122可以包含例如被配置成永久或半永久地存储数据的浮栅存储元件、电荷捕获存储元件、相变存储元件、铁电存储元件、磁阻式存储元件和/或其它合适的存储元件。主存储器102和/或单独的存储器单元120还可以包含如多路复用器、解码器、缓冲器、读取/写入驱动器、地址寄存器、数据输出/数据输入寄存器等用于存取和/或编程(例如,写入)存储器格122和其它功能(如用于处理信息和/或与控制器106通信)的其它电路组件(未示出)。
存储器格122可以以行124(例如,各自对应于字线)和列126(例如,各自对应于位线)布置。每条字线可以包含一或多个存储器页,这取决于所述字线的存储器格122被配置成存储的数据状态的数目。例如,由每个存储器格122被配置成存储两个数据状态之一的存储器格122(例如,被配置成各自存储1位的SLC存储器格)构成的单条字线可以包含单个存储器页。可替代地,由每个存储器格122被配置成存储四个数据状态之一的存储器格122(例如,被配置成各自存储2位的MLC存储器格)构成的单条字线可以包含两个存储器页。此外,在单条字线的奇数列126中的所有存储器格122被分组为第一存储器页,并且同一字线的偶数列126中的所有存储器格122被分组为第二存储器页的“偶-奇位线架构”中,可以使存储器页交错,使得包括每个存储器格122被配置成存储两个数据状态之一的存储器格122(例如,SLC存储器格)的字线可以跨两个存储器页。当在由每个存储器格122被配置成存储更大数目的数据状态的存储器格122(例如,被配置为MLC、TLC、QLC等的存储器格)构成的字线中利用偶-奇位线架构时,每字线的存储器页的数目可以更高(例如,4、6、8等)。
每个列126可以包含连接到公共源极的一串串联耦接的存储器格122。每个串的存储器格122可以串联连接在源极选择晶体管(例如,场效应晶体管)与漏极选择晶体管(例如,场效应晶体管)之间。源极选择晶体管可以共同耦接到源极选择线,并且漏极选择晶体管可以共同耦接到漏极选择线。
在其它实施例中,存储器格122可以以与所展示的实施例中所示的层级和/或组不同的层级和/或组布置。进一步地,尽管为了说明的目的在所展示的实施例中被示出为具有一定数目的存储器格、行、列、块和存储器单元,但是存储器格、行、列、块和存储器单元的数目可以变化,并且在其它实施例中,其尺度可以大于或小于所展示的实例中所示的尺度。例如,在一些实施例中,存储器装置100可以仅包含一个存储器单元120。可替代地,存储器装置100可以包含两个、三个、四个、八个、十个或更多个(例如,16个、32个、64个或更多个)存储器单元120。尽管在图1中将存储器单元120示出为各自包含两个存储器块128,但是在其它实施例中,每个存储器单元120可以包含一个、三个、四个、八个或更多个(例如,16个、32个、64个、100个、128个、256个或更多个)存储器块。在一些实施例中,每个存储器块128可以包含例如215个存储器页,并且块内的每个存储器页可以包含例如212个存储器格122(例如,“4k”页)。
控制器106可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。控制器106可以包含被配置成执行存储在存储器中的指令的处理器130。在所示实例中,控制器106的存储器包含嵌入式存储器132,所述嵌入式存储器被配置成执行用于控制存储器装置100的操作的各种过程、逻辑流程和例程,包含管理主存储器102以及处理存储器装置100与主机装置108之间的通信。在一些实施例中,嵌入式存储器132可以包含存储例如存储器指针、所获取数据等的存储器寄存器。嵌入式存储器132可以包含用于存储存储器寄存器的易失性存储器和/或非易失性存储器(例如,DRAM、SRAM、NAND、NOR、PCM),并且还可以包含(例如,用于存储微代码的)只读存储器(ROM)。尽管在图1所示的实例中,存储器装置100被展示为包含控制器106,但是在本发明技术的另一个实施例中,存储器装置可以不包含控制器,而是可以依赖于(例如,由外部主机或与存储器装置分离的处理器或控制器提供的)外部控制。
在操作中,控制器106可以如通过对存储器页和/或存储器块128组进行写入来直接对主存储器102的各个存储器区域进行写入或以其它方式进行编程(例如,擦除)。在基于NAND的存储器中,写入操作通常包含用特定的数据值(例如,具有值逻辑0或逻辑1的数据位串)对所选存储器页中的存储器格122进行编程。擦除操作类似于写入操作,不同之处在于擦除操作将整个存储器块128或多个存储器块128重新编程为同一数据状态(例如,逻辑1)。
控制器106通过主机装置接口110与主机装置108通信。在一些实施例中,主机装置108和控制器106可以通过串行接口(如串行连接的SCSI(SAS)、串行AT附件(SATA)接口、外围组件互连快速(PCIe))或其它合适的接口(例如,并行接口)进行通信。主机装置108可以向控制器106发送各种请求(以例如分组或分组流的形式)。请求可以包含用于写入、擦除、返回信息和/或执行特定操作(例如,TRIM操作)的命令。请求还可以包含中断或指示可能触发功率损耗算法的实施的条件变化(例如,功率损耗事件)的另一个命令。
主机装置108可以是能够利用存储器来临时或永久地存储信息的多个电子装置中的任何电子装置或其组件。例如,主机装置可以是计算装置,如台式计算机或便携式计算机、服务器、手持装置(例如,移动电话、平板计算机、数字阅读器、数字媒体播放器)或其某个组件(例如,中央处理单元、协处理器、专用存储器控制器等)。主机装置108可以是联网装置(例如,交换机、路由器等)或数字图像、音频和/或视频的记录器、车辆、电器、玩具或多种其它产品中的任何产品。在一个实施例中,主机装置108可以直接连接到存储器装置100,但是在其它实施例中,主机装置108可以间接连接到存储器装置(例如,通过联网连接或通过中间装置)。
根据本发明技术的实施例,控制器106和/或主机装置108可以被配置成验证存储器操作(例如,读取、写入、擦除等)被执行的地址对应于预期地址,以检测和/或防止(例如,在地址转换期间、在命令/地址总线操作期间等)在存储器装置100或主存储器102的命令/地址总线上提供给所述存储器装置或主存储器的地址信息中的错误使存储器操作在主存储器102中的与期望物理地址不同的物理地址处执行。在这方面,除了主存储器102(其可以是易失性存储器、非易失性存储器或其某种组合)之外,存储器装置100还可以包含非易失性存储器150,对应于主存储器102中的地址的位置标记可以存储在所述非易失性存储器中。位置标记可以用于验证对主存储器102的存储器操作被执行的物理地址对应于所述操作预期被执行的地址。
根据本发明技术的实施例,存储在非易失性存储器150中的位置标记可以是数据被存储的完整地址。可替代地,为了减少专用于存储位置标记的存储量,所述位置标记可以是数据被存储的地址的散列、校验和或子集(例如,行、组、秩、装置、芯片等)。在减少位置标记消耗的存储量的同时使用地址的散列、校验和或子集而不是整个地址可能增加冲突风险(例如,如果存储器地址遇到错误并且通过位错误等被无意改变成与预期存储器地址生成同一位置标记的不同的存储器地址)。因此,可以根据位置标记消耗的存储量与冲突容忍度之间的平衡来设计存储器系统和装置(例如,对于对由冲突引起的潜在错误的容忍度较低的系统和装置,如车辆控制、生命保障或武器瞄准系统,冲突可能性较低的散列、子集或校验和或甚至整个地址可以用于生成位置标记)。
根据本发明技术的一个方面,使用与主存储器102分离的非易失性存储器150来存储位置标记的益处是相比主存储器102,能够以不同的操作电压来操作非易失性存储器150。在主存储器102是易失性存储器的实施例中,另一个益处是非易失性存储器150中存储的位置标记能够在电源中断的情况下持续存在。
非易失性存储器150中每个位置标记被存储的位置可以对应于主存储器102中位置标记所对应的地址。例如,存储器装置100被命令执行的存储器操作可以包含所述操作期望被执行的逻辑地址。逻辑地址可以由(例如,控制器106中,或专用解码电路系统等中的)一或多个地址解码器解码,并且经过解码的地址可以提供给主存储器102(例如,专用于感测或写入其存储器格的高压电路)和非易失性存储器150两者。通过在非易失性存储器150和主存储器102中使用同一个经过解码的地址,可以从非易失性存储器150中读出非易失性存储器150中的对应于主存储器102中的物理地址的位置标记,并且将所述位置标记提供给控制器106以验证在没有错误的情况下完成了地址解码和传输,如下面更详细地阐述的。
如本文所述,术语“地址”可以意指物理地址或逻辑地址。在一些实施例中,位置标记可以对应于物理地址或逻辑地址。
为了生成位置标记并将其存储在非易失性存储器150中,存储器装置100可以使用根据本发明技术的各个实施例的多种方法中的任何方法。在一个实施例中,可以在存储器装置100的制造期间生成位置标记并将其存储在非易失性存储器150中。在此类实施例中,非易失性存储器150可以是只读存储器(ROM)。在另一个实施例中,可以在存储器装置100的配置或操作期间生成位置标记并将其存储在非易失性存储器150中。在此类实施例中,非易失性存储器150可以是EEPROM、闪存(例如,NAND、NOR等)、相变存储器(PCM)、铁电或铁磁存储器等。在此类实施例中,可以在控制器106中或在主机108中执行根据地址生成位置标记(例如,将地址散列操作(hashing)或转换为位置标记)。本领域的技术人员众所周知的多种合适的散列操作或校验和算法中的任何算法都可以用于生成位置标记,包含循环冗余校验(CRC)、纵向奇偶校验、校验数位、奇偶校验位、BSD校验和等。
为了验证存储器操作的地址,存储器装置可以将(例如,利用提供给主存储器102的同一个经过解码的地址或其一部分)从非易失性存储器150中检索的位置标记与存储器操作预期发生的地址进行比较。例如,如果提供给存储器装置100的逻辑地址被解码为存储器中对应于主存储器102的块01、行01和列01的物理地址,则可以检索非易失性存储器的行01和列01中的位置标记并且在检索存储在主存储器102的块01、行01和列01处的数据字的同时(例如,在这之前不久或在这之后不久)将所述位置标记提供给控制器。存储在非易失性存储器150的所述部分处的位置标记可以对应于主存储器102的物理地址(例如,可以是完整地址行01列01,或其子集(如行01或列01),或其散列或校验和,或甚至提供给解码器的逻辑地址、其子集、散列或校验和)。通过响应于存储器命令(例如,读取、写入或擦除)而将位置标记提供给控制器106,控制器106可以将位置标记与地址进行比较以验证在期望位置处执行了对主存储器102执行的操作,并且(例如,如果操作是读取操作)检索到的数据对应于期望数据。如果位置标记不对应于地址,则控制器106可以被进一步配置成(例如,利用关于用于将存储器装置100连接到主机108的总线的现有协议或新协议,或者通过引出线标记错误等)指示错误。
尽管前述实施例已经展示了由控制器执行地址解码的存储器装置,但是在本发明技术的其它实施例中,存储器装置可以包含专用地址解码电路系统。例如,图2示意性地展示了根据本发明技术的实施例的利用了专用地址解码器的存储器装置200。存储器装置200包含存储器阵列202、非易失性存储器250和控制器206,所述控制器被配置成验证存储器操作在存储器阵列202中被执行的地址。在这方面,控制器206被配置成接收用于在存储器阵列202中的地址处执行存储器操作的命令,并且将地址240提供给地址解码器241。地址解码器241被配置成解码地址240以生成经过解码的地址242,所述经过解码的地址提供给非易失性存储器250并且通过(例如,包含一或多个预充电电路、电荷泵等的)高压存储器存取电路245提供给存储器阵列202。经过解码的地址242(如果正确生成且在没有错误的情况下传输)对应于存储器阵列202中的期望位置,以及存储在非易失性存储器250中的对应于地址240的位置标记。如果存储器操作是读取操作,则从存储器阵列202中检索响应数据204并将所述响应数据提供给控制器206,并且从非易失性存储器250中检索位置标记252并将所述位置标记提供给控制器206。如果存储器操作是写入操作,则控制器206可以不从存储器阵列202接收响应数据204,但是控制器206仍然可以被配置成将位置标记252与地址240进行比较以验证在存储器阵列202中的期望位置中执行了存储器操作。在此实施例中,非易失性存储器250可以设置有足以存储数目对应于存储器阵列202中的地址的数目的位置标记的存储空间量。
尽管前述实施例已经描述并展示了具有被配置成存储位置标记的单个非易失性存储器的存储器装置,但是在其它实施例中,存储器装置可以具有多于一个如此配置的非易失性存储器。例如,图3示意性地展示了根据本发明技术的实施例的多级地址解码被执行的存储器装置300,其中对应的多个非易失性存储器被配置成存储经过解码的地址的不同部分。在这方面,存储器装置300包含存储器阵列302、多个非易失性存储器350和354以及控制器306,所述控制器被配置成验证存储器操作在存储器阵列302中被执行的地址。在这方面,控制器306被配置成接收用于在存储器阵列302中的地址处执行存储器操作的命令,并且将地址340提供给第一地址解码器341(例如,行解码器)和第二地址解码器343。第一地址解码器341被配置成解码地址340以生成第一经过解码的地址342(例如,行地址),所述第一经过解码的地址提供给第一非易失性存储器350并且通过(例如,包含一或多个预充电电路、电荷泵等的)高压存储器存取电路345提供给存储器阵列302。第二地址解码器343被配置成解码地址340以生成第二经过解码的地址344(例如,列地址),所述第二经过解码的地址提供给第二非易失性存储器354并且通过高压存储器存取电路345提供给存储器阵列302。在此实施例中,第一非易失性存储器250和第二非易失性存储器254中的每个非易失性存储器可以设置有足以存储数目分别对应于存储器阵列202中的多行和列的数目的位置标记的存储空间量。
第一经过解码的地址342和第二经过解码的地址344(如果正确生成且在没有错误的情况下传输)对应于存储器阵列302中的期望位置,以及存储在第一非易失性存储器350和第二非易失性存储器354中的各自对应于地址340的对应位置标记。如果存储器操作是读取操作,则从存储器阵列302中检索响应数据304并将所述响应数据提供给控制器306,并且从对应的第一非易失性存储器350和第二非易失性存储器354中检索第一位置标记352和第二位置标记356并将所述位置标记提供给控制器306。如果存储器操作是写入操作,则控制器306可以不从存储器阵列302接收响应数据304,但是控制器306仍然可以被配置成将位置标记352和356与地址340进行比较以验证在存储器阵列302中的期望位置中执行了存储器操作。
在本发明技术的其它实施例中,可以提供不同数目的地址解码器。例如,在一个实施例中,存储器装置可以具有三个地址解码器(例如,分别用于解码块地址、行地址和列地址)。在另一个实施例中,存储器装置可以设置有三个以上的地址解码器。如此设置的地址解码器中的一些或所有地址解码器可以被配置成将其输出的经过解码的地址传送到非易失性存储器,如上面更详细地阐述的。在这方面,如果只期望验证地址的一部分(例如,仅验证行,或仅验证列,或仅验证块和行而不验证列),则可以省略对应的非易失性存储器和相关联的验证步骤。
尽管在前述实施例中,已经参照包含多个易失性格的存储器阵列描述和展示了存储器装置,但是在本发明技术的其它实施例中,在提供了用于存储位置标记的另外的非易失性存储器的存储器装置中还可以使用非易失性存储器阵列。使用不同的非易失性存储器来存储用于验证存储器操作被执行的地址的位置标记的益处与易失性阵列被包含的存储器装置中的益处类似,如相比主存储器阵列,能够以不同的操作电压操作非易失性存储器,这可以允许将不同的存储器技术用于主阵列和用于存储位置标记的非易失性存储器,即使所述主阵列和非易失性存储器耦接到相同的地址解码器也是如此。
根据本发明技术的另一个方面,如果需要的话,配置有用于存储位置标记的非易失性存储器的存储器装置可以被配置成(例如,通过以固件配置存储器装置或通过命令或引脚输入)禁用上述地址验证过程。在限制了存储器装置的功率包络的实施例中,任选地启用或禁用地址验证特征的能力可以提供期望的功耗可配置性。
图4是展示了根据本发明技术的实施例的操作存储器装置的方法的流程图。所述方法包含:接收用于从存储器阵列的地址读取数据字的读取命令(框410);解码所述地址以生成经过解码的地址(框420);以及从所述阵列的所述经过解码的地址中检索响应数据(框430)。所述方法进一步包含:从非易失性存储器中检索对应于所述经过解码的地址的位置标记(框440);以及验证所述位置标记对应于所述地址(框450)。
根据本发明技术的另一个实施例,一种操作存储器装置的方法包含:接收用于将数据字写入到存储器阵列的地址的写入命令;以及解码所述地址以生成经过解码的地址。所述方法进一步包含:从非易失性存储器中检索对应于所述经过解码的地址的位置标记;以及验证所述位置标记对应于所述地址。响应于验证所述位置标记对应于所述地址,所述方法可以进一步包含将所述数据字写入到所述经过解码的地址。
图5是展示了根据本发明技术的实施例的操作存储器装置的方法的流程图。所述方法包含:生成多个位置标记并将所述多个位置标记存储在非易失性存储器中(框510)。所述方法进一步包含:接收用于从存储器阵列的地址读取数据字的读取命令(框520);解码所述地址以生成经过解码的地址(框530);以及从所述阵列的所述经过解码的地址中检索响应数据(框540)。所述方法进一步包含:从所述非易失性存储器中检索对应于所述经过解码的地址的位置标记(框550);以及验证所述位置标记对应于所述地址(框560)。所述方法可以进一步包含:如果所述位置标记不对应于所述地址,则指示错误。
根据本发明技术的另一个实施例,一种操作存储器装置的方法包含:生成多个位置标记并将所述多个位置标记存储在非易失性存储器中。所述方法进一步包含:接收用于将数据字写入到存储器阵列的地址的写入命令;以及解码所述地址以生成经过解码的地址。所述方法进一步包含:从所述非易失性存储器中检索对应于所述经过解码的地址的位置标记;以及验证所述位置标记对应于所述地址。所述方法可以进一步包含:如果所述位置标记不对应于所述地址,则指示错误。响应于验证所述位置标记对应于所述地址,所述方法可以进一步包含将所述数据字写入到所述经过解码的地址。
根据上文,应理解,在本文中已经出于说明的目的描述了本发明的具体实施例,但可以在不偏离本发明的范围的情况下进行各种修改。因此,除受所附权利要求限制之外,本发明不受限制。
Claims (26)
1.一种存储器装置,其包括:
存储器格阵列;
非易失性存储器;以及
控制器,所述控制器被配置成:
接收用于从所述阵列的地址读取数据字的读取命令,
解码所述地址以生成经过解码的地址,
从所述阵列的所述经过解码的地址中检索响应数据,
从所述非易失性存储器中检索对应于所述经过解码的地址的位置标记,并且
验证所述位置标记对应于所述地址。
2.根据权利要求1所述的存储器装置,其中所述控制器被进一步配置成如果所述位置标记不对应于所述地址,则指示错误。
3.根据权利要求1所述的存储器装置,其中所述控制器被进一步配置成如果所述位置标记对应于所述地址,则输出所述数据字。
4.根据权利要求1所述的存储器装置,其中所述控制器被进一步配置成生成包含所述位置标记的多个位置标记并且将所述多个位置标记存储在所述非易失性存储器中。
5.根据权利要求4所述的存储器装置,其中所述多个位置标记中的每个位置标记对应于所述阵列的对应多个地址中的单个地址。
6.根据权利要求1所述的存储器装置,其中所述位置标记是所述地址的散列。
7.根据权利要求1所述的存储器装置,其中所述位置标记是所述地址。
8.根据权利要求1所述的存储器装置,其中所述地址是物理存储器地址和逻辑存储器地址之一。
9.根据权利要求1所述的存储器装置,其中所述存储器格阵列是易失性阵列。
10.根据权利要求1所述的存储器装置,其中所述非易失性存储器与所述阵列在不同的电压下操作。
11.根据权利要求1所述的存储器装置,其中所述存储器装置是半导体管芯,并且其中所述控制器是管芯上控制器。
12.根据权利要求1所述的存储器装置,其中所述存储器装置是存储器模块,并且其中所述控制器位于半导体管芯上并且所述存储器格阵列位于第二半导体管芯上。
13.根据权利要求1所述的存储器装置,其中所述控制器被进一步配置成:
启用或禁用以下:
从所述非易失性存储器中检索对应于所述经过解码的地址的所述位置标记,以及
验证所述位置标记对应于所述地址。
14.一种操作包含存储器格阵列和非易失性存储器的存储器装置的方法,所述方法包括:
接收用于从所述阵列的地址读取数据字的读取命令;
解码所述地址以生成经过解码的地址;
从所述阵列的所述经过解码的地址中检索响应数据;
从所述非易失性存储器中检索对应于所述经过解码的地址的位置标记;以及
验证所述位置标记对应于所述地址。
15.根据权利要求14所述的方法,其进一步包括如果所述位置标记不对应于所述地址,则指示错误。
16.根据权利要求14所述的方法,其进一步包括如果所述位置标记对应于所述地址,则输出所述数据字。
17.根据权利要求14所述的方法,其进一步包括生成包含所述位置标记的多个位置标记并将所述多个位置标记存储在所述非易失性存储器中。
18.根据权利要求17所述的方法,其中所述多个位置标记中的每个位置标记对应于所述阵列的对应多个地址中的单个地址。
19.根据权利要求14所述的方法,其中所述位置标记是所述地址的散列。
20.根据权利要求14所述的方法,其中所述位置标记是所述地址。
21.根据权利要求14所述的方法,其中所述地址是物理存储器地址和逻辑存储器地址之一。
22.根据权利要求14所述的方法,其中所述存储器格阵列是易失性阵列。
23.根据权利要求14所述的方法,其中所述非易失性存储器与所述阵列在不同的电压下操作。
24.根据权利要求14所述的方法,其进一步包括禁用所述从所述非易失性存储器中检索对应于所述经过解码的地址的所述位置标记,以及所述验证所述位置标记对应于所述地址。
25.一种存储器装置,其包括:
存储器格阵列;
非易失性存储器;以及
控制器,所述控制器被配置成:
接收用于将数据字写入到所述阵列的地址的写入命令,
解码所述地址以生成经过解码的地址,
从所述非易失性存储器中检索对应于所述经过解码的地址的位置标记,并且
验证所述位置标记对应于所述地址。
26.根据权利要求25所述的存储器装置,其中所述控制器被进一步配置成响应于验证所述位置标记对应于所述地址而将所述数据字写入到所述阵列的所述经过解码的地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/687,069 US11086790B2 (en) | 2017-08-25 | 2017-08-25 | Methods of memory address verification and memory devices employing the same |
US15/687,069 | 2017-08-25 | ||
PCT/US2018/042679 WO2019040210A1 (en) | 2017-08-25 | 2018-07-18 | METHODS OF MEMORY ADDRESS VERIFICATION AND MEMORY DEVICES USING THEM |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111033483A true CN111033483A (zh) | 2020-04-17 |
Family
ID=65434279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880054958.5A Withdrawn CN111033483A (zh) | 2017-08-25 | 2018-07-18 | 存储器地址验证方法和使用所述方法的存储器装置 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11086790B2 (zh) |
CN (1) | CN111033483A (zh) |
WO (1) | WO2019040210A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086790B2 (en) | 2017-08-25 | 2021-08-10 | Micron Technology, Inc. | Methods of memory address verification and memory devices employing the same |
US10261914B2 (en) | 2017-08-25 | 2019-04-16 | Micron Technology, Inc. | Methods of memory address verification and memory devices employing the same |
US10841039B2 (en) * | 2018-10-30 | 2020-11-17 | Infineon Technologies Ag | System and method for transferring data and a data check field |
JP2021179672A (ja) * | 2020-05-11 | 2021-11-18 | ソニーセミコンダクタソリューションズ株式会社 | メモリモジュール |
US11550733B2 (en) * | 2020-07-01 | 2023-01-10 | Arm Limited | Method, system and circuit for managing a secure memory partition |
US20240045617A1 (en) * | 2022-08-08 | 2024-02-08 | Micron Technology, Inc. | Address verification at a memory system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215297A1 (en) * | 2005-03-24 | 2006-09-28 | Fujitsu Limited | Storage apparatus, control method therefor and program |
US20130159629A1 (en) * | 2011-12-16 | 2013-06-20 | Stec, Inc. | Method and system for hash key memory footprint reduction |
CN103247347A (zh) * | 2012-02-11 | 2013-08-14 | 三星电子株式会社 | 提供智能存储器架构的方法和系统 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3963908A (en) | 1975-02-24 | 1976-06-15 | North Electric Company | Encoding scheme for failure detection in random access memories |
US5561765A (en) | 1994-07-27 | 1996-10-01 | Siemens Rolm Communications, Inc. | Algorithm for testing a memory |
US5717871A (en) | 1995-08-17 | 1998-02-10 | I-Cube, Inc. | Crossbar switch with input/output buffers having multiplexed control inputs |
US6886171B2 (en) * | 2001-02-20 | 2005-04-26 | Stratus Technologies Bermuda Ltd. | Caching for I/O virtual address translation and validation using device drivers |
US7073099B1 (en) | 2002-05-30 | 2006-07-04 | Marvell International Ltd. | Method and apparatus for improving memory operation and yield |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US7203890B1 (en) | 2004-06-16 | 2007-04-10 | Azul Systems, Inc. | Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits |
US20060069896A1 (en) | 2004-09-27 | 2006-03-30 | Sigmatel, Inc. | System and method for storing data |
US20060156191A1 (en) | 2005-01-07 | 2006-07-13 | Steve Driediger | Memory addressing error protection systems and methods |
US7761674B2 (en) | 2005-12-30 | 2010-07-20 | Intel Corporation | Identifier associated with memory locations for managing memory accesses |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US8060798B2 (en) | 2007-07-19 | 2011-11-15 | Micron Technology, Inc. | Refresh of non-volatile memory cells based on fatigue conditions |
US20090037782A1 (en) | 2007-08-01 | 2009-02-05 | Arm Limited | Detection of address decoder faults |
US7913033B2 (en) | 2007-10-09 | 2011-03-22 | Micron Technology, Inc. | Non-volatile memory device having assignable network identification |
WO2009053962A2 (en) | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US7949821B2 (en) | 2008-06-12 | 2011-05-24 | Micron Technology, Inc. | Method of storing data on a flash memory device |
US8244987B2 (en) | 2008-12-04 | 2012-08-14 | Electronics And Telecommunications Research Institute | Memory access device including multiple processors |
US8635514B2 (en) | 2011-02-28 | 2014-01-21 | Micron Technology, Inc. | Error control in memory storage systems |
US8645811B2 (en) | 2011-10-27 | 2014-02-04 | Dell Products L.P. | System and method for selective error checking |
US8976594B2 (en) * | 2012-05-15 | 2015-03-10 | Micron Technology, Inc. | Memory read apparatus and methods |
US8812935B2 (en) | 2012-08-02 | 2014-08-19 | Oracle International Corporation | Using a data ECC to detect address corruption |
KR102025263B1 (ko) | 2012-10-05 | 2019-09-25 | 삼성전자주식회사 | 메모리 시스템 및 그것의 읽기 교정 방법 |
KR101821633B1 (ko) | 2013-03-14 | 2018-03-08 | 삼성전자주식회사 | 메모리 시스템 |
KR20150071500A (ko) | 2013-12-18 | 2015-06-26 | 삼성전자주식회사 | 데이터 관리 방법 및 장치 |
KR102249810B1 (ko) | 2014-07-23 | 2021-05-11 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
JP6548459B2 (ja) | 2015-05-29 | 2019-07-24 | キヤノン株式会社 | 情報処理装置 |
US10261914B2 (en) | 2017-08-25 | 2019-04-16 | Micron Technology, Inc. | Methods of memory address verification and memory devices employing the same |
US11086790B2 (en) | 2017-08-25 | 2021-08-10 | Micron Technology, Inc. | Methods of memory address verification and memory devices employing the same |
-
2017
- 2017-08-25 US US15/687,069 patent/US11086790B2/en active Active
-
2018
- 2018-07-18 CN CN201880054958.5A patent/CN111033483A/zh not_active Withdrawn
- 2018-07-18 WO PCT/US2018/042679 patent/WO2019040210A1/en active Application Filing
-
2021
- 2021-08-09 US US17/397,449 patent/US11663140B2/en active Active
-
2023
- 2023-04-24 US US18/306,110 patent/US20240126701A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215297A1 (en) * | 2005-03-24 | 2006-09-28 | Fujitsu Limited | Storage apparatus, control method therefor and program |
US20130159629A1 (en) * | 2011-12-16 | 2013-06-20 | Stec, Inc. | Method and system for hash key memory footprint reduction |
CN103247347A (zh) * | 2012-02-11 | 2013-08-14 | 三星电子株式会社 | 提供智能存储器架构的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US11086790B2 (en) | 2021-08-10 |
US20210365385A1 (en) | 2021-11-25 |
WO2019040210A1 (en) | 2019-02-28 |
US20190065396A1 (en) | 2019-02-28 |
US11663140B2 (en) | 2023-05-30 |
US20240126701A1 (en) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489082B2 (en) | System and method for using host command data buffers as extended memory device volatile memory | |
CN108121669B (zh) | 存储器系统及其操作方法 | |
US10761997B2 (en) | Methods of memory address verification and memory devices employing the same | |
US11663140B2 (en) | Methods of memory address verification and memory devices employing the same | |
TWI719434B (zh) | 用以基於機率資料結構之前瞻修正動作之記憶體設備及操作該設備之方法 | |
US8661317B2 (en) | Memory device using error correcting code and system thereof | |
US20190188126A1 (en) | Memory system and method of operating the same | |
US11474722B2 (en) | Non-volatile memory including selective error correction | |
US9355732B2 (en) | Latch initialization for a data storage device | |
US10902928B2 (en) | Memory system, operation method thereof, and nonvolatile memory device | |
CN110716883A (zh) | 存储器系统及其操作方法 | |
US11961561B2 (en) | Memory device and method of operating the same | |
CN111916134A (zh) | 存储装置及其操作方法 | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
CN113535460A (zh) | 数据存储装置及其操作方法 | |
US11842067B2 (en) | Memory controller, memory system including the same, and method of operating the memory system | |
US11158356B1 (en) | Calibration circuit and operating method of the calibration circuit | |
CN112711377B (zh) | 分布式存储系统的存储节点及其操作方法 | |
CN115793959A (zh) | 主机装置、存储器控制器及包括它们的计算系统 | |
CN111798903B (zh) | 存储器系统、存储器装置和存储器控制器 | |
US20230116063A1 (en) | Storage device based on daisy chain topology | |
US20230376211A1 (en) | Controller for controlling one-time programmable memory, system, and operation method thereof |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200417 |