CN113039529A - 存储器的地址混淆 - Google Patents
存储器的地址混淆 Download PDFInfo
- Publication number
- CN113039529A CN113039529A CN201980075547.9A CN201980075547A CN113039529A CN 113039529 A CN113039529 A CN 113039529A CN 201980075547 A CN201980075547 A CN 201980075547A CN 113039529 A CN113039529 A CN 113039529A
- Authority
- CN
- China
- Prior art keywords
- memory
- mapping
- logical
- address
- mapping function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 503
- 238000013507 mapping Methods 0.000 claims abstract description 299
- 230000006870 function Effects 0.000 claims abstract description 204
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 24
- 239000003990 capacitor Substances 0.000 description 16
- 238000003491 array Methods 0.000 description 14
- 230000002093 peripheral effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 239000000758 substrate Substances 0.000 description 10
- 230000002441 reversible effect Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000003213 activating effect Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000002950 deficient Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000003989 dielectric material Substances 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 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
- 108700038250 PAM2-CSK4 Proteins 0.000 description 1
- 101100206155 Schizosaccharomyces pombe (strain 972 / ATCC 24843) tbp1 gene Proteins 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
- 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
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000013626 chemical specie Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage 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
- 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
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 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
- 230000008450 motivation Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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/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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Semiconductor Memories (AREA)
- Memory System (AREA)
Abstract
本发明描述用于存储器的地址混淆的方法、***及装置。映射函数可将数据的逻辑地址映射到存储器单元的物理地址。所述映射函数可使用包含映射子组件的映射组件来实施。每一映射子组件可独立地配置以实施用于确定所述物理地址的位的逻辑函数。所述映射函数可跨存储器装置或存储器装置的方面变动,且在一些情况中可随时间变动。
Description
交叉参考
本专利申请案主张摩根(Morgan)等人在2018年11月15日申请的标题为“存储器的地址混淆(ADDRESS OBFUSCATION FOR MEMORY)”的第16/192,068号美国专利申请案的优先权,所述申请案转让给其受让人且其全文以引用的方式明确并入本文中。
背景技术
下文大体上涉及存储器装置,且更具体来说,涉及存储器的地址混淆。
存储器装置广泛用于将信息存储在各种电子装置(例如计算机、无线通信装置、相机、数字显示器等)中。通过对存储器装置的不同状态进行编程来存储信息。例如,二进制装置最通常存储两种状态中的一者,所述两个状态通常由逻辑1或逻辑0表示。在其它装置中,可存储两种以上状态。为了存取经存储信息,所述装置的组件可读取或感测存储器装置中的至少一个经存储状态。为了存储信息,所述装置的组件可在存储器装置中写入或编程所述状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)等。存储器装置可为易失性或非易失性的。非易失性存储器(例如,FeRAM)即使在不存在外部电源的情况下仍可维持其经存储逻辑状态达延长时间段。易失性存储器装置(例如,DRAM)可随时间丢失其经存储状态,除非其通过外部电源周期性地刷新。
改进存储器装置通常可包含增加存储器单元密度、增加读取/写入速度、增加可靠性、增加数据保持、降低电力消耗、降低制造成本或增加存储器装置的寿命以及其它度量。此外,由于存储器装置磨损,一些存储器装置具有有限耐久性或减少的寿命。存储器装置的磨损可由任何数目个问题引起,包含正常使用或不良行动者的有意误用。存储器装置磨损可影响存储器装置的制造的质量感知或可影响存储器装置的预期寿命。
附图说明
图1说明根据本公开的方面的用于存储器的地址混淆的***的实例。
图2说明根据本公开的方面的支持存储器的地址混淆的存储器裸片的实例。
图3说明根据本公开的实例的支持存储器的地址混淆的装置的实例
图4A及4B说明根据本公开的方面的支持存储器的地址混淆的装置的实例。
图5说明根据本公开的方面的支持存储器的地址混淆的映射函数的实例。
图6说明根据本公开的方面的支持存储器的地址混淆的映射函数及损耗均衡函数的实例。
图7A说明根据本公开的方面的支持存储器的地址混淆的装置。
图7B说明根据本公开的方面的支持存储器的地址混淆的映射函数的实例。
图8A及8B说明根据本公开的方面的支持存储器的地址混淆的装置的实例。
图9说明根据本公开的方面的支持存储器的地址混淆的映射函数及损耗均衡函数的实例。
图10说明根据本公开的方面的支持存储器的地址混淆的装置的框图。
图11到13说明根据本公开的方面的支持存储器的地址混淆的流程图。
具体实施方式
可以数种方式实现改进存储器装置的寿命。一种实现存储器装置的改进寿命或耐久性的方式是通过损耗均衡,其可在存储器装置的存储器单元之间提供基本上均匀的损耗。损耗均衡可包含例如将数据从存储器阵列内(或跨若干存储器阵列)的一个物理位置传送到另一物理位置,这可防止存储器阵列的一个存储器单元比另一存储器单元写入或读取更多(例如,显著更多)。与不经常被存取的存储器单元相比,过度存取可减少经过度使用的存储器单元的寿命,且因此损耗均衡可保护存储器装置免于可引起存储器单元过早失效的个别存储器单元的过度使用。
存储器装置寿命可不仅受正常使用影响,而且可由恶意使用—例如,通过行锤或其它恶意攻击损及。如果不良行动者管理员推导(逆向工程)损耗均衡函数在存储器阵列内传送数据的模式,那么不良行动者可能够规避损耗均衡函数且引发磨损。在一些实例中,存储器磨损可导致故障或存储机制或不良行动者对敏感数据的免授权存取或对受保护程序或函数的免授权控制。在一些实例中,物理存储器单元可失效(变为检测性),这可容许不良行动者遵循逻辑数据相对于失效单元的移动进展且由此对损耗均衡函数的移动模式进行逆向工程。在一些情况中,一旦已在一个存储器装置中对损耗均衡函数进行逆向工程,采用相同损耗均衡函数的全部存储器装置便可经受不良行动者的滥用。
如本文中论述,存储器的地址混淆可包含以不可预测方式将数据的逻辑地址映射到一或多个存储器阵列内的物理地址,这可跨存储器阵列或针对同一存储器阵列随时间变动。例如,用于将数据的逻辑地址映射到存储数据的存储器单元的物理地址的映射函数可在每装置、每裸片、每阵列或其它基础上选择或定制。在一些情况中,在最初已根据如本文中所描述的地址混淆技术确定之后,数据的物理地址可根据损耗均衡函数随时间改变(即,数据可从一个存储器单元移动到另一存储器单元)。地址混淆技术及其随时间或跨存储器实体的可变性可增加不良行动者对损耗均衡函数进行逆向工程的困难。
此外,即使不良行动者确实设法对损耗均衡函数进行逆向工程,如由不良行动者获得的此信息仍可在随后时间对于其它装置、裸片、阵列等或对于经逆向工程装置、裸片、阵列等不可用,因为操作性映射函数—及因此,数据的逻辑地址与存储数据的存储器单元的物理地址之间的关系—可随时间(例如,在例如启动或重启事件的触发事件之后,或在时间表基础上)调整或跨装置、裸片、阵列等(例如,基于包含在此类实体中的随机数生成器、此类实体的唯一标识符等)变动。映射函数可在每逻辑地址位基础上基于一组可选择每位逻辑运算配置及变动,使得可支持极大数目个可能映射函数(例如,针对具有N个位的逻辑地址,其中可针对每一位选择M个逻辑运算中的任一者,可支持MN个可能映射函数)。
提供用于实施将数据的逻辑地址映射到存储器阵列内的存储数据的存储器单元的物理地址的可配置(例如,可选择)及可变动(例如,在操作或请求制造中或制造后技术期间动态地)映射函数的***及技术。可在存储器装置处或从主机接收存取命令,且存取命令可包含存储在存储器阵列中的数据的逻辑地址且可基于逻辑地址及映射函数来确定物理地址,且可存取经存储数据。可针对逻辑地址的每一个别位选择逻辑运算且共同地,这些逻辑运算可实施映射函数,其中存储器单元的物理地址的位可由(例如,基于)映射函数来确定。映射函数(例如,构成逻辑运算)可以数种方式在数个基础上进行配置(选取、选择),如本文中进一步详细论述,且在一些情况中可随时间或跨装置动态地或以其它方式而变动。
最初在存储器***的背景中描述本公开的特征。在经配置以在存储器单元层级以及相关地址混淆及损耗均衡表处将逻辑地址映射到物理地址的存储器***的背景中描述本公开的特征。通过与存储器的地址混淆相关的设备图、***图及流程图进一步说明且参考所述设备图、***图及流程图描述本公开的这些及其它特征。
图1说明根据本文中所公开的方面的利用一或多个存储器装置的***100的实例。***100可包含外部存储器控制器105、存储器装置110及将外部存储器控制器105与存储器装置110耦合的多个通道115。***100可包含一或多个存储器装置,但为了易于描述,可将一或多个存储器装置描述为单个存储器装置110。
***100可包含电子装置的方面,例如计算装置、计算装置、无线装置或图形处理装置。***100可为便携式电子装置的实例。***100可为计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、穿戴式装置、因特网连接装置等的实例。存储器装置110可为所述***的组件,其经配置以存储***100的一或多个其它组件的数据。在一些实例中,***100经配置用于使用基站或接入点与其它***或装置进行双向无线通信。在一些实例中,***100能够进行机器类型通信(MTC)、机器对机器(M2M)通信或装置对装置(D2D)通信。
***100的至少部分可为主机装置的实例。此主机装置可为使用存储器来执行过程的装置的实例,例如计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、穿戴式装置、因特网连接装置、某个其它固定或便携式电子装置等。在一些情况中,主机装置可指实施外部存储器控制器105的功能的硬件、固件、软件或其组合。在一些情况中,外部存储器控制器105可被称为主机或主机装置。在一些实例中,***100是图形卡。在一些实例中,主机可发出可包含存储在存储器阵列中的数据的逻辑地址的存取命令。逻辑地址可映射到存储器阵列内的物理地址且物理地址可至少部分通过逻辑地址及选定映射函数来确定。
在一些情况中,存储器装置110可为经配置以与***100的其它组件通信且提供物理存储器地址/空间以潜在地由***100使用或参考的独立装置或组件。在一些实例中,存储器装置110可配置以与至少一种或多种不同类型的***100一起工作。***100的组件与存储器装置110之间的发信可为可操作以支持调制方案以调制信号、用于传达信号的不同引脚设计、***100与存储器装置110的相异封装、***100与存储器装置110之间的时钟发信及同步、时序惯例及/或其它因素。
存储器装置110可经配置以存储***100的组件的数据。在一些情况中,存储器装置110可(例如,响应于且执行由***100通过外部存储器控制器105提供的命令)充当***100的从属型装置。此类命令可包含用于存取操作的存取命令,例如用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令。存储器装置110可包含支持用于数据存储的所要或指定容量的两个或更多个存储器裸片160(例如,存储器芯片)。包含两个或更多个存储器裸片的存储器装置110可被称为多裸片存储器或封装(也被称为多芯片存储器或封装)。在一些情况中,不同存储器装置110或甚至不同裸片160或裸片160内的不同存储器阵列170可使用不同映射函数将逻辑地址映射到物理地址。
***100可进一步包含处理器120、基本输入/输出***(BIOS)组件125、一或多个***组件130及输入/输出(I/O)控制器135。***100的组件可使用总线140彼此电子通信。
处理器120可经配置以控制***100的至少部分。处理器120可为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其可为这些类型的组件的组合。在此类情况中,处理器120可为中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或芯片上***(SoC)等的实例。
BIOS组件125可为包含操作为固件的BIOS的软件组件,其可初始化且运行***100的各种硬件组件。BIOS组件125还可管理处理器120与***100的各种组件(例如,***组件130、I/O控制器135等)之间的数据流。BIOS组件125可包含存储在只读存储器(ROM)、快闪存储器或任何其它非易失性存储器中的程序或软件。
(若干)***组件130可为可集成到***100中或与***100集成在一起的任何输入装置或输出装置,或用于此类装置的接口。实例可包含磁盘控制器、声音控制器、图形控制器、以太网控制器、调制解调器、通用串行总线(USB)控制器、串行或并行端口或***卡槽(例如***组件互连件(PCI)或加速图形端口(AGP)槽)。(若干)***组件130可为由所属领域的技术人员理解为接口装置的其它组件。
I/O控制器135可管理处理器120与(若干)***组件130、输入装置145或输出装置150之间的数据通信。I/O控制器135可管理未集成到***100中或与***100集成在一起的***装置。在一些情况中,I/O控制器135可表示到外部***组件的物理连接或端口。
输入145可表示将信息、信号或数据提供到***100或其组件的***100外部的装置或信号。这可包含用户接口或与其它装置或其它装置之间的接口。在一些情况中,输入145可为经由一或多个***组件130与***100对接的***装置或可由I/O控制器135来管理。
输出150可表示经配置以从***100或任何其组件接收输出的***100外部的装置或信号。输出150的实例可包含显示器、音响扬声器、打印装置或印刷电路板上的另一处理器等。在一些情况中,输出150可为经由一或多个***组件130与***100对接的***装置或可由I/O控制器135来管理。
***100的组件可由经设计以实行其功能的通用或专用电路构成。这可包含各种电路元件,例如导电线、晶体管、电容器、电感器、电阻器、放大器或经配置以实行本文中所描述的功能的其它有源或无源元件。***100可另外包含如本文中所论述的选择组件及映射组件。
存储器装置110可包含装置存储器控制器155及一或多个存储器裸片160。每一存储器裸片160可包含本地存储器控制器165(例如,本地存储器控制器165-a、本地存储器控制器165-b及/或本地存储器控制器165-N)及存储器阵列170(例如,存储器阵列170-a、存储器阵列170-b及/或存储器阵列170-N)。存储器阵列170可为存储器单元的集合(例如,栅格),其中每一存储器单元经配置以存储数字数据的至少一个位。参考图2更详细描述存储器阵列170及/或存储器单元的特征。每一存储器阵列可包含各自可具有对应物理地址的存储器单元。存储器单元可存储数据且可为了损耗均衡目的而在存储器单元当中周期性地传送数据。当在存储器阵列的存储器单元之间移动数据时,数据的逻辑地址可保持静态(固定)以支持通过存储器装置110(例如,通过其中的一或多个控制器)或通过外部存储器控制器105跟踪数据的位置。
存储器装置110可为存储器单元的二维(2D)阵列的实例或可为存储器单元的三维(3D)阵列的实例。例如,2D存储器装置可包含单个存储器裸片160。3D存储器装置可包含两个或更多个存储器裸片160(例如,存储器裸片160-a、存储器裸片160-b及/或任何数目个存储器裸片160-N)。在3D存储器装置中,多个存储器裸片160-N可彼此上下堆叠。在一些情况中,3D存储器装置中的存储器裸片160-N可被称为层叠、层级、层或裸片。3D存储器装置可包含任何数量的堆叠式存储器裸片160-N(例如,2高、3高、4高、5高、6高、7高、8高)。与单个2D存储器装置相比,这可增加可定位在衬底上的存储器单元的数目,这继而可降低生产成本或增加存储器阵列的性能或两者。在某个3D存储器装置中,不同层叠可共享至少一个共同存取线使得一些层叠可共享字线、数字线及/或板极线中的至少一者。
装置存储器控制器155可包含经配置以控制存储器装置110的操作的电路或组件。因而,装置存储器控制器155可包含使存储器装置110能够执行命令的硬件、固件及软件且可经配置以接收、发射或执行与存储器装置110相关的命令、数据或控制信息。装置存储器控制器155可经配置以与外部存储器控制器105、一或多个存储器裸片160或处理器120通信。在一些情况中,存储器装置110可从外部存储器控制器105接收数据及/或命令。例如,存储器装置110可接收指示存储器装置110希望代表***100的组件(例如,处理器120)存储特定数据的写入命令或指示存储器装置110希望将存储在存储器裸片160中的特定数据提供到***100的组件(例如,处理器120)的读取命令。在一些情况中,装置存储器控制器155可结合存储器裸片160的本地存储器控制器165控制本文中所描述的存储器装置110的操作。包含在装置存储器控制器155及/或本地存储器控制器165中的组件的实例可包含用于解调从外部存储器控制器105接收的信号的接收器、用于调制信号且将其发射到外部存储器控制器105的解码器、逻辑、解码器、放大器、滤波器等。
本地存储器控制器165(例如,存储器裸片160本地)可经配置以控制存储器裸片160的操作。而且,本地存储器控制器165可经配置以与装置存储器控制器155通信(例如,接收及发射数据及/或命令)。本地存储器控制器165可支持装置存储器控制器155以控制如本文中所描述的存储器装置110的操作。在一些情况中,存储器装置110不包含装置存储器控制器155,且本地存储器控制器165或外部存储器控制器105可执行本文中所描述的各种功能。因而,本地存储器控制器165可经配置以与装置存储器控制器155、与其它本地存储器控制器165或直接与外部存储器控制器105或处理器120通信。在一些实例中,一或多个存储器控制器—例如,装置存储器控制器155或本地存储器控制器165中的一或多者—可包含选择组件。选择组件可针对物理地址的每一位(或在一些情况中,针对物理地址的每一位)选择用于基于逻辑地址的一或多个位来确定物理地址的位的对应逻辑运算。逻辑运算可包括直通(非反相、透明)运算、反相运算、异或(XOR)运算、异或非(XNOR)运算、地址交换运算或如所属领域的技术人员可明白的另一适合逻辑运算。因此,逻辑地址可映射到(由映射函数映射到)可存储经请求数据的物理地址。
外部存储器控制器105可经配置以实现信息、数据及/或命令在***100的组件(例如,处理器120)与存储器装置110之间的通信。外部存储器控制器105可充当***100的组件与存储器装置110之间的联络使得***100的组件可无需知道存储器装置的操作的细节。***100的组件可将外部存储器控制器105满足的请求(例如,读取命令或写入命令)呈现到外部存储器控制器105。外部存储器控制器105可转换或转译在***100的组件与存储器装置110之间交换的通信。在一些情况中,外部存储器控制器105可包含生成共同(源)***时钟信号的***时钟。在一些情况中,外部存储器控制器105可包含生成共同(源)数据时钟信号的共同数据时钟。
在一些情况中,外部存储器控制器105或***100的其它组件或本文中所描述的其功能可由处理器120来实施。例如,外部存储器控制器105可为由处理器120或***100的其它组件实施的硬件、固件或软件或其某个组合。虽然将外部存储器控制器105描绘为在存储器装置110外部,但在一些情况中,外部存储器控制器105或本文中所描述的其功能可由存储器装置110来实施。例如,外部存储器控制器105可为由装置存储器控制器155或一或多个本地存储器控制器165实施的硬件、固件或软件或其某个组合。在一些情况中,外部存储器控制器105可跨处理器120及存储器装置110分布使得外部存储器控制器105的部分由处理器120来实施且其它部分由装置存储器控制器155或本地存储器控制器165来实施。同样地,在一些情况中,本文中赋予装置存储器控制器155或本地存储器控制器165的一或多个功能可在一些情况中由外部存储器控制器105(与处理器120分开或包含在处理器120中)来执行。
***100的组件可使用多个通道115与存储器装置110交换信息。在一些实例中,通道115可实现外部存储器控制器105与存储器装置110之间的通信。每一通道115可包含在与***100的组件相关联的端子之间的一或多个信号路径或传输媒体(例如,导体)。例如,通道115可包含第一端子,所述第一端子包含在外部存储器控制器105处的一或多个引脚或垫,及在存储器装置110处的一或多个引脚或垫。引脚可为***100的装置的导电输入或输出点的实例,且引脚可经配置以充当通道的部分。
在一些情况中,端子的引脚或垫可为通道115的信号路径的部分。额外信号路径可与***100的组件内的用于路由信号的通道的端子耦合。例如,存储器装置110可包含将信号从通道115的端子路由到存储器装置110的各种组件(例如,装置存储器控制器155、存储器裸片160、本地存储器控制器165、存储器阵列170)的信号路径(例如,存储器装置110或其组件内部(例如存储器裸片160内部)的信号路径)。
通道115(与相关联信号路径及端子)可专属于传达特定类型的信息。在一些情况中,通道115可为聚合通道且因此可包含多个个别通道。例如,数据通道190可为x4(例如,包含四个信号路径)、x8(例如,包含八个信号路径)、x16(包含十六个信号路径)等。
在一些情况中,通道115可包含一或多个命令及地址(CA)通道186。CA通道186可经配置以在外部存储器控制器105与存储器装置110之间传达命令(包含与命令相关联的控制信息(例如,地址信息))。例如,CA通道186可包含具有所要数据的地址的读取命令。在一些情况中,CA通道186可在上升时钟信号边缘及/或下降时钟信号边缘上注册。在一些情况中,CA通道186可包含八个或九个信号路径。在一些情况中,待存取(写入到存储器装置110或从存储器装置110读取)的数据的逻辑地址(逻辑地址位)可由存储器装置经由一或多个CA通道186接收。
在一些情况中,通道115可包含一或多个时钟信号(CK)通道188。CK通道188可经配置以在外部存储器控制器105与存储器装置110之间传达一或多个共同时钟信号。每一时钟信号可经配置以在高状态与低状态之间振荡且协调外部存储器控制器105及存储器装置110的动作。在一些情况中,时钟信号可为差分输出(例如,CK_t信号及CK_c信号)且可相应地配置CK通道188的信号路径。在一些情况中,时钟信号可为单端的。在一些情况中,时钟信号可为1.5GHz信号。CK通道188可包含任何数目个信号路径。在一些情况中,时钟信号CK(例如,CK_t信号及Ck_c信号)可提供存储器装置110的命令及寻址操作或存储器装置110的其它***范围操作的时序参考。因此,时钟信号CK可不同地被称为控制时钟信号CK、命令时钟信号CK或***时钟信号CK。***时钟信号CK可由可包含一或多个硬件组件(例如,振荡器、晶体、逻辑门、晶体管等)的***时钟来生成。
在一些情况中,通道115可包含一或多个数据(DQ)通道190。数据通道190可经配置以在外部存储器控制器105与存储器装置110之间传达数据及/或控制信息。例如,数据通道190可传达待写入到存储器装置110的信息(例如,双向)或从存储器装置110读取的信息。数据通道190可传达可使用各种不同调制方案(例如,NRZ、PAM4)调制的信号。
在一些情况中,通道115可包含可专用于其它用途的一或多个其它通道192。这些其它通道192可包含任何数目个信号路径。
通道115可使用多种不同架构将外部存储器控制器105与存储器装置110耦合。各种架构的实例可包含总线、点对点连接、交叉杆、高密度中介层(例如硅中介层)或形成在有机衬底中的通道或其某个组合。例如,在一些情况中,信号路径可至少部分包含高密度中介层,例如硅中介层或玻璃中介层。
经由通道115传达的信号可使用多种不同调制方案来调制。在一些情况中,二进制符号(或二进制级)调制方案可用于调制在外部存储器控制器105与存储器装置110之间传达的信号。二进制符号调制方案可为其中M等于2的M进制调制方案的实例。二进制符号调制方案的每一符号可经配置以表示数字数据的一个位(例如,符号可表示逻辑1或逻辑0)。二进制符号调制方案的实例包含但不限于不归零(NRZ)、单极编码、双极编码、曼彻斯特(Manchester)编码、具有两个符号的脉冲振幅调制(PAM)(例如,PAM2)等。
在一些情况中,多符号(或多级)调制方案可用于调制在外部存储器控制器105与存储器装置110之间传达的信号。多符号调制方案可为其中M大于或等于3的M进制调制方案的实例。多符号调制方案的每一符号可经配置以表示数字数据的一个以上位(例如,符号可表示逻辑00、逻辑01、逻辑10或逻辑11)。多符号调制方案的实例包含但不限于PAM4、PAM8等、正交振幅调制(QAM)、正交相移键控(QPSK)等。多符号信号或PAM4信号可为使用包含至少三个级以对信息的一个以上位进行编码的调制方案调制的信号。多符号调制方案及符号可替代地被称为非二进制、多位或较高阶调制方案及符号。
在一些情况中,存储器装置110可实施地址混淆以按不可预测方式在用于识别数据的逻辑地址与用于存储数据的物理地址之间映射,所述地址混淆可结合损耗均衡技术操作且可防止不良行动者将经逆向工程数据移动模式应用到不同存储器装置,甚至采用相同损耗均衡函数的存储器装置。例如,存储器装置110可包含至少一个选择组件及映射组件(例如,在一些情况中,可包含对应于多个裸片160或阵列170的多个选择组件及/或多个映射组件)。选择组件可与接口耦合且可选择映射函数。映射函数可将数据的逻辑地址映射到用于将数据存储在存储器阵列内的一或多个存储器单元的物理地址。例如,选择组件可针对物理地址的每一位选择用于基于逻辑地址的一或多个位来确定物理地址的位的对应逻辑运算。逻辑地址的个别位中的每一者可通过一或多个映射子组件路由以确定物理地址。可按任何数目种方式(包含,例如,基于由数字生成器(例如,随机数生成器)生成的数字(例如,随机数))选择映射函数(例如,由映射子组件实施的逻辑运算)。在一些情况中,可基于与存储器装置110相关联的一或多个标识符(例如,裸片160或阵列170或存储器装置的其它方面的标识符)(例如,在制造期间或制造后)选择或配置映射函数。
图2说明根据本公开的各种实例的存储器裸片200的实例。存储器裸片200可为参考图1所描述的存储器裸片160的实例。在一些情况中,存储器裸片200可被称为存储器芯片、存储器装置或电子存储器设备。存储器裸片200可包含可编程以存储不同逻辑状态的一或多个存储器单元205。每一存储器单元205可为可编程以存储两种或更多种状态。例如,存储器单元205可经配置以一次存储数字逻辑的一个位(例如,逻辑0及逻辑1)。在一些情况中,单个存储器单元205(例如,多级存储器单元)可经配置以一次存储数字逻辑的一个以上位(例如,逻辑00、逻辑01、逻辑10或逻辑11)。在一些情况中,数据可经存储在存储器单元中且数据可具有与其相关联的逻辑地址。逻辑地址可针对数据固定(静态)且可经映射到其中存储数据的存储器单元的物理地址。在一些情况中,在最初已根据如本文中所描述的地址混淆技术确定之后,数据的物理地址可根据损耗均衡函数而随时间改变(即,数据可从一个存储器单元移动到另一存储器单元)。可通过如本文中所描述的映射函数提供逻辑地址与存储器单元的物理地址之间的映射。
存储器单元205可存储表示电容器中的可编程状态的电荷。DRAM架构可包含电容器,所述电容器包含电介质材料以存储表示可编程状态的电荷。在其它存储器架构中,其它存储装置及组件是可行的。例如,可采用非线性电介质材料。
可通过激活或选择存取线(例如字线210及/或数字线215)来对存储器单元205执行例如读取及写入的操作。在一些情况中,数字线215也可被称为位线。在不失理解或操作的情况下,对存取线、字线及数位线或其它类似物的引用是可互换的。激活或选择字线210或数字线215可包含将电压施加到相应线。
存储器裸片200可包含以栅格状图案布置的存取线(例如,字线210及数字线215)。存储器单元205可经定位在字线210及数位线215的相交点处。通过偏置字线210及数字线215(例如,将电压施加到字线210或数位线215),可在其相交点处存取单个存储器单元205。
可通过行解码器220或列解码器225控制存取存储器单元205。例如,行解码器220可从本地存储器控制器260接收行地址且基于经接收行地址来激活字线210。列解码器225可从本地存储器控制器260接收列地址且可基于经接收列地址来激活数字线215。例如,存储器裸片200可包含标记为WL_1到WL_M的多个字线210及标记为DL_1到DL_N的多个数字线215,其中M及N取决于存储器阵列的大小。因此,通过激活字线210及数字线215(例如,WL_1及DL_3),可在其相交点处存取存储器单元205。在二维或三维配置中,字线210及数位线215的相交点可被称为存储器单元205的地址,且可通过包括物理地址的一组位(其可被称为物理地址位)来识别。
存储器单元205可包含逻辑存储组件(例如电容器230)及开关组件235。电容器230可为电介质电容器或铁电电容器的实例。电容器230的第一节点可与开关组件235耦合且电容器230的第二节点可与电压源240耦合。在一些情况中,电压源240可为单元板极参考电压(例如Val)或可为接地(例如Vss)。在一些情况中,电压源240可为与板极线驱动器耦合的板极线的实例。开关组件235可为晶体管或选择性地建立或取消建立两个组件之间的电子通信的任何其它类型的开关装置的实例。
选择或取消选择存储器单元205可通过激活或撤销激活开关组件235来完成。电容器230可使用开关组件235与数字线215电子通信。例如,当撤销激活开关组件235时,电容器230可与数字线215隔离,且当激活开关组件235时,电容器230可与数位线215耦合。在一些情况中,开关组件235是晶体管且可通过将电压施加到晶体管栅极来控制其操作,其中晶体管栅极与晶体管源极之间的电压差可大于或小于晶体管的阈值电压。在一些情况中,开关组件235可为p型晶体管或n型晶体管。字线210可与开关组件235的栅极电子通信且可基于施加到字线210的电压来激活/撤销激活开关组件235。
字线210可为与存储器单元205电子通信的用于对存储器单元205执行存取操作的导电线。在一些架构中,字线210可与存储器单元205的开关组件235的栅极电子通信且可经配置以控制存储器单元的开关组件235。在一些架构中,字线210可与存储器单元205的电容器的节点电子通信且存储器单元205可不包含开关组件。
数字线215可为将存储器单元205与感测组件245连接的导电线。在一些架构中,存储器单元205可在存取操作的部分期间与数字线215选择性地耦合。例如,字线210及存储器单元205的开关组件235可经配置以将存储器单元205的电容器230与数字线215耦合及/或隔离。在一些架构中,存储器单元205可与数字线215电子通信(例如,恒定)。
本地存储器控制器260可通过各种组件(例如,行解码器220、列解码器225及感测组件245)控制存储器单元205的操作。本地存储器控制器260可为参考图1所描述的本地存储器控制器165的实例。在一些情况中,行解码器220、列解码器225及感测组件245中的一或多者可与本地存储器控制器260共置。本地存储器控制器260可经配置以从外部存储器控制器105(或参考图1所描述的装置存储器控制器155)接收命令及/或数据,将命令及/或数据转译成可由存储器裸片200使用的信息,对存储器裸片200执行一或多个操作且响应于执行一或多个操作而将数据从存储器裸片200传达到外部存储器控制器105(或装置存储器控制器155)。本地存储器控制器260可生成行地址信号及列地址信号以激活目标字线210及目标数字线215。在一些情况中,本地存储器控制器260可经由接口从映射组件接收包含物理地址位的物理地址。可在本文中详细论述映射组件。在一些情况中,本地存储器控制器260可从装置存储器控制器接收物理地址。装置存储器控件可经由接口且从映射组件接收物理地址。
本地存储器控制器260还可生成且控制在存储器裸片200的操作期间使用的各种电压或电流。一般来说,本文中所论述的经施加电压或电流的振幅、形状或持续时间可经调整或变动且可针对在操作存储器裸片200中所论述的各种操作而不同。
在一些情况中,本地存储器控制器260可经配置以对存储器裸片200的一或多个存储器单元205执行写入操作(例如,编程操作)。在写入操作期间,存储器裸片200的存储器单元205可经编程以存储所要逻辑状态。在一些情况中,可在单个写入操作期间对多个存储器单元205进行编程。本地存储器控制器260可识别对其执行写入操作的目标存储器单元205。本地存储器控制器260可识别与目标存储器单元205(例如,目标存储器单元205的地址)电子通信的目标字线210及目标数字线215。本地存储器控制器260可激活目标字线210及目标数字线215(例如,将电压施加到字线210或数字线215)以存取目标存储器单元205。本地存储器控制器260可在写入操作期间将特定信号(例如,电压)施加到数字线215以将特定状态(例如,电荷)存储在存储器单元205的电容器230中,所述特定状态(例如,电荷)可指示所要逻辑状态。
在一些情况中,本地存储器控制器260可经配置以对存储器裸片200的一或多个存储器单元205执行读取操作(例如,感测操作)。在读取操作期间,可确定存储在存储器裸片200的存储器单元205中的逻辑状态。在一些情况中,可在单个读取操作期间感测多个存储器单元205。本地存储器控制器260可识别对其执行读取操作的目标存储器单元205。本地存储器控制器260可识别与目标存储器单元205(例如,目标存储器单元205的地址)电子通信的目标字线210及目标数字线215。本地存储器控制器260可激活目标字线210及目标数字线215(例如,将电压施加到字线210或数字线215)以存取目标存储器单元205。目标存储器单元205可响应于偏置存取线而将信号传送到感测组件245。感测组件245可放大信号。本地存储器控制器260可触发感测组件245(例如,锁存感测组件)且由此比较从存储器单元205接收的信号与参考信号250。基于那个比较,感测组件245可确定存储在存储器单元205上的逻辑状态。本地存储器控制器260可将存储在存储器单元205上的逻辑状态传达到外部存储器控制器105(或装置存储器控制器155)作为读取操作的部分。
在一些存储器架构中,存取存储器单元205可使存储在存储器单元205中的逻辑状态降级或损毁。例如,在DRAM架构中执行的读取操作可使目标存储器单元的电容器部分或完全放电。本地存储器控制器260可执行重写操作或刷新操作以使存储器单元返回到其原始逻辑状态。本地存储器控制器260可在读取操作之后将逻辑状态重写到目标存储器单元。在一些情况中,可将重写操作视为读取操作的部分。另外,激活单个存取线(例如字线210)可干扰存储在与那个存取线电子通信的一些存储器单元中的状态。因此,可对可尚未被存取的一或多个存储器单元执行重写操作或刷新操作。
图3说明用于存储器的地址混淆的***300的实例。在一些实例中,***300可包含上文所描述的一或多个组件。例如,***300可包含:存储器装置310,其可为如参考图1所描述的存储器装置110的实例;存储器裸片360,其可各自为如参考图1所描述的存储器裸片160的实例;存储器阵列365,其可各自为如参考图1所描述的存储器阵列170的实例。***300可包含选择组件380、映射组件390、一或多个映射子组件390及接口395。在一些实例中,接口395可经配置以接收用于存取存储在存储器阵列365的存储器单元中的数据的逻辑地址。在接口395处接收的逻辑地址可由主机装置(例如,外部存储器控制器105或处理器120)发出。接口395可与选择组件380耦合。
在一些实例中,存储器装置310可包含一或多个存储器裸片360,所述一或多个存储器裸片360可包含一或多个存储器阵列365。存储器阵列365可包含可各自存储一或多种逻辑状态(例如,高状态或低状态或其它非二进制状态)的存储器单元。在一些实例中,高状态可在本文中被称为“一”且低状态可在本文中被称为“零”。存储器阵列365的存储器单元中的每一者可具有物理地址。存储器单元的物理地址可指示或反映存储器裸片上或存储器阵列365内可定位存储器单元的物理位置,或可以其它方式识别存储器单元。
图3的***300可包含可与接口395及映射组件390耦合的选择组件380。选择组件380可经配置以从由映射组件390支持的一组映射函数选择映射函数。例如,选择组件380可经配置以从一组受支持逻辑运算选择用于每一映射子组件390的逻辑运算。在一些情况中,选择组件380可彼此独立地选择用于一些或全部映射子组件390的逻辑运算。映射函数(例如,选定逻辑运算的集合)可将数据的逻辑地址映射到将数据存储在存储器阵列365内的存储器单元的物理地址。在一些情况中,单个映射组件390可与多个存储器裸片360或多个存储器阵列365互动(将一或多个映射函数提供给多个存储器裸片360或多个存储器阵列365)。在一些情况中,映射组件390可专用于单个存储器裸片360或存储器阵列365(例如,包含在单个存储器裸片360或存储器阵列365中或以其它方式与单个存储器裸片360或存储器阵列365耦合)。在图3的实例中,映射组件390可包含映射子组件390-a、390-b及390-c且映射组件390可与可经配置以接收逻辑地址的接口耦合。
在一些情况中,选择组件380可随时间变动由映射组件390实施的映射函数。例如,选择组件380可根据时间表(周期性或非周期性)、响应于事件触发(例如,启动或重启事件、来自主机装置的命令、达到阈值的存取操作的计数、行锤事件或其它恶意攻击的检测等)而变动由映射组件390实施的映射函数。在一些情况中,选择组件380可基于输入(例如从存储器装置310的另一方面(例如,随机数生成器)或从主机装置接收的数字(例如,随机数))选择映射函数。
在一些情况中,选择组件380可基于存储器装置310或其它实体(例如,存储器裸片360或存储器阵列365)的唯一标识符来选择映射函数。例如,选择组件380可从模式寄存器读取一些或全部唯一标识符。在一些情况中,由映射组件390实施的映射函数可在制造期间通过设置修整参数或经由熔丝加载程序而固定(硬接线),且选择组件380可经配置以存储或读取固定映射函数的指示符且相应地配置映射组件390。
图4A及4B说明根据本公开的方面的各自支持存储器的地址混淆的***400及450的实例。在一些实例中,图4A及4B可包含上文所描述的一或多个组件。例如,图4A及4B可包含如参考图3所描述的映射组件及映射子组件。
如先前所论述,映射函数可由选择组件来选择且可由映射组件来实施。选定映射函数可包含对逻辑地址的每一位(逻辑地址位)执行以确定对应物理地址(对应物理地址位)的一组选定逻辑运算或函数。受支持且可选择逻辑运算可包含反相、非反相(直通)、OR、XOR、XNOR、AND、NAND等。映射函数可包含针对逻辑地址位中的每一者的逻辑运算。例如,在三位逻辑地址的情况中,映射函数可包含一组逻辑运算使得位零及位一两者将经反相,且位二将是未经反相。在此实例中,如果逻辑地址是110,那么这个映射函数可提供物理地址000。在一些情况中,一或多个选定逻辑运算可为基于多个逻辑地址位(例如,两个逻辑地址位的XOR)或来自多个逻辑地址的位(例如,来自与两组数据相关联的逻辑地址的一或多个位的交换,其可被称为地址交换)。逻辑运算可针对逻辑地址位的每一位或每一经确定物理地址位独立地选择且还可随存储器裸片、存储器阵列等以及如本文中所描述那样随时间变动。应理解,逻辑地址及物理地址各自可包含任何数目个位及潜在地非常大数目个位,但为了清楚说明起见,本文中的实例可使用小数目个位来解释。
如图4A中所说明,逻辑地址可包含逻辑地址位。在一种情况中,逻辑地址可包含三个逻辑地址位,例如110,其中零位是1,一位是1,且二位是0。可将逻辑地址位输入到映射组件405中,所述映射组件405可包含映射子组件0 415-a、映射子组件1 415-b及映射子组件2415-c。映射组件可输出可包含三个物理地址位(例如物理地址位零、物理地址位一及物理地址位二)的物理地址。
如图4A中所说明,选择线410可选择用于映射组件405的映射函数,其可包括选择由三个映射子组件415-a、415-b及415-c中的每一者应用的逻辑函数。基于针对映射子组件415选择的逻辑运算,映射组件405可在适当时将一或多个逻辑地址位路由到映射子组件。例如,如果用于映射子组件415的逻辑运算是反相或非反相运算,那么映射组件405可将仅一个逻辑地址位路由到映射子组件415,但如果用于映射子组件415的逻辑运算是XOR、XNOR或其它组合逻辑运算,那么映射组件405可将两个或更多个逻辑地址位路由到映射子组件415。
在一些实例中,选择线可与选择组件耦合,所述选择组件可例如基于由选择组件接收的数字或基于存储器裸片的唯一标识符来选择映射函数。例如,唯一标识符可具有一系列数字且在一个实例中选择组件可使用存储器裸片ID的最后三个数字。例如,如果最后三个数字是奇数、奇数、偶数,那么选择线可选择第一映射函数,但如果存储器裸片的最后三个数字是奇数、偶数、偶数,那么选择线可选择第二映射函数。
在图4B的实例中,可将逻辑地址位提供到映射组件405。映射组件405可输出物理地址位。物理地址位可指定存储器单元(例如,410-a、410b、410c等到410-N)的物理地址。如先前关于图4A所论述,物理地址011或三可具有三个物理地址位,零位是1,一位是1且二位是0。如图4B中所说明,可存在一或多个暂存单元,其中暂存单元可指其逻辑地址不可经由映射函数寻址但可为了损耗均衡目的而将数据传送到其的存储器单元。因此,如图4中所展示,物理地址空间可大于逻辑地址空间,因为物理地址空间可涵盖比由逻辑地址空间所涵盖的可能逻辑地址的数目多至少一个的可能物理地址(及因此在至少一些情况中,多至少一个额外有效位)。
图5说明根据本公开的方面的支持存储器的地址混淆的存储器阵列500的实例。在一些实例中,图5的论述可包含上文所描述的一或多个组件的论述。例如,图5的论述可包含如上文所描述的物理地址、逻辑地址及存储器阵列的存储器单元的论述。
在图5的实例中,存储器阵列500是存储器单元阵列。个别存储器单元510-a、510-b、510-c、…、510-N可各自包含经存储数据。图5说明其中映射函数包括全部非反相或直通逻辑运算,且因此每一物理地址位等于对应逻辑地址位(具有相等有效性)的实例。可使用四个物理地址位表达物理地址,因为暂存单元是可以二进制数字表达为1000的第八存储器单元。
例如,存储器单元510-a可具有物理地址0000且存储具有逻辑地址000的数据,存储器单元510-b可具有物理地址0001且存储具有逻辑地址001的数据,存储器单元510-c可具有物理地址0010且存储具有逻辑地址010的数据等。即,数据可经存储在具有其三个最低有效位等于数据的逻辑地址的物理地址的存储器单元中。
在一些情况中,包括针对每一逻辑地址位的非反相或直通逻辑运算的映射函数(例如图5中所说明的映射函数)可支持存储器装置的测试或调试。在一些情况中,安全密钥—例如,到存储器装置的命令序列或其它专用输入—可引起选择组件选择图5中所说明的映射函数(例如,配置全部操作性映射子组件以实施非反相或直通逻辑运算)。
图6说明根据本公开的方面的存储器的地址混淆及损耗均衡的表600的实例。在一些实例中,图6的论述可包含上文所描述的一或多个组件的论述。例如,图6的论述可包含如上文所描述的物理地址、逻辑地址及存储器阵列的存储器单元的论述。
在一些实例中,可将数据周期性地移动到不同物理位置(具有不同物理地址的不同存储器单元)以提供存储器单元的损耗均衡,因为对存储器单元的重复存取可过早地引起那个特定存储器单元中的失效。损耗均衡可在存储器阵列的存储器单元之间分布应力。通过随时间将数据移动到不同存储器单元,可增加存储器单元的寿命及存储器单元存储数据的能力。
图6中所展示的表600说明在使用如图5中所说明的映射函数之后实例损耗均衡函数的操作。因此,“初始映射”栏展示如图5中那样映射的数据,其中存储器单元0到存储器单元7中的每一者存储具有等于存储器单元的物理地址的三个最低有效位的逻辑地址的数据。存储器单元8可用作暂存存储器单元且最初可为空的,因为其物理地址可超出逻辑地址域。
在图6的表600中将数据随时间根据实例损耗均衡算法从存储器单元移动到存储器单元指示为“1次移动之后”、“2次移动之后”、“3次移动之后”等。这指示分别第一次移动、第二次移动及第三次移动数据。因此,在每次移动之后,数据可具有不同物理地址,因为其已被移动或传送到不同存储器单元。
在作为损耗均衡函数的部分的一次移动之后且如“1次移动之后”栏中所指示,现将具有逻辑地址111(7)的数据存储在具有物理地址1000(8)的暂存存储器单元中,且具有物理地址0111(7)的存储器单元是空的。因此,具有逻辑地址111(7)的数据的物理地址在第一次移动期间增量,且在1次移动之后为空的存储器单元(存储器单元7)的物理地址比最初为空的存储器单元(存储器单元8)的物理地址低一。
在作为损耗均衡函数的部分的两次移动之后且如“2次移动之后”栏中所指示,现将具有逻辑地址110(6)的数据存储在具有物理地址0111(7)的存储器单元中,且具有物理地址0110(6)的存储器单元是空的。因此,具有逻辑地址110(6)的数据的物理地址在第二次移动期间增量,且在2次移动之后为空的存储器单元(存储器单元6)的物理地址比在1次移动之后为空的存储器单元(存储器单元7)的物理地址低一。
如表600中所展示,这个耗均衡移动模式可继续达任何持续时间及任何数目次移动。使用每次移动,(i)存储在比空存储器单元的物理地址低的物理地址处的数据被移动到空存储器单元中且(ii)先前存储经移动数据的存储器单元变空。在所述存储器单元中的一者变得有缺陷(失效)的事件中—例如,由于行锤攻击或由于某个其它原因—可对损耗均衡模式进行逆向工程。例如,针对存储到有缺陷存储器单元的数据的存取操作(例如,读取或写入)将失效,且失效的数据的逻辑地址将基于损耗均衡移动而随时间改变。
在表600的实例中,假设存储器单元3(物理地址011)已变得有缺陷。在初始周期期间(在第五次移动发生之前),对于具有逻辑地址011(3)的数据的存取尝试将失败。随后(在第六次移动发生之后),对于具有逻辑地址010(2)的数据的存取尝试将失败。最终(在某个数目次额外移动之后),对于具有逻辑地址001(1)的数据的存取尝试将失败。因此,如由数据的逻辑地址识别的失效数据的模式可随时间变得明显。在表600的实例中,如由数据的逻辑地址识别的失效数据的模式(以十进制项表示)将是3、2、1、0、7、6、5、4等。数据在存储器单元当中的物理移动的模式—即,存储数据的物理地址的改变的模式—可从失效数据的此模式推导,如由数据的逻辑地址所识别。
此外,如果始终将相同损耗均衡映射函数应用到具有给定标记或模型的全部存储器装置内的全部存储器阵列(例如,经硬接线或以其它方式静态地经配置),那么不良行动者可能够使用如从一个存储器装置或存储器阵列推导的损耗均衡模式的知识以便攻击其它存储器装置或存储器阵列(例如,以对此类其它存储器装置或存储器阵列执行行锤攻击)。
图7A及7B说明根据本公开的方面的支持存储器的地址混淆的设备的实例及展示如根据本公开的方面实施的映射函数的表。在一些实例中,图7A及图7B的论述可包含上文所描述的一或多个组件的论述。例如,图7A及图7B的论可包含如上文所描述的物理地址、逻辑地址及存储器阵列的存储器单元的论述。
在一些实例中且如图7A中所说明,映射子组件700可经配置以基于逻辑地址的位来确定物理地址的位。如图4A中所论述,映射组件可包含映射子组件,所述映射子组件各自可(例如,独立地)经配置以基于逻辑地址的一或多个位(或多个逻辑地址的一或多个位)来确定物理地址的对应位。
映射子组件700可经配置以接收逻辑地址位作为输入且提供物理地址位作为输出,且可经配置以选择性地实施反相逻辑运算或非反相(直通)逻辑函数。映射子组件700的上路径中的三个反相器逻辑装置可与映射子组件的下路径中的两个反相器逻辑装置延迟匹配。上路径的输出及下路径的输出可与多路复用器或其它适合选择电路的相应输入耦合,且映射子组件700的选择线可选择两个路径中的一者以路由到输出,所述输出可经反相以产生对应于映射子组件700的经确定物理位。因此,通过选择上路径或下路径,选择线可控制物理地址位是否可经反相(例如,逻辑地址位输入的相反值)或未经反相(例如,逻辑地址位输入的相同值)。在这个实例中,如果选择线选择上路径,那么由于从逻辑地址位到物理地址位的信号路径中的所得四个反相器,输出物理地址位可与输入逻辑地址位的值相同。如果选择线选择下路径,那么由于从逻辑地址位到物理地址位的信号路径中的所得三个反相器,输出物理地址位可经反相且因此与输入逻辑地址位的值相反。
在一些实例中,映射函数的逻辑运算通常可由映射子组件700来实施。逻辑运算可为对单个逻辑地址位执行函数以产生物理地址位的逻辑元件。例如,逻辑运算可为反相运算符。通过使用反相逻辑运算,映射子组件可将相关位改变到相反值。例如,反相逻辑运算可使一位反相,因此110可变为100,或反相逻辑运算可使零位反相,因此110可变为010等。所属领域的一般技术人员将明白,映射子组件700可支持任何数目个逻辑运算—例如,XOR、XNOR、OR、NOR、AND、NAND等—经由适合逻辑门及路由(交换)电路的组合),且映射子组件700可经配置以按可选择方式支持数个此类逻辑运算以便使用一或多个逻辑运算的任何组合基于任何数目个逻辑地址位来确定物理地址位。
例如,在一些情况中,可由映射子组件实施的逻辑运算可对两个或更多个逻辑地址位进行运算以产生单个物理地址位。例如,逻辑运算可为OR运算符。通过使用OR逻辑运算,可指定所述逻辑地址位中的两者以执行逻辑运算。在一种情况中,可对逻辑地址位的零位及一位执行OR逻辑运算以产生物理地址位的零位,其中物理地址位的一位及二位保持相同(例如,一位及二位未经反相)。给定逻辑地址011且使用OR逻辑运算,物理地址位的零位可为1,因为0及1的OR函数是1,因此使物理地址位的零位为1且物理地址变为111。
作为另一实例,可由映射子组件实施的逻辑运算可对三个逻辑地址位进行运算以产生单个物理地址位。例如,逻辑元件可对三个逻辑地址位执行函数以产生单个物理地址位。例如,物理地址的一位可为如下函数:针对逻辑地址010,逻辑地址位的一位与零位进行XOR运算且与二位进行xNOR运算。物理地址可变为000,因为逻辑地址一位是1,其与为0的逻辑地址零位进行XOR运算且产生1,将所述1与为0的逻辑地址二位进行XNOR运算,这产生0。因此,使用逻辑地址010,为1的一位变为0,从而使物理地址为000。
在一些实例中且如图7B中所说明,表750说明逻辑地址的三个二进制位到存储器单元的对应物理地址的映射。例如,值0可由三个二进制位000表示。此外,个别位可被称为零位、一位及二位。例如,使用二进制值110(6),二位是1,一位是1且零位是0。在另一实例中,011或二进制值3,二位是0,一位是1且零位是1。
在图7B中,值1可由三个二进制位001表示,且值2可由三个二进制位010表示等。如图7B中所说明,零位可始终未经反相,逻辑地址中的每一者的一位可始终经反相,且二位可始终未经反相。例如,在一位经反相之后,值0或三个二进制位000变为010或值2。在一位经反相之后,值1或三个二进制位001变为011或值3。在一位经反相之后,值2或三个二进制位010变为000或值0。另外,可使用如图7A中所说明的三个映射子组件产生图7B中的表的值,其中用于物理地址位的位0的映射子组件可经配置以直通逻辑地址的位0,用于物理地址位的位1的映射子组件可经配置以使逻辑地址的位1反相,且用于物理地址位的位2的映射子组件可经配置以直通逻辑地址的位2。
图8A及8B说明根据本公开的方面的与支持存储器的地址混淆的存储器阵列相关的映射组件800及表850的实例。在一些实例中,映射组件800及表850的论述可包含上文所描述的一或多个组件的论述。例如,图8的论述可包含如上文所描述的物理地址、逻辑地址及存储器阵列的存储器单元的论述。
在图8A的实例中,映射组件800包含三个映射子组件:映射子组件0 800-a、映射子组件1 800-b及映射子组件2 800-c。与图4A类似,选择线810可选择由三个映射子组件中的每一者实施的逻辑运算。在一个实例中,选择线810可配置映射子组件0 800-a以通过直通逻辑地址位0来确定物理地址位0,配置映射子组件1 800-b以通过使逻辑地址位1反相来确定物理地址位1,且配置映射子组件2 800-c以通过直通逻辑地址位2来确定物理地址位2。
图8B的表850说明数据到存储器单元的所得映射。例如,可将具有逻辑地址010的数据映射到具有物理地址000的存储器单元,且可将具有逻辑地址010的数据映射到具有物理地址000的存储器单元。如关于映射组件800所论述,使物理地址的一位反相。逻辑地址是010,因此零位是0,一位是1且二位是0。映射组件800使一位反相,因此输出物理地址000。在另一实例中,具有逻辑地址110的数据可映射到具有物理地址100的存储器单元,因为物理地址的一位经反相等。
图9说明根据本公开的方面的存储器的地址混淆及损耗均衡的表900的实例。在一些实例中,图9的论述可包含上文所描述的一或多个组件的论述。例如,图9的论述可包含如上文所描述的物理地址、逻辑地址及存储器阵列的存储器单元的论述。
图9中所展示的表说明如先前在图6的表600中说明的实例损耗均衡函数的操作,但在根据不同映射算法的初始地址混淆之后。如表900中所说明,可根据映射函数执行初始映射,其中分别基于逻辑地址的位0及位2的非反相(直通)来确定初始物理地址的位0及位2,而基于与逻辑地址的位1进行XOR运算且与逻辑地址的位2进行XNOR运算的逻辑地址的位0来确定初始逻辑地址的位1。
因此,表900中的“初始映射”栏与表600中的“初始映射”栏不同之处在于具有逻辑地址010(2)的数据经映射到具有物理地址000(0)的存储器单元,具有逻辑地址000(0)的数据经映射到具有物理地址010(2)的存储器单元,具有逻辑地址111(7)的数据经映射到具有物理地址101(5)的存储器单元,且具有逻辑地址101(5)的数据经映射到具有物理地址111(7)的存储器单元。存储器单元8再次用作暂存存储器单元且最初可为空的,因为其物理地址1000可超出逻辑地址域。
数据随时间从存储器单元到存储器单元的移动是根据先前参考图6的表600所描述的相同实例损耗均衡算法。又如在表600的实例中,假设在表900的实例中,存储器单元3(物理地址011)已变得有缺陷。
然而,不同于在表600的实例中,如由数据的逻辑地址识别的失效数据的模式(以十进制项表示)将是3、0、1、2、5、6、7、4…(而非表600中的3、2、1、0、7、6、5、4…)。因此,由于针对表900中的初始映射选择的不同映射算法,“失效模式”将与表600中不同。当代替地在存储器装置中实施表900中利用的映射函数时,从基于在表600中利用的映射函数对损耗均衡移动模式逆向工程学习的信息(例如,针对行锤攻击)将不可用,因为即使移动模式相同,由于不同映射函数及因此不同初始映射,数据的逻辑地址与存储所述数据的存储器单元的物理地址之间的最终关系仍是不同的。
如本文中所描述,针对存储器装置实施的映射函数可在每逻辑地址位基础上基于一组可选择每位逻辑运算配置及变动,得可支持极大数目个可能映射函数(例如,针对具有N个位的逻辑地址,其中可针对每一位选择M个逻辑运算中的任一者,可支持MN个可能映射函数)。例如,假设二十个位逻辑地址,对于可用于确定每一物理地址位的逻辑运算具有四个选择,这可产生超过万亿个可能配置。此外,由于映射函数可动态地配置(可选择、可变动)及/或可跨装置、裸片、阵列、存储体、图块或其它存储器实体变动,映射函数的模式可跨存储器实体或随时间变动,因此基于一个存储器实体(例如,由不良行动者)学习的信息在随后时间或针对另一存储器实体可为不可用的。此外,映射函数的可变性质可首先增加不良行动者学习损耗均衡移动模式的困难或降低动机。
如本文中所描述,存储器单元的物理地址位可根据每一位独有的映射函数来确定且映射函数可选自任何数目个函数或算法,且如包含任何数目或种类的逻辑运算,因此导致大数目个不同配置。
在一些情况中,可通过使用熔丝或反熔丝而以制造级进行这些映射函数的选择。
在一些情况中,映射函数选择可通过随机化存储器装置上的电路来随机选取映射函数选择。例如,选择组件可基于由数字生成器或随机数生成器或随机化电路选取或生成的数字来选择映射函数。例如,数字生成器可选择奇数的数字,因此映射函数可仅使一位反相以产生物理地址的零位且一位及二位未经反相并直通到物理地址的一位及二位。在另一实例中,数字生成器可选择以奇数、奇数、偶数结束的数字,因此映射函数可为对零位及一位进行XOR运算且不使二位反相等。
在一些实例中,从由存储器装置支持的所述一组映射函数选择映射函数可至少部分基于时间表或触发事件。触发事件可为例如启动、重启、超过预定数目次存取、检测行锤事件等的事件。
在一些实例中,选择组件可基于唯一存储器裸片标识符来选择映射函数。例如,存储器裸片标识符可具有多个数字且如果最后三个数字是偶数、偶数、偶数,那么选定映射函数可与一位及二位进行XNOR运算以产生物理地址的零位且可为直通零位及一位到物理地址的零位及一位。
映射函数的选择可基于任何数目个元素。在又一实例中,可使用线性反馈移位寄存器电路执行随机化。在又一实例中,可使用多个信号的改变交叉(例如异步振荡器驱动计数器,使得可由同步信号捕获状态)实现随机化。在又一实例中且在易失性存储器的情况中,选择可在每次装置通电时改变。
在一些实例中,制造商可对存储器装置进行测试及调试且在一些情况中,制造商可采用直接存储器寻址。在一些实例中,制造商可具有安全密钥且可具有至少部分基于接收安全密钥来选择第二映射函数的能力。安全密钥可容许制造商实现直接存储器寻址(例如,第二映射函数)。当使用直接存储器寻址时,制造商可更改选定映射函数使得全部存储器单元经反相,因此容许制造商执行相关测试。可在将存储器装置装运到客户之前停用这种模式以使其不可由不良行动者存取。
在一些实例中,由映射组件或映射子组件支持的所述一组逻辑运算可包含反相运算、非反相运算、XOR运算、XNOR运算、直通运算或地址交换运算,其中的每一者可单独地选择。地址交换函数可容许地址有效性的顺序随裸片唯一地独立。图9中的表950的值可使用映射子组件根据如关于图3到8所论述的映射函数来产生,且经配置以实现适当逻辑运算。
图10说明根据本公开的方面的支持存储器的地址混淆的存储器装置1005的框图。在一些实例中,存储器装置1005可实施如本文中所公开的存储器***的方面。存储器装置1005可与如上文所描述的存储器装置类似。存储器装置1005可包含选择组件1010、接收组件1015、确定组件1020、存取组件1025及路由组件1030。这些组件中的每一者可彼此(例如,经由一或多个总线)直接或间接通信。
选择组件1010可引起存储器装置从由存储器装置支持的一组映射函数选择映射函数。每一映射函数可将在存储器装置处接收的逻辑地址映射到存储器装置的存储器阵列内的物理地址。
接收组件1015可引起存储器装置接收包含存储在存储器阵列中的数据的逻辑地址的存取命令。
确定组件1020可引起存储器装置基于逻辑地址及选定映射函数来确定存储器阵列内的物理地址。
存取组件1025可引起存储器装置基于物理地址来存取存储在存储器阵列中的数据。
图11说明根据本公开的方面的支持存储器的地址混淆的流程图。方法1100的操作可由如本文中所描述的控制器或其组件来实施。例如,方法1100的操作可由如上文所描述的控制器及存储器装置来执行。在一些实例中,控制器可执行一组指令以控制存储器装置的功能元件以执行下文所描述的功能。另外或替代地,控制器可使用专用硬件执行下文所描述的功能的方面。
在1105处,控制器可从由存储器装置支持的一组映射函数选择映射函数,所述一组中的每一映射函数用于将在存储器装置处接收的逻辑地址映射到存储器装置的存储器阵列内的物理地址。操作1105可根据本文中所描述的方法来执行。在一些实例中,1105的操作的方面可由如参考图10所描述的选择组件来执行。
在1110处,控制器可接收包含存储在存储器阵列中的数据的逻辑地址的存取命令。110的操作可根据本文中所描述的方法来执行。在一些实例中,操作1110的方面可由如参考图10所描述的接收组件来执行。
在1115处,控制器可基于逻辑地址及选定映射函数来确定存储器阵列内的物理地址。1115的操作可根据本文中所描述的方法来执行。在一些实例中,操作1115的方面可由如参考图10所描述的确定组件来执行。
在1120处,控制器可基于物理地址来存取存储在存储器阵列中的数据。操作1120可根据本文中所描述的方法来执行。在一些实例中,操作1120的方面可由如参考图10所描述的存取组件来执行。
在一些实例中,如本文中所描述的设备可执行一或若干方法,例如方法1100。所述设备可包含用于以下动作的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):从由存储器装置支持的一组映射函数选择映射函数,所述一组中的每一映射函数用于将在存储器装置处接收的逻辑地址映射到存储器装置的存储器阵列内的物理地址;接收包含存储在存储器阵列中的数据的逻辑地址的存取命令;基于逻辑地址及选定映射函数来确定存储器阵列内的物理地址;及基于物理地址来存取存储在存储器阵列中的数据。
在本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例中,选择映射函数可包含针对逻辑地址的每一位从由存储器装置支持的一组逻辑运算选择对应逻辑运算,每一逻辑运算用于至少部分基于逻辑地址的位来确定物理地址的位
在本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例中,确定物理地址可包含至少部分基于来自所述一组的第一逻辑运算来确定物理地址的第一位,至少部分基于来自所述一组的第二逻辑运算来确定物理地址的第二位。
在本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例中,确定物理地址可包含通过经配置以实施对应逻辑运算的映射子组件路由逻辑地址的每一位。
在本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例中,由存储器装置支持的所述一组逻辑运算可包含反相运算、至少部分基于逻辑地址的第二位的异或(XOR)运算或至少部分基于逻辑地址的第二位的异或非(XNOR)运算、直通运算、地址交换运算或其任何组合。
本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于生成随机数的操作、特征、构件或指令,其中选择映射函数是至少部分基于随机数。
本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于识别与存储器装置、存储器阵列或包含存储器阵列的裸片相关联的唯一标识符的操作、特征、构件或指令,其中选择映射函数是至少部分基于唯一标识符。
在本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例中,从由存储器装置支持的所述一组映射函数选择映射函数可至少部分基于时间表或触发事件。
本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下动作的操作、特征、构件或指令:从由存储器装置支持的所述一组映射函数选择第二映射函数;接收包括存储在存储器阵列中的其它数据的第二逻辑地址的第二存取命令;至少部分基于第二逻辑地址及第二映射函数来确定存储器阵列内的第二物理地址;及至少部分基于第二物理地址来存取存储在存储器阵列中的其它数据。
本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于接收安全密钥且至少部分基于接收所述安全密钥来选择第二映射函数的操作、特征、构件或指令。
本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于根据损耗均衡程序在存储器装置的存储器阵列内的物理地址之间传送数据的操作、特征、构件或指令。
在本文中所描述的方法、设备及非暂时性计算机可读媒体的一些实例中,物理地址对应于物理地址空间且逻辑地址对应于小于物理地址空间的逻辑地址空间。
图12展示根据本公开的方面的支持存储器的地址混淆的方法1200的流程图。方法1200的操作可由如本文中所描述的控制器或其组件来实施。例如,方法1200的操作可由如上文所描述的控制器来执行。在一些实例中,控制器可执行一组指令以控制存储器装置的功能元件以执行下文所描述的功能。另外或替代地,控制器可使用专用硬件执行下文所描述的功能的方面。
在1205处,控制器可从由存储器装置支持的一组映射函数选择映射函数,所述一组中的每一映射函数用于将在存储器装置处接收的逻辑地址映射到存储器装置的存储器阵列内的物理地址。操作1205可根据本文中所描述的方法来执行。在一些实例中,操作1205的方面可由如参考图10所描述的选择组件来执行。
在1210处,控制器可针对逻辑地址的每一位,从由存储器装置支持的一组逻辑运算选择对应逻辑运算,每一逻辑运算用于基于逻辑地址的位来确定物理地址的位。操作1210可根据本文中所描述的方法来执行。在一些实例中,操作1210的方面可由如参考图10所描述的选择组件来执行。
在1215处,控制器可接收包含存储在存储器阵列中的数据的逻辑地址的存取命令。操作1215可根据本文中所描述的方法来执行。在一些实例中,操作1215的方面可由如参考图10所描述的接收组件来执行。
在1220处,控制器可基于逻辑地址及选定映射函数来确定存储器阵列内的物理地址。操作1220可根据本文中所描述的方法来执行。在一些实例中,操作1220的方面可由如参考图10所描述的确定组件来执行。
在1225处,控制器可基于物理地址来存取存储在存储器阵列中的数据。操作1225可根据本文中所描述的方法来执行。在一些实例中,操作1225的方面可由如参考图10所描述的存取组件来执行。
图13展示根据本公开的方面的支持存储器的地址混淆的方法1300的流程图。方法1300的操作可由如本文中所描述的控制器或其组件来实施。例如,方法1300的操作可由如上文所描述的控制器来执行。在一些实例中,控制器可执行一组指令以控制存储器装置的功能元件以执行下文所描述的功能。另外或替代地,控制器可使用专用硬件执行下文所描述的功能的方面。
在1305处,控制器可从由存储器装置支持的一组映射函数选择映射函数,所述一组中的每一映射函数用于将在存储器装置处接收的逻辑地址映射到存储器装置的存储器阵列内的物理地址。操作1305可根据本文中所描述的方法来执行。在一些实例中,操作1305的方面可由如参考图10所描述的选择组件来执行。
在1310处,控制器可针对逻辑地址的每一位从由存储器装置支持的一组逻辑运算选择对应逻辑运算,每一逻辑运算用于基于逻辑地址的位来确定物理地址的位。操作1310可根据本文中所描述的方法来执行。在一些实例中,操作1310的方面可由如参考图10所描述的选择组件来执行。
在1315处,控制器可通过经配置以实施对应逻辑运算的映射子组件路由逻辑地址的每一位。操作1315可根据本文中所描述的方法来执行。在一些实例中,操作1315的方面可由如参考图10所描述的路由组件来执行。
在1320处,控制器可接收包含存储在存储器阵列中的数据的逻辑地址的存取命令。操作1320可根据本文中所描述的方法来执行。在一些实例中,操作1320的方面可由如参考图10所描述的接收组件来执行。
在1325处,控制器可基于逻辑地址及选定映射函数来确定存储器阵列内的物理地址。操作1325可根据本文中所描述的方法来执行。在一些实例中,操作1325的方面可由如参考图10所描述的确定组件来执行。
在1330处,控制器可基于物理地址来存取存储在存储器阵列中的数据。操作1330可根据本文中所描述的方法来执行。在一些实例中,操作1330的方面可由如参考图10所描述的存取组件来执行。
应注意,上文所描述的方法描述可能实施方案,且操作及步骤可经重新布置或以其它方式修改且其它实施方案是可行的。此外,可组合来自两个或更多个方法的方面。
在一些实例中,一种设备或装置可使用通用或专用硬件执行本文中所描述的功能的方面。所述设备或装置可包含:接口,其经配置以接收用于存取存储在存储器阵列中的数据的逻辑地址;选择组件,其与所述接口耦合且经配置以从一组映射函数选择映射函数,所述一组中的每一映射函数用于将经由所述接口接收的逻辑地址映射到所述存储器阵列内的物理地址;及映射组件,其与所述选择组件耦合且经配置以至少部分基于所述选定映射函数来将经由所述接口接收的逻辑地址映射到所述存储器阵列内的物理地址。
在一些实例中,所述映射组件包含各自经配置以至少部分基于所述逻辑地址的至少一个位及至少一个逻辑运算来确定所述存储器阵列内的物理地址的位的多个映射子组件,且所述选择组件经配置以至少部分基于选择用于所述多个映射子组件中的每一映射子组件的对应逻辑运算来选择所述映射函数。在一些实例中,所述选择组件经配置以独立于用于所述多个映射组件中的第二映射组件的第二逻辑运算而选择用于所述多个映射组件中的第一映射组件的第一逻辑运算。
在一些实例中,所述设备或装置可包含数字生成器,其中所述选择组件经配置以至少部分基于由所述数字生成器生成的数字来选择所述映射函数。在一些实例中,所述选择组件经配置以至少部分基于与所述设备相关联的唯一标识符来选择所述映射函数。在一些实例中,所述选择组件经配置以至少部分基于读取模式寄存器或非易失性存储器来选择所述映射函数。在一些实例中,所述选择组件经配置以至少部分基于周期性时间表或触发事件来选择所述映射函数。
在一些实例中,所述设备或装置可包含经配置以随时间在所述存储器阵列内的物理地址之间移动数据的损耗均衡组件。
在一些实例中,一种设备或装置可使用通用或专用硬件执行本文中所描述的功能的方面。所述设备或装置可包含:接口,其经配置以接收多个存储器裸片的逻辑地址;所述多个存储器裸片中的第一存储器裸片,其包括第一存储器阵列且经配置以根据第一映射函数将所述第一存储器阵列的逻辑地址映射到所述第一存储器阵列内的物理地址;及所述多个存储器裸片中的第二存储器裸片,其包括第二存储器阵列且经配置以根据不同于所述第一映射函数的第二映射函数将所述第二存储器阵列的逻辑地址映射到所述第二存储器阵列内的物理地址。
在一些实例中,所述设备或装置可包含用于所述第一存储器裸片的第一映射组件、用于所述第二存储器裸片的第二映射组件及经配置以选择用于所述第一映射组件的所述第一映射函数且选择用于所述第二映射组件的所述第二映射函数的选择组件。在一些实例中,所述选择组件经配置以独立于所述第二映射函数而选择所述第一映射函数。在一些实例中,所述第一存储器裸片具有第一裸片标识符,所述第二存储器裸片具有第二裸片标识符,且所述选择组件经配置以至少部分基于所述第一裸片标识符来选择所述第一映射函数且至少部分基于所述第二裸片标识符来选择所述第二映射函数。
在一些实例中,所述逻辑地址各自包括多个位,所述第一映射组件包括第一对应多个映射子组件,所述第二映射组件包括第二对应多个映射子组件,且所述第一对应多个映射子组件及所述第二对应多个映射子组件中的每一映射子组件可由所述选择组件独立地配置。
尽管可在本文中关于DRAM科技或在DRAM科技的背景中描述某些特征,但这仅是为了说明性目的,且所属领域的一般技术人员将明白,本文中的教示可应用到任何类型的存储器装置。例如,本文中的教示可应用到易失性或非易失性存储器装置,例如磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)等。
可使用多种不同科技及技术中的任一者表示本文中所描述的信息及信号。例如,可贯穿上文描述引用的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合表示。一些附图可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,信号可表示信号的总线,其中总线可具有多种位宽度。
术语“电子通信”、“导电接触”、“连接”及“耦合”可指支持组件之间的信号流动的组件之间的关系。如果在组件之间存在可在任何时间支持组件之间的信号流动的任何导电路径,那么将组件视为彼此电子通信(或导电接触或连接或耦合)。在任何给定时间,彼此电子通信(或导电接触或连接或耦合)的组件之间的导电路径可为基于包含所连接组件的装置的操作的开路或闭合电路。所连接组件之间的导电路径可为所述组件之间的直接导电路径或所连接组件之间的导电路径可为可包含中间组件(例如开关、晶体管或其它组件)的间接导电路径。在一些情况中,所连接组件之间的信号流动可例如使用一或多个中间组件(例如开关或晶体管)中断一段时间。
术语“耦合”是指从其中信号当前不能够经由导电路径在组件之间传达的组件之间的开路关系移动到其中信号能够经由导电路径在组件之间传达的组件之间的闭合电路关系的条件。当组件(例如控制器)将其它组件耦合在一起时,组件启动容许信号经由先前不允许信号流动的导电路径在其它组件之间流动的改变。
如本文中所使用,术语“基本上”意味着所修饰特性(例如,由术语基本上修饰的动词或形容词)不需要是绝对的但足够接近以实现所述特性的优点。
本文中所论述的装置(包含存储器阵列)可经形成在半导体衬底(例如硅、锗、硅锗合金、砷化镓、氮化镓等)上。在一些情况中,所述衬底是半导体晶片。在其它情况中,所述衬底可为绝缘体上覆硅(SOI)衬底(例如玻璃上覆硅(SOG)或蓝宝石上覆硅(SOP))或在另一衬底上的半导体材料的外延层。衬底或衬底的子区域的导电性可通过使用各种化学物种(包含但不限于磷、硼或砷)掺杂而控制。掺杂可在衬底的初始形成或生长期间通过离子注入或通过任何其它掺杂手段执行。
本文中所论述的开关组件或晶体管可表示场效应晶体管(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.根据权利要求2所述的方法,其中确定所述物理地址包括:
通过经配置以实施所述对应逻辑运算的映射子组件路由所述逻辑地址的每一位。
5.根据权利要求2所述的方法,其中由所述存储器装置支持的所述一组逻辑运算包括反相运算、至少部分基于所述逻辑地址的第二位的异或XOR运算或至少部分基于所述逻辑地址的所述第二位的异或非XNOR运算、直通运算、地址交换函数或其任何组合。
6.根据权利要求1所述的方法,其进一步包括:
生成随机数,其中选择所述映射函数是至少部分基于所述随机数。
7.根据权利要求1所述的方法,其进一步包括:
识别与所述存储器装置、所述存储器阵列或包含所述存储器阵列的裸片相关联的唯一标识符,其中选择所述映射函数是至少部分基于所述唯一标识符。
8.根据权利要求1所述的方法,其中从由所述存储器装置支持的所述一组映射函数选择所述映射函数是至少部分基于时间表或触发事件。
9.根据权利要求1所述的方法,其进一步包括:
从由所述存储器装置支持的所述一组映射函数选择第二映射函数;
接收包括存储在所述存储器阵列中的其它数据的第二逻辑地址的第二存取命令;
至少部分基于所述第二逻辑地址及所述第二映射函数来确定所述存储器阵列内的第二物理地址;及
至少部分基于所述第二物理地址来存取存储在所述存储器阵列中的所述其它数据。
10.根据权利要求1所述的方法,其进一步包括:
接收安全密钥;及
至少部分基于接收所述安全密钥来选择第二映射函数。
11.根据权利要求1所述的方法,其进一步包括:
根据损耗均衡程序在所述存储器装置的所述存储器阵列内的物理地址之间传送数据。
12.根据权利要求1所述的方法,其中:
所述物理地址对应于物理地址空间;且
所述逻辑地址对应于小于所述物理地址空间的逻辑地址空间。
13.一种设备,其包括:
接口,其经配置以接收用于存取存储在存储器阵列中的数据的逻辑地址;
选择组件,其与所述接口耦合且经配置以从一组映射函数选择映射函数,所述一组中的每一映射函数用于将经由所述接口接收的逻辑地址映射到所述存储器阵列内的物理地址;及
映射组件,其与所述选择组件耦合且经配置以至少部分基于所述选定映射函数来将经由所述接口接收的逻辑地址映射到所述存储器阵列内的物理地址。
14.根据权利要求13所述的设备,其中:
所述映射组件包括各自经配置以至少部分基于所述逻辑地址的至少一个位及至少一个逻辑运算来确定所述存储器阵列内的物理地址的位的多个映射子组件;且
所述选择组件经配置以至少部分基于选择用于所述多个映射子组件中的每一映射子组件的所述至少一个逻辑运算来选择所述映射函数。
15.根据权利要求14所述的设备,其中所述选择组件经配置以独立于用于所述多个映射组件中的第二映射组件的第二逻辑运算而选择用于所述多个映射组件中的第一映射组件的第一逻辑运算。
16.根据权利要求13所述的设备,其进一步包括:
数字生成器,其中所述选择组件经配置以至少部分基于由所述数字生成器生成的数字来选择所述映射函数。
17.根据权利要求13所述的设备,其中所述选择组件经配置以至少部分基于与所述设备相关联的唯一标识符来选择所述映射函数。
18.根据权利要求13所述的设备,其中所述选择组件经配置以至少部分基于读取模式寄存器或非易失性存储器来选择所述映射函数。
19.根据权利要求13所述的设备,其中所述选择组件经配置以至少部分基于周期性时间表或触发事件来选择所述映射函数。
20.根据权利要求13所述的设备,其进一步包括:
损耗均衡组件,其经配置以随时间推移在所述存储器阵列内的物理地址之间移动数据。
21.一种设备,其包括:
接口,其经配置以接收多个存储器裸片的逻辑地址;
所述多个存储器裸片中的第一存储器裸片,其包括第一存储器阵列且经配置以根据第一映射函数将所述第一存储器阵列的逻辑地址映射到所述第一存储器阵列内的物理地址;及
所述多个存储器裸片中的第二存储器裸片,其包括第二存储器阵列且经配置以根据不同于所述第一映射函数的第二映射函数将所述第二存储器阵列的逻辑地址映射到所述第二存储器阵列内的物理地址。
22.根据权利要求21所述的设备,其进一步包括:
用于所述第一存储器裸片的第一映射组件;
用于所述第二存储器裸片的第二映射组件;及
选择组件,其经配置以选择用于所述第一映射组件的所述第一映射函数且选择用于所述第二映射组件的所述第二映射函数。
23.根据权利要求22所述的设备,其中所述选择组件经配置以独立于所述第二映射函数而选择所述第一映射函数。
24.根据权利要求22所述的设备,其中:
所述第一存储器裸片具有第一裸片标识符;
所述第二存储器裸片具有第二裸片标识符;且
所述选择组件经配置以至少部分基于所述第一裸片标识符来选择所述第一映射函数且至少部分基于所述第二裸片标识符来选择所述第二映射函数。
25.根据权利要求22所述的设备,其中:
所述逻辑地址各自包括多个位
所述第一映射组件包括第一对应多个映射子组件;
所述第二映射组件包括第二对应多个映射子组件;且
所述第一对应多个映射子组件及所述第二对应多个映射子组件中的每一映射子组件能够由所述选择组件独立地配置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/192,068 | 2018-11-15 | ||
US16/192,068 US11042490B2 (en) | 2018-11-15 | 2018-11-15 | Address obfuscation for memory |
PCT/US2019/058147 WO2020101862A1 (en) | 2018-11-15 | 2019-10-25 | Address obfuscation for memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113039529A true CN113039529A (zh) | 2021-06-25 |
CN113039529B CN113039529B (zh) | 2024-07-16 |
Family
ID=70726346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980075547.9A Active CN113039529B (zh) | 2018-11-15 | 2019-10-25 | 存储器设备及用于地址混淆的操作方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11042490B2 (zh) |
EP (1) | EP3881186A4 (zh) |
JP (1) | JP2022507523A (zh) |
KR (1) | KR20210071091A (zh) |
CN (1) | CN113039529B (zh) |
TW (1) | TWI722613B (zh) |
WO (1) | WO2020101862A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11843597B2 (en) * | 2016-05-18 | 2023-12-12 | Vercrio, Inc. | Automated scalable identity-proofing and authentication process |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11194726B2 (en) * | 2019-02-25 | 2021-12-07 | Micron Technology, Inc. | Stacked memory dice for combined access operations |
US11030124B2 (en) | 2019-11-07 | 2021-06-08 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11132470B2 (en) * | 2019-11-07 | 2021-09-28 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11182308B2 (en) * | 2019-11-07 | 2021-11-23 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US20210382992A1 (en) * | 2019-11-22 | 2021-12-09 | Pure Storage, Inc. | Remote Analysis of Potentially Corrupt Data Written to a Storage System |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11500788B2 (en) * | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
JP6946485B2 (ja) * | 2020-01-17 | 2021-10-06 | 株式会社東芝 | 磁気記憶装置 |
US11355165B2 (en) * | 2020-04-27 | 2022-06-07 | Micron Technology, Inc. | Adjusting parameters of channel drivers based on temperature |
US11604740B2 (en) * | 2020-12-01 | 2023-03-14 | Capital One Services, Llc | Obfuscating cryptographic material in memory |
US20220091758A1 (en) * | 2021-12-07 | 2022-03-24 | Intel Corporation | Securing sensitive data in memory |
US20230205872A1 (en) * | 2021-12-23 | 2023-06-29 | Advanced Micro Devices, Inc. | Method and apparatus to address row hammer attacks at a host processor |
US11868662B2 (en) * | 2022-05-24 | 2024-01-09 | Western Digital Technologies, Inc. | Storage system and method for hybrid mapping |
TWI816456B (zh) * | 2022-06-30 | 2023-09-21 | 新唐科技股份有限公司 | 密碼裝置及其密碼方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6418350U (zh) * | 1987-07-23 | 1989-01-30 | ||
WO1993023806A1 (en) * | 1992-05-12 | 1993-11-25 | International Business Machines Corporation | Method and apparatus for reducing memory wearout in a computer system |
CN101419573A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 一种存储管理的方法、***和存储设备 |
CN101493794A (zh) * | 2009-01-19 | 2009-07-29 | 成都市华为赛门铁克科技有限公司 | 一种闪存数据处理方法及装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5081675A (en) * | 1989-11-13 | 1992-01-14 | Kitti Kittirutsunetorn | System for protection of software in memory against unauthorized use |
US8341332B2 (en) * | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
TW466407B (en) | 2000-08-31 | 2001-12-01 | Inst Information Industry | Multiple variable address mapping circuit |
US8135936B2 (en) | 2009-12-23 | 2012-03-13 | Intel Corporation | Adaptive address mapping with dynamic runtime memory mapping selection |
US8108596B2 (en) | 2006-08-03 | 2012-01-31 | Arm Limited | Memory controller address mapping scheme |
US20080152142A1 (en) * | 2006-12-20 | 2008-06-26 | Mark Buer | Memory scrambler unit (msu) |
JP2009086830A (ja) * | 2007-09-28 | 2009-04-23 | Toshiba Corp | メモリコントローラ |
US8176295B2 (en) | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
US9256527B2 (en) | 2010-07-27 | 2016-02-09 | International Business Machines Corporation | Logical to physical address mapping in storage systems comprising solid state memory devices |
KR101155542B1 (ko) | 2010-10-11 | 2012-06-18 | 성균관대학교산학협력단 | Ssd 장치의 매핑 테이블 관리 방법 |
EP2715510B1 (en) * | 2011-05-24 | 2018-05-02 | Marvell World Trade Ltd. | Method for storage devices to achieve low write amplification with low over provision |
US9158672B1 (en) | 2011-10-17 | 2015-10-13 | Rambus Inc. | Dynamic deterministic address translation for shuffled memory spaces |
US20130097403A1 (en) * | 2011-10-18 | 2013-04-18 | Rambus Inc. | Address Mapping in Memory Systems |
US9136873B2 (en) * | 2013-03-11 | 2015-09-15 | Intel Corporation | Reduced uncorrectable memory errors |
US20140328127A1 (en) | 2013-05-02 | 2014-11-06 | Skymedi Corporation | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same |
JP6180271B2 (ja) * | 2013-10-09 | 2017-08-16 | 日本放送協会 | 映像記録装置及び映像記録方法 |
US10445232B2 (en) | 2015-07-14 | 2019-10-15 | Western Digital Technologies, Inc. | Determining control states for address mapping in non-volatile memories |
US10255191B2 (en) | 2015-08-13 | 2019-04-09 | Advanced Micro Devices, Inc. | Logical memory address regions |
US20170123994A1 (en) * | 2015-10-28 | 2017-05-04 | Sandisk Technologies Inc. | Handling Of Plane Failure In Non-Volatile Storage |
US10049717B2 (en) * | 2016-03-03 | 2018-08-14 | Samsung Electronics Co., Ltd. | Wear leveling for storage or memory device |
US10761976B2 (en) | 2016-11-28 | 2020-09-01 | Arm Limited | Method and apparatus for memory wear leveling |
JP6765322B2 (ja) * | 2017-02-28 | 2020-10-07 | キオクシア株式会社 | メモリシステムおよび制御方法 |
CN108536612B (zh) * | 2017-03-03 | 2021-12-21 | 西部数据技术公司 | 确定用于非易失性存储器中的地址映射的控制状态 |
US20180329629A1 (en) * | 2017-05-11 | 2018-11-15 | WipeOS LLC | Data wiping of solid-state drives |
US11056206B2 (en) * | 2017-10-11 | 2021-07-06 | Western Digital Technologies, Inc. | Non-volatile memory with dynamic wear leveling group configuration |
KR102540964B1 (ko) * | 2018-02-12 | 2023-06-07 | 삼성전자주식회사 | 입출력 장치의 활용도 및 성능을 조절하는 메모리 컨트롤러, 애플리케이션 프로세서 및 메모리 컨트롤러의 동작 |
US10540100B2 (en) * | 2018-04-10 | 2020-01-21 | Western Digital Technologies, Inc. | Mapping-based wear leveling for non-volatile memory |
-
2018
- 2018-11-15 US US16/192,068 patent/US11042490B2/en active Active
-
2019
- 2019-10-23 TW TW108138156A patent/TWI722613B/zh active
- 2019-10-25 CN CN201980075547.9A patent/CN113039529B/zh active Active
- 2019-10-25 KR KR1020217017031A patent/KR20210071091A/ko not_active Application Discontinuation
- 2019-10-25 WO PCT/US2019/058147 patent/WO2020101862A1/en unknown
- 2019-10-25 JP JP2021526547A patent/JP2022507523A/ja active Pending
- 2019-10-25 EP EP19884462.3A patent/EP3881186A4/en active Pending
-
2021
- 2021-05-25 US US17/329,989 patent/US11853230B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6418350U (zh) * | 1987-07-23 | 1989-01-30 | ||
WO1993023806A1 (en) * | 1992-05-12 | 1993-11-25 | International Business Machines Corporation | Method and apparatus for reducing memory wearout in a computer system |
JPH07503564A (ja) * | 1992-05-12 | 1995-04-13 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | コンピュータ・システムにおけるメモリの磨耗を低減する方法および装置 |
CN101419573A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 一种存储管理的方法、***和存储设备 |
CN101493794A (zh) * | 2009-01-19 | 2009-07-29 | 成都市华为赛门铁克科技有限公司 | 一种闪存数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
杜雨阳;余宏亮;郑纬民;: "一种基于代数映射的相变内存矩阵磨损均衡方法", 计算机研究与发展, no. 12 * |
Also Published As
Publication number | Publication date |
---|---|
US11042490B2 (en) | 2021-06-22 |
JP2022507523A (ja) | 2022-01-18 |
TW202027075A (zh) | 2020-07-16 |
KR20210071091A (ko) | 2021-06-15 |
US20200159674A1 (en) | 2020-05-21 |
US20210279183A1 (en) | 2021-09-09 |
US11853230B2 (en) | 2023-12-26 |
WO2020101862A1 (en) | 2020-05-22 |
TWI722613B (zh) | 2021-03-21 |
CN113039529B (zh) | 2024-07-16 |
EP3881186A1 (en) | 2021-09-22 |
EP3881186A4 (en) | 2022-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113039529B (zh) | 存储器设备及用于地址混淆的操作方法 | |
CN112352217B (zh) | 基于数据极性的数据存储 | |
WO2020050983A1 (en) | Row hammer protection for a memory device | |
CN114080588A (zh) | 用于存储器装置的擦除速率控制 | |
CN111063385A (zh) | 智能封装后修复 | |
US11899982B2 (en) | Command block management | |
US11483013B2 (en) | Error correction on a memory device | |
US11334435B2 (en) | Safety event detection for a memory device | |
CN113454721B (zh) | 存储器装置的刷新速率控制 | |
CN114097038B (zh) | 具有用于错误校正的状态反馈的存储器装置 | |
CN111312310A (zh) | 相位电荷共享 | |
CN112053710B (zh) | 用于存储器装置的电流监视器 | |
WO2020256857A1 (en) | Speculative section selection within a memory device | |
CN112116932A (zh) | 用于冗余的高效电力方案 | |
CN112289350A (zh) | 字线电容平衡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |