CN111209222B - 存储器控制器及其操作方法和存储器系统 - Google Patents
存储器控制器及其操作方法和存储器系统 Download PDFInfo
- Publication number
- CN111209222B CN111209222B CN201910806585.9A CN201910806585A CN111209222B CN 111209222 B CN111209222 B CN 111209222B CN 201910806585 A CN201910806585 A CN 201910806585A CN 111209222 B CN111209222 B CN 111209222B
- Authority
- CN
- China
- Prior art keywords
- memory
- random number
- memory device
- read
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 404
- 238000011017 operating method Methods 0.000 title claims description 7
- 238000006243 chemical reaction Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 27
- 238000013519 translation Methods 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 30
- 238000009826 distribution Methods 0.000 description 14
- 239000000463 material Substances 0.000 description 14
- 239000004065 semiconductor Substances 0.000 description 10
- 230000011664 signaling Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 6
- 239000000047 product Substances 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000010438 heat treatment Methods 0.000 description 3
- 239000010949 copper Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 229910052732 germanium Inorganic materials 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910000480 nickel oxide Inorganic materials 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 229910014031 strontium zirconium oxide Inorganic materials 0.000 description 2
- FCCTVDGKMTZSPU-UHFFFAOYSA-N strontium;dioxido(oxo)zirconium Chemical compound [Sr+2].[O-][Zr]([O-])=O FCCTVDGKMTZSPU-UHFFFAOYSA-N 0.000 description 2
- 229910052714 tellurium Inorganic materials 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- NRTOMJZYCJJWKI-UHFFFAOYSA-N Titanium nitride Chemical compound [Ti]#N NRTOMJZYCJJWKI-UHFFFAOYSA-N 0.000 description 1
- UQZIWOQVLUASCR-UHFFFAOYSA-N alumane;titanium Chemical compound [AlH3].[Ti] UQZIWOQVLUASCR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052787 antimony Inorganic materials 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 229910052741 iridium Inorganic materials 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 150000004767 nitrides Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- GNRSAWUEBMWBQH-UHFFFAOYSA-N oxonickel Chemical compound [Ni]=O GNRSAWUEBMWBQH-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000010936 titanium Substances 0.000 description 1
- OGIDPMRJRNCKJF-UHFFFAOYSA-N titanium(II) oxide Chemical compound [Ti]=O OGIDPMRJRNCKJF-UHFFFAOYSA-N 0.000 description 1
- 229910000314 transition metal oxide Inorganic materials 0.000 description 1
- 229910052721 tungsten Inorganic materials 0.000 description 1
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0059—Security or protection circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/20—Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access
-
- 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/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种包括存储器设备和存储器控制器在内的存储器系统,该存储器设备包括多个存储器单元,以及存储器控制器被配置为控制该存储器设备。该存储器控制器包括:随机数生成器,其被配置为基于来自存储器设备的读取数据来生成随机数;以及地址转换模块,其被配置为基于随机数来生成密钥并且通过对第一地址和密钥执行计算将第一地址转换为第二地址。
Description
相关申请的交叉引用
本申请要求于2018年11月22日在韩国知识产权局提交的韩国专利申请第10-2018-0145647号的优先权,该申请的公开内容通过引用全部并入本文中。
技术领域
本发明构思涉及一种存储器控制器,且更具体地涉及一种包括随机数生成器在内的存储器控制器、包括该存储器控制器在内的存储器系统、以及该存储器控制器的操作方法。
背景技术
作为非易失性存储器设备,除闪存外,还已知诸如相变随机存取存储器(PRAM)、纳米浮栅存储器(NFGM)、聚合物RAM(PoRAM)、磁RAM(MRAM)、铁电RAM(FeRAM)和电阻RAM(RRAM)之类的电阻性存储器。电阻性存储器具有动态RAM(DRAM)的高速特性和存储器非易失性特征。在这种情况下,电阻性存储器可能具有相对高的阈值电压波动。
发明内容
本发明构思提供了一种能够提高存储器系统的耐久性并增强存储器系统的安全性的存储器控制器、包括该存储器控制器在内的存储器系统、以及该存储器控制器的操作方法。
根据本发明构思的一个方面,提供了一种存储器系统,包括:存储器设备,包括具有多个第一存储器单元的存储器单元阵列;以及存储器控制器,被配置为控制所述存储器设备,其中,存储器控制器包括:随机数生成器,被配置为基于来自存储器设备的读取数据来生成随机数;以及地址转换模块,被配置为基于随机数来生成密钥并通过对第一地址和密钥执行计算将第一地址转换为第二地址。
根据本发明构思的另一方面,提供了一种存储器控制器的操作方法,该操作方法包括:对存储器设备执行读取操作以从存储器设备接收读取数据;由存储器控制器中包括的随机数生成器基于读取数据来生成随机数;以及通过使用随机数来随机生成用于访问存储器设备的第一物理地址或要被写入存储器设备的写入数据。
根据本发明构思的另一方面,提供了一种存储器控制器,包括:随机数生成器,被配置为基于来自存储器设备的读取数据来生成随机数;地址转换模块,被配置为通过使用随机数将从主机接收的逻辑地址转换为存储器设备的第一物理地址,并将第一物理地址转换为存储器设备的第二物理地址;以及随机化器,被配置为通过使用所述随机数将从所述主机接收的输入数据转换为随机数据。
附图说明
根据以下结合附图进行的详细描述,将更清楚地理解本发明构思的实施例,在附图中:
图1是根据本发明构思的实施例的存储器系统的框图;
图2示出了根据本发明构思的实施例的电阻性存储器单元与读取次数有关的阈值电压;
图3A示出了图1所示的存储器单元阵列,且图3B示出了图3A所示的存储器单元;
图4是示出了根据本发明构思的实施例的存储器单元的电阻分布的曲线图;
图5是根据本发明构思的实施例的地址转换模块的框图;
图6是根据本发明构思的实施例的存储器控制器和存储器设备的操作的信令图;
图7A是示出了根据图6的实施例的读取操作的示例的曲线图,且图7B示出了根据图6的实施例的随机数生成操作的示例;
图8是根据本发明构思的实施例的存储器控制器和存储器设备的操作的信令图;
图9A是示出了根据图8的实施例的读取操作的示例的曲线图,且图9B示出了根据图8的实施例的随机数生成操作的示例;
图10是根据本发明构思的实施例的存储器控制器和存储器设备的操作的信令图;
图11是示出了根据图10的实施例的读取操作的示例的曲线图;
图12是根据本发明构思的实施例的存储器控制器和存储器设备的操作的信令图;
图13是示出了根据图12的实施例的读取操作的示例的曲线图;
图14是根据本发明构思的实施例的存储器控制器和存储器设备的操作的信令图;
图15A是根据本发明构思的实施例的地址转换模块的框图,且图15B示出了根据图15A的地址转换模块的操作所生成的映射表;
图16是根据本发明构思的实施例的存储器控制器的操作方法的流程图;
图17A是根据本发明构思的实施例的地址转换模块的框图,且图17B示出了根据图17A的地址转换模块的操作所生成的映射表;
图18是根据本发明构思的实施例的存储器控制器的操作方法的流程图;
图19是根据本发明构思的实施例的存储器控制器的操作方法的流程图;
图20是根据本发明构思的实施例的存储器控制器的操作方法的流程图;
图21示出了根据图20的地址转换模块的操作所生成的映射表的示例;
图22是根据本发明构思的实施例的存储器控制器的框图;
图23是根据本发明构思的实施例的随机化器的框图;
图24是根据本发明构思的实施例的存储器控制器的框图;
图25是根据本发明构思的实施例的存储器控制器的框图;
图26是根据本发明构思的实施例的存储器控制器的操作方法的流程图;
图27是根据本发明构思的实施例的存储器控制器的框图;以及
图28是根据本发明构思的实施例的存储器系统的框图。
具体实施方式
在下文中,将参考附图来详细描述本发明构思的实施例。
图1是根据本发明构思的实施例的存储器系统10的框图。
参考图1,存储器系统10可以包括存储器控制器100和存储器设备200。存储器控制器100可以响应于来自主机的写/读请求来控制存储器设备200,以在存储器设备200中写入数据或者读取存储器设备200中存储的数据。例如,存储器控制器100可以通过向存储器设备200提供命令CMD、地址ADDR和控制信号CTRL来控制存储器设备200的写入和读取操作。另外,可以在存储器控制器100和存储器设备200之间发送和接收数据DT。
存储器设备200可以包括存储器单元阵列210。根据实施例,存储器单元阵列210可以包括电阻性存储器单元,并且存储器设备200可以被命名为“电阻性存储器设备”。在下文中,假设存储器设备200是电阻性存储器设备。然而,本发明构思不限于此,并且本发明构思的实施例可以应用于各种类型的存储器设备,包括诸如闪存设备或易失性存储器设备之类的非易失性存储器设备。
存储器单元阵列210中包括的电阻性存储器单元可具有相对高的阈值电压波动。例如,电阻性存储器单元可以包括开关元件和可变电阻元件,并且根据开关元件的噪声等引起的开关元件的变化或者可变电阻元件的变化,电阻性存储器单元可以具有相对高的阈值电压波动。将参照图2详细描述这一点。
图2示出了根据本发明构思的实施例的电阻性存储器单元与读取次数有关的阈值电压。
参考图2,当在第一编程状态下对电阻性存储器单元进行编程时,电阻性存储器单元的阈值电压可能波动。因此,当重复执行对电阻性存储器单元的读取操作时,读取结果可以根据读取次数而变化。另外,当在第一编程状态下对多个电阻性存储器单元进行编程时,多个电阻性存储器单元的阈值电压可以波动。因此,当对多个电阻性存储器单元执行读取操作时,读取结果可能改变。
再次参考图1,存储器控制器100可以包括随机数生成器110和地址转换模块120。随机数生成器110可以基于从存储器设备200接收的读取数据RD来生成随机数RN。如上所述,随机数生成器110可以通过使用存储器单元阵列210中包括的电阻性存储器单元的阈值电压波动特性,根据从存储器设备200接收的读取数据RD来生成随机数RN。根据实施例,随机数生成器110可以是真随机数生成器(TRNG)。
本文使用的随机数可以包括伪随机数。在本公开中,如果一个数的值响应于随机数(其可以是由伪随机数生成器所生成的伪随机数),则该数被认为是随机数RN。
以功能块、单元和/或模块为单位来描述并在附图中示出了实施例。这些块、单元和/或模块可以通过电子(或光学)电路以物理方式实现,电子(或光学)电路是例如逻辑电路、分立组件、微处理器、硬连线电路、存储元件、布线连接等,可以使用半导体制造技术和/或其他制造技术将这些电子(或光学)电路一起形成在单个集成电路上(例如,作为单个半导体芯片)或者作为分离的集成电路和/或分立组件(例如,在印刷电路板上接线在一起的若干半导体芯片)。
地址转换模块120可以通过使用随机数RN将第一地址ADDR1转换为第二地址ADDR2。根据实施例,地址转换模块120可以根据随机数RN来生成密钥,并且通过对所生成的密钥和第一地址ADDR1的计算来生成第二地址ADDR2。根据实施例,第一地址ADDR1可以是从主机接收的逻辑地址,而第二地址ADDR2可以是存储器设备200的物理地址。在这种情况下,密钥可以被命名为“映射密钥”,并且可以通过对逻辑地址和映射密钥的计算将逻辑地址转换为物理地址。根据实施例,第一地址ADDR1可以是存储器设备200的原始物理地址,而第二地址ADDR2可以是存储器设备200的新物理地址。在这种情况下,密钥可以被命名为“重新映射密钥”,并且可以通过对原始物理地址和重新映射密钥的计算将原始物理地址转换为新物理地址。
根据一些实施例,存储器控制器100还可包括读/写控制模块130。读/写控制模块130可以控制对存储器设备200的读取操作,以向随机数生成器110提供读取数据RD。根据实施例,读/写控制模块130可以将多个存储器单元的读取电压确定为第一电压电平,并且通过使用被确定为第一电压电平的读取电压来控制对多个存储器单元的读取操作。
另外,读/写控制模块130可以控制对存储器设备200的写入操作,以向随机数生成器110提供读取数据RD。详细地,读/写控制模块130可以控制对存储器设备200的写入操作,以在对多个存储器单元执行读取操作之前修改多个存储器单元的阈值电压分布。另外,读/写控制模块130可以控制对存储器设备200的写入操作,使得在与经转换的第二地址ADDR2相对应的存储器单元中写入数据。
根据实施例,存储器控制器100和存储器设备200可以由分离的半导体器件来实现。每个半导体器件可以是半导体芯片内体现的集成电路。根据实施例,存储器控制器100和存储器设备200可被集成在单个半导体器件中。例如,存储器控制器100和存储器设备200可被集成在单个半导体器件中以形成存储卡。更详细地,存储器控制器100和存储器设备200可被集成在单个半导体器件中以形成个人计算机(PC)卡(个人计算机存储卡国际协会(PCMCIA))、高密度闪存(CF)卡、智能媒体卡(SM/SMC)、记忆棒、多媒体卡(MMC)、缩小尺寸MMC(RS-MMC)、MMCmicro、安全数字(SD)卡、miniSD卡、microSD卡、通用闪存(UFS)设备等。在一些示例中,存储器控制器100和存储器设备200可被集成在单个半导体器件中以形成固态盘/驱动器(SSD)。
图3A示出了图1中所示的存储器单元阵列210。
参考图3A,存储器单元阵列210可以包括多条字线WL1至WLn、多条位线BL1至BLm,以及多个存储器单元MC。本文中,字线WL1至WLn的数量、位线BL1至BLm的数量以及存储器单元MC的数量可以根据实施例以各种方式改变,并且n和m表示随机正整数。存储器单元阵列210可以包括位于多条字线WL1至WLn分别与多条位线BL1至BLm交叉的区域中的多个存储器单元MC,且因此存储器设备200可以被称为“交叉点存储器设备”。
存储器单元阵列210可以包括多个存储器块,并且每个存储器块可以包括多个页面。另外,每个存储器单元MC可以是存储一比特的单级单元(SLC)或者能够存储至少两比特数据的多级单元(MLC)。根据实施例,存储器单元阵列210可以是水平结构二维(2D)存储器单元阵列。根据实施例,存储器单元阵列210可以是垂直结构3D存储器单元阵列。
存储器单元阵列210可以包括电阻性存储器单元,每个电阻性存储器单元包括可变电阻元件。根据实施例,当可变电阻元件是相变材料(锗(Ge)-锑(Sb)-碲(Te)(GST))并且具有根据温度而改变的电阻时,存储器设备200可以是PRAM。根据实施例,当可变电阻元件由上电极、下电极和它们之间的过渡金属氧化物构成时,存储器设备200可以是RRAM。根据实施例,当可变电阻元件由磁体的上电极、磁体的下电极和它们之间的电介质构成时,存储器设备200可以是MRAM。
根据本实施例,多个存储器单元MC中的每一个存储器单元MC可以包括可变电阻元件R和开关元件SW,其中,可变电阻元件R可以被称为可变电阻材料,并且开关元件SW可以被称为选择元件。根据实施例,可变电阻元件R可以连接在多条位线BL1至BLm之一与开关元件SW之间,并且开关元件SW可以连接在可变电阻元件R与多条字线WL1至WLn之一之间。然而,本发明构思不限于此,且开关元件SW可以连接在多条位线BL1至BLm之一与可变电阻元件R之间,并且可变电阻元件R可以连接在开关元件SW与多条字线WL1至WLn之一之间。
开关元件SW可以连接在多条字线WL1至WLn中的任一条字线与可变电阻元件R之间,并且可以根据对所连接的字线和位线施加的电压来控制要向可变电阻元件R供应的电流。虽然图3A示出了开关元件SW是二极管,这仅是本发明构思的实施例。根据实施例,开关元件SW可以由另一个可切换元件代替。
图3B示出了图3A中所示的存储器单元MC。
参考图3B,存储器单元MC可以包括可变电阻元件R和开关元件SW。可以通过使用诸如晶体管和二极管之类的各种元件来实现开关元件SW。可变电阻元件R可包括由Ge、Sb和Te的混合物(GST)形成的相变层11、形成在相变层11上的上电极12、以及形成在相变层11下方的下电极13。
上电极12和下电极13可以由各种金属、金属氧化物或金属氮化物形成。上电极12和下电极13可以包括铝(A1)、铜(Cu)、氮化钛(TiN)、氮化钛铝(TixAlyNz)、铱(Ir)、铂(Pt)、银(Ag)、金(Au)、多晶硅、钨(W)、钛(Ti)、钽(Ta)、氮化钽(TaN)、氮化钨(WN)、镍(Ni)、钴(Co)、铬(Cr)、锑(Sb)、铁(Fe)、钼(Mo)、钯(Pd)、锡(Sn)、锆(Zr)、锌(Zn)、氧化铱(IrO2)、锶-锆氧化物(StZrO3)等。
相变层11可以由双极电阻性存储材料或单极电阻性存储材料形成。可以通过电流的极性将双极电阻性存储材料编程为置位或复位状态,并且钙钛矿族(perovskite-group)材料可以用于双极电阻性存储材料。即使通过相同极性的电流,也可以将单极电阻性存储材料编程为置位或复位状态,以及单极电阻性存储材料可以是诸如氧化镍(NiOx)或氧化钛(TiOx)等的过渡金属氧化物。
GST材料可以在具有相对高电阻率的非晶态和具有相对低电阻率的晶态之间被编程。可以通过加热GST材料对GST材料进行编程。加热的强度和时间可以确定GST材料是保持非晶态还是晶态。高电阻率和低电阻率可以分别表示编程值为逻辑0和逻辑1,并且可以通过测量GST材料的电阻率来感测。相反,高电阻率和低电阻率可以分别表示编程值为逻辑1和逻辑0。
在图3B中,当对存储器单元MC施加编程电流I时,所施加的编程电流I流过下电极13。当对存储器单元MC施加非常短时间的编程电流I时,所施加的编程电流I仅使下电极13的相邻膜被焦耳热加热。在这种情况下,相变层11的一部分通过加热曲线(profile)的差异而处于晶态(或置位状态)或非晶态(或复位状态)。
图4是示出了根据本发明构思的实施例的存储器单元的电阻分布的曲线图。
参考图4,横轴表示电阻,而纵轴表示存储器单元MC的数量。例如,当存储器单元MC是要被编程为一比特的SLC时,存储器单元MC可以具有低电阻状态LRS或高电阻状态HRS。LRS和HRS可以对应于数据“0”和数据“1”中的任何一个。根据实施例,电阻水平R可以按从数据“0”到数据“1”的顺序增加。也就是说,LRS可以对应于数据“0”,并且HRS可以对应于数据“1”。
通过对存储器单元MC施加编程电流来将存储器单元MC从HRS切换到LRS的操作被称为置位操作或置位写入操作。另外,通过对存储器单元MC施加编程电流来将存储器单元MC从LRS切换到HRS的操作被称为复位操作或复位写入操作。
图5是根据本发明构思的实施例的地址转换模块120的框图。
参考图1和图5,地址转换模块120可以包括密钥生成器121和转换器122。密钥生成器121可以从随机数生成器110接收随机数RN,并且根据所接收的随机数RN来生成密钥K。根据实施例,密钥K可以与随机数RN相同。根据一些实施例,地址转换模块120可以不包括密钥生成器121。然而,本发明构思不限于此,且密钥K可以与随机数RN不同。转换器122可以通过对第一地址ADDR1和密钥K执行计算将第一地址ADDR1转换为第二地址ADDR2。根据实施例,转换器122可以对第一地址ADDR1和密钥K执行XOR运算。在这种情况下,第一地址ADDR1和第二地址ADDR2中的每一个地址的比特数可以与密钥K的比特数相同。
图6是根据本发明构思的实施例的存储器控制器100和存储器设备200的操作的信令图。图7A是示出了根据图6的实施例的读取操作的示例的曲线图,且图7B示出了根据图6的实施例的随机数生成操作的示例。在下文中,将参考图1和图6、图7A和图7B进行描述。
在操作S110中,存储器控制器100将读取电压确定为第一电压电平Vrd并生成读取命令和读取地址。例如,读/写控制模块130可以将读取电压确定为第一电压电平Vrd。读取地址可以与存储器单元阵列210的部分区域中包括的多个存储器单元相对应。根据实施例,存储器单元阵列210可以包括用于执行随机数生成所需的读取操作的存储器区域,并且读取地址可以与存储器区域中包括的多个存储器单元相对应。
在操作S120中,存储器控制器100向存储器设备200发送读取命令和读取地址。在这种情况下,存储器控制器100可以向存储器设备200一起发送所确定的读取电压信息与读取命令。在操作S130中,存储器设备200执行读取操作并生成读取数据RD。详细地,存储器设备200可以通过使用第一电压电平Vrd对与读取地址相对应的多个存储器单元执行读取操作。多个存储器单元可具有根据阈值电压的分布71,其中,针对具有高于第一电压电平Vrd的阈值电压的存储器单元的读取结果可以是“0”,并且针对具有低于第一电压电平Vrd的阈值电压的存储器单元的读取结果可以是“1”。应当理解:存储器控制器100可以预先指示要对与读取地址相对应的多个存储器单元执行写入操作。
在操作S140中,存储器设备200向存储器控制器100发送读取数据RD。例如,读取数据RD可以是“000...1”并且包括N个比特。在操作S150中,存储器控制器100基于读取数据RD来生成随机数RN。例如,随机数RN可以是“000...1”并且包括M个比特。根据实施例,N和M可以是相同的正整数。然而,本发明构思不限于此,并且N和M可以是不同的正整数。根据实施例,随机数RN可以与读取数据RD相同。然而,本发明构思不限于此,并且根据一些实施例,随机数RN可以与读取数据RD不同。在操作S160中,存储器控制器100通过使用随机数RN将第一地址ADDR1转换为第二地址ADDR2。
图8是根据本发明构思的实施例的存储器控制器100和存储器设备200的操作的信令图。图9A是示出了根据图8的实施例的读取操作的示例的曲线图,且图9B示出了根据图8的实施例的随机数生成操作的示例。在下文中,将参考图1和图8、图9A和图9B进行描述。
在操作S210中,存储器控制器100生成第一读取命令和第一读取地址。例如,第一读取地址可以与存储器单元阵列210中包括的第一存储器单元相对应。在操作S220中,存储器控制器100向存储器设备200发送第一读取命令和第一读取地址。在操作S230中,存储器设备200对第一读取地址执行第一读取操作,并生成第一读取数据。
详细地,存储器设备200可以通过使用第一电压电平Vrd对第一存储器单元执行读取操作。第一存储器单元可具有根据阈值电压的第一分布91,其中,针对具有高于第一电压电平Vrd的阈值电压的存储器单元的读取结果可以是“0”,并且针对具有低于第一电压电平Vrd的阈值电压的存储器单元的读取结果可以是“1”。在操作S240中,存储器设备200向存储器控制器100发送第一读取数据RD1。例如,第一读取数据RD1可以是“100...1”并且包括N个比特。
在操作S250中,存储器控制器100生成第二读取命令和第二读取地址。例如,第二读取地址可以与存储器单元阵列210中包括的第二存储器单元相对应。根据实施例,第一存储器单元可以与第二存储器单元相同。因此,第一读取地址可以与第二读取地址相同。当针对相同地址顺序执行第一读取操作和第二读取操作时,第一读取数据RD1可以与第二读取数据RD2不同。然而,本发明构思不限于此,并且第一读取地址可以与第二读取地址不同。
在操作S260中,存储器控制器100向存储器设备200发送第二读取命令和第二读取地址。在操作S270中,存储器设备200针对第二读取地址执行第二读取操作,并生成第二读取数据RD2。详细地,存储器设备200可以通过使用第一电压电平Vrd对多个第二存储器单元执行读取操作。多个第二存储器单元可具有根据阈值电压的第二分布92,其中,针对具有高于第一电压电平Vrd的阈值电压的存储器单元的读取结果可以是“0”,并且针对具有低于第一电压电平Vrd的阈值电压的存储器单元的读取结果可以是“1”。在操作S280中,存储器设备200向存储器控制器100发送第二读取数据RD2。例如,第二读取数据RD2可以是“010...1”并且包括N个比特。
在操作S290中,存储器控制器100通过使用第一读取数据RD1和第二读取数据RD2来生成随机数RN。根据实施例,存储器控制器100可以将第一读取数据RD1与第二读取数据RD2进行比较。详细地,存储器控制器100可以将第一读取数据RD1的各比特与第二读取数据RD2的各比特分别进行比较。此后,存储器控制器100可基于比较结果来确定是否出现翻转比特或翻转比特的数量。
例如,第一读取数据RD1的最高有效比特可以是“1”,第二读取数据RD2的最高有效位可以是“0”,且因此可以确定在最高有效比特中出现了翻转比特。例如,第一读取数据RD1的第二最高有效比特可以是“0”,第二读取数据RD2的第二最高有效比特可以是“1”,且因此可以确定在第二最高有效比特中出现了翻转比特。此后,存储器控制器100可以基于是否出现翻转比特或翻转比特的数量来生成随机数RN。例如,随机数RN可以是“110...0”并且包括N个比特。
图10是根据本发明构思的实施例的存储器控制器100和存储器设备200的操作的信令图。图11是示出了根据图10的实施例的读取操作的示例的曲线图。以下,将参照图1、图10和图11来进行描述。
在操作S300中,存储器控制器100生成写入命令和写入地址。例如,读/写控制模块130可以生成写入命令、写入地址和写入数据。写入地址可以与存储器单元阵列210的部分区域中包括的存储器单元相对应。根据实施例,存储器单元阵列210可以包括用于执行随机数生成所需的读取操作的存储器区域,并且写入地址可以与存储器区域中包括的存储器单元相对应。在操作S310中,存储器控制器100向存储器设备200发送写入命令和写入地址。在操作S320中,存储器设备200针对写入地址来执行写入操作。在操作S330中,存储器设备200向存储器控制器100发送指示写入操作已经完成的响应消息。
在操作S340中,存储器控制器100确定是否经过了第一时间。详细地,存储器控制器100可以确定从完成了写入操作的第一时间点开始是否经过第一时间。例如,第一时间点可以与从存储器设备200接收响应消息的时间点相对应。作为确定的结果,当经过第一时间时,当前处理进行到操作S350,否则当前处理返回到操作S340。完成了写入操作的多个存储器单元可以具有根据阈值电压的第一分布111,并且一旦经过第一时间,根据多个存储器单元的阈值电压的第一分布111可以改变为第二分布112。
在操作S350中,存储器控制器100生成读取命令和读取地址。例如,读取地址可以与写入地址相同。在操作S360中,存储器控制器100向存储器设备200发送读取命令和读取地址。在操作S370中,存储器设备200针对读取地址来执行读取操作并生成读取数据RD。详细地,存储器设备200可以通过使用第一电压电平Vrd对存储器单元执行读取操作。在操作S380中,存储器设备200向存储器控制器100发送读取数据RD。
在操作S390中,存储器控制器100基于读取数据RD来生成随机数RN。根据实施例,可以与图6的操作S150类似地执行操作S390,且在这种情况下,可以在操作S350和S380之间执行与图6的操作S110至S140相对应的操作。根据实施例,可以与图8的操作S290类似地执行操作S390,且在这种情况下,可以在操作S350和S380之间执行与图8的操作S250至S280相对应的操作。
图12是根据本发明构思的实施例的存储器控制器100和存储器设备200的操作的信令图。图13是示出了根据图12的实施例的读取操作的示例的曲线图。以下,将参照图1、图12和图13来进行描述。
在操作S410中,存储器控制器100控制写入参数并生成写入命令和写入地址。例如,读/写控制模块130可以控制写入参数,例如,置位电流或复位电压。写入地址可以与存储器单元阵列210的部分区域中包括的存储器单元相对应。在操作S420中,存储器控制器100向存储器设备200发送写入参数、写入命令和写入地址。在操作S430中,存储器设备200通过使用写入参数针对写入地址来执行写入操作。在操作S440中,存储器设备200向存储器控制器100发送指示写入操作已经完成的响应消息。
当执行对用户数据的正常写入操作时,在第一编程状态下编程的存储器单元可具有第一分布131。然而,根据本实施例,当通过使用经改变的写入参数来执行写入操作时,在第一编程状态下编程的存储器单元可以具有第二分布132。针对具有第二分布132的存储器单元的读取结果可以比针对具有第一分布131的存储器单元的读取结果更随机。如上所述,读/写控制模块130可以控制写入参数,使得要用于随机数生成的读取数据RD更随机。
根据实施例,可以在向市场发布存储器设备200或存储器系统10之前执行操作S410至S440。换言之,可以在市场发布产品之前执行针对要从其读取数据以生成随机数RN的存储器单元的写入操作。根据实施例,可以在向市场发布存储器设备200或存储器系统10之后执行操作S410至S440。例如,可以在产品的使用中执行针对要从其读取数据以生成随机数RN的存储器单元的写入操作。
在操作S450中,存储器控制器100生成读取命令和读取地址。例如,读取地址可以与写入地址相同。在操作S460中,存储器控制器100向存储器设备200发送读取命令和读取地址。在操作S470中,存储器设备200针对读取地址来执行读取操作并生成读取数据RD。详细地,存储器设备200可以通过使用第一电压电平Vrd对存储器单元执行读取操作。在操作S480中,存储器设备200向存储器控制器100发送读取数据RD。
在操作S490中,存储器控制器100基于读取数据RD来生成随机数RN。根据实施例,可以与图6的操作S150类似地执行操作S490,且在这种情况下,可以在操作S450和S480之间执行与图6的操作S110至S140相对应的操作。根据实施例,可以与图8的操作S290类似地执行操作S490,且在这种情况下,可以在操作S450和S480之间执行与图8的操作S250至S280相对应的操作。
图14是根据本发明构思的实施例的存储器控制器100和存储器设备200的操作的信令图。
参考图1和图14,在操作S500中,存储器控制器100生成针对第一存储器单元的第一写入命令和第一写入地址。第一写入地址可以对应于第一存储器单元。在操作S510中,存储器控制器100向存储器设备200发送第一写入命令和第一写入地址。在操作S520中,存储器设备200针对第一写入地址来执行第一写入操作。在操作S525中,存储器设备200向存储器控制器100发送指示第一写入操作已完成的响应消息。
在操作S530中,存储器控制器100生成针对第二存储器单元的第二写入命令和第二写入地址。第二写入地址可以对应于第二存储器单元。本文中,第二存储器单元可被布置在第一存储器单元周围。在操作S540中,存储器控制器100向存储器设备200发送第二写入命令和第二写入地址。在操作S550中,存储器设备200针对第二写入地址来执行第二写入操作。由于执行第二写入操作所引起的编程干扰,可以改变第一存储器单元的分布。在操作S555中,存储器设备200向存储器控制器100发送指示第二写入操作已经完成的响应消息。
在操作S560中,存储器控制器100生成针对第一存储器单元的读取命令和读取地址。例如,读取地址可以与第一写入地址相同。在操作S570中,存储器控制器100向存储器设备200发送读取命令和读取地址。在操作S580中,存储器设备200针对读取地址来执行读取操作并生成读取数据RD。在操作S585中,存储器设备200向存储器控制器100发送读取数据RD。
根据实施例,可以在向市场发布存储器设备200或存储器系统10之前执行操作S500到S555。换言之,可以在向市场发布产品之前执行对要从其读取数据以生成随机数RN的存储器单元的写入操作。根据实施例,可以在向市场发布存储器设备200或存储器系统10之后执行操作S500到S555。例如,可以在产品的使用中执行针对要从其读取数据以生成随机数RN的存储器单元的写入操作。
在操作S590中,存储器控制器100基于读取数据RD来生成随机数RN。根据实施例,可以与图6的操作S150类似地执行操作S590,且在这种情况下,可以在操作S560和S585之间执行与图6的操作S110至S140相对应的操作。根据实施例,可以与图8的操作S290类似地执行操作S590,且在这种情况下,可以在操作S560和S585之间执行与图8的操作S250至S280相对应的操作。
图15A是根据本发明构思的实施例的地址转换模块120a的框图。
参考图15A,地址转换模块120a可以包括转换器122,并且转换器122可以通过对从主机接收的逻辑地址LA和密钥K执行计算,将逻辑地址LA转换为物理地址PA。在这种情况下,密钥K可以被命名为“映射密钥”。例如,转换器122可以通过对逻辑地址LA和密钥K执行XOR运算来生成物理地址PA。在这种情况下,逻辑地址LA和物理地址PA中的每一个地址的比特数可以与密钥K的比特数相同。
可以通过使用从存储器设备接收的读取数据来生成密钥K。例如,密钥K可以对应于读取数据。另外,密钥K可以具有与逻辑地址LA的大小相对应的大小。例如,当逻辑地址LA具有N比特时,密钥K也可以具有N比特。根据一些实施例,地址转换模块120a还可以包括图5的密钥生成器121。
图15B示出了根据图15A的地址转换模块120a的操作来生成的映射表MTa。
参考图15B,映射表MTa可以存储逻辑地址LA和物理地址PA之间的映射信息。例如,地址转换模块120a可以通过对逻辑地址LA1和密钥K执行XOR运算来生成物理地址PAa。例如,地址转换模块120a可以通过对逻辑地址LA2和密钥K执行XOR运算来生成物理地址PAb。在读取操作中,当来自主机的输入地址(例如,逻辑地址)被存储在映射表MTa中时,输入地址可以被转换为相应的物理地址,以从与物理地址相对应的存储器单元读取数据。
根据实施例,物理地址PAa和物理地址PAb可以分别属于不同的块。根据实施例,物理地址PAa和物理地址PAb可以分别属于不同的存储器芯片。如上所述,根据本实施例,存储器控制器100可以随机地分配用于在存储器设备200中写入数据的物理地址,从而减少存储器设备200中的局部耗损的出现并执行耗损均衡。
图16是根据本发明构思的实施例的存储器控制器100的操作方法的流程图。
参考图1、图15A、图15B和图16,在操作S610中,存储器控制器100基于读取数据RD来生成随机数RN。根据一些实施例,可以针对存储器设备200的每个页面、块或芯片以不同方式确定随机数RN。在这种情况下,针对存储器设备200的页面、块或芯片以不同方式确定的随机数RN可被存储在映射表MTa中。在操作S620中,存储器控制器100从主机接收逻辑地址LA。根据一些实施例,可以在操作S620之后执行操作S610。
在操作S630中,存储器控制器100通过使用随机数RN将逻辑地址LA转换为物理地址PA。在这种情况下,存储器控制器100在映射表MTa中存储逻辑地址LA和物理地址PA之间的映射信息。在操作S640中,存储器控制器100将数据写入与物理地址PA相对应的存储器单元中。
如上所述,可以通过随机分配用于访问存储器设备200的物理地址PA来提高存储器设备200的耐久性。另外,可以通过随机生成用于将逻辑地址LA转换为物理地址PA的密钥K(即映射密钥)来增强使用代数映射的存储器系统的安全性。
图17A是根据本发明构思的实施例的地址转换模块120b的框图。
参考图17A,地址转换模块120b可以包括转换器122,并且转换器122可以通过对第一物理地址PA1和密钥K执行计算将第一物理地址PA1转换为第二物理地址PA2。在这种情况下,密钥K可以被命名为“重映射密钥”。例如,转换器122可以通过对第一物理地址PA1和密钥K执行XOR运算来生成第二物理地址PA2。如上所述,地址转换模块120b将原始物理地址(即,第一物理地址PA1)转换为新的物理地址(即,第二物理地址PA2),且因此地址转换模块120b可以被称为“地址重新映射模块”或“地址重映射器”。在一些示例中,可以基于从主机接收的逻辑地址LA来生成第一物理地址PA1。
可以通过使用从存储器设备接收的读取数据来生成密钥K。例如,密钥K可以是“01”。例如,密钥K可以对应于读取数据。另外,密钥K可以具有与第一物理地址PA1的大小相对应的大小。例如,当第一物理地址PA1具有两个比特时,密钥K也可以具有两个比特。根据一些实施例,地址转换模块120b还可以包括图5的密钥生成器121。
图17B示出了根据图17A的地址转换模块120b的操作来生成的映射表MTb。
参考图17B,映射表MTb可以存储逻辑地址LA和第一物理地址PA1之间的映射信息。在图17B中,为了便于描述,省略了逻辑地址LA,以关注第一物理地址PA1和第二物理地址PA2。另外,映射表MTb还可以存储与第一物理地址PA1中存储的数据有关的信息。例如,存储数据A的第一物理地址PA1可以是“00”,存储数据B的第一物理地址PA1可以是“01”,存储数据C的第一物理地址PA1可以是“10”,以及存储数据D的第一物理地址PAl可以是“11”。
地址转换模块120b可以通过对第一物理地址PA1和密钥K执行XOR运算来生成第二物理地址PA2。例如,地址转换模块120b可以通过对第一物理地址PA1“00”和密钥K“01”执行XOR运算来将第二物理地址PA2生成为“01”。根据实施例,第一物理地址PA1和第二物理地址PA2可以属于同一块。因此,可以防止同一块中包括的一页的不均衡耗损,并且可以使同一块中包括的多页的耗损程度均衡。
然而,本发明构思不限于此,并且根据一些实施例,第一物理地址PA1和第二物理地址PA2可以分别属于不同的块。因此,可以防止同一芯片中包括的一个块的不均衡耗损,并且可以使同一芯片中包括的多个块的耗损程度均衡。另外,根据一些实施例,第一物理地址PA1和第二物理地址PA2可以分别属于不同的芯片。因此,可以防止一个芯片的不均衡耗损,并且可以使多个芯片的耗损程度均衡。如上所述,根据本实施例,存储器控制器100可以随机地分配用于在存储器设备200中写入数据的物理地址,从而减少存储器设备200中的局部耗损的出现并执行耗损均衡。
图18是根据本发明构思的实施例的存储器控制器100的操作方法的流程图。
参考图1、图17A、图17B和图18,在操作S710中,存储器控制器100基于读取数据RD来生成随机数RN。根据一些实施例,可以针对存储器设备200的每个页面、块或芯片以不同方式来确定随机数RN。在这种情况下,针对存储器设备200的页面、块或芯片以不同方式确定的随机数RN可被存储在映射表MTb中。在操作S720中,存储器控制器100从主机接收逻辑地址LA。然而,本发明构思不限于此,并且根据一些实施例,可以改变操作S710和S720的顺序。例如,可以在操作S710之前执行操作S720。在操作S730中,存储器控制器100将逻辑地址LA转换为第一物理地址PA1。在这种情况下,存储器控制器100可以在映射表MTb中存储逻辑地址LA和第一物理地址PA1之间的映射信息。根据一些实施例,可以在操作S720或S730之后执行操作S710。
在操作S740中,存储器控制器100通过使用随机数RN将第一物理地址PA1转换为第二物理地址PA2。例如,存储器控制器100可以通过对第一物理地址PA1和随机数RN执行XOR运算来生成第二物理地址PA2。在这种情况下,存储器控制器100可以在映射表MTb′中存储逻辑地址LA和第二物理地址PA2之间的映射信息。在操作S750中,存储器控制器100将数据写入与第二物理地址PA2相对应的存储器单元中。
如上所述,可以通过随机分配用于访问存储器设备200的第二物理地址PA2来改善存储器设备200的耐久性。另外,通过随机生成用于将第一物理地址PA1转换为第二物理地址PA2的密钥K(即,重映射密钥),可以进一步增强使用代数映射的存储器系统的安全性。
图19是根据本发明构思的实施例的存储器控制器100的操作方法的流程图。根据本实施例的存储器控制器100的操作方法可以对应于图18的操作方法的一个实现示例。
参考图1、图17A、图17B和图19,在操作S810中,存储器控制器100基于读取数据RD来生成随机数RN。根据一些实施例,可以针对存储器设备200的每个页面、块或芯片以不同方式来确定随机数RN。在这种情况下,针对存储器设备200的页面、块或芯片以不同方式来确定的随机数RN可被存储在映射表MTb中。在操作S820中,存储器控制器100从主机接收逻辑地址。然而,本发明构思不限于此,并且根据一些实施例,可以改变操作S810和S820的顺序。换句话说,可以在操作S810之前执行操作S820。在操作S830中,存储器控制器100通过参考映射表MTb来获得与逻辑地址相对应的第一物理地址PA1。根据一些实施例,可以在操作S820或S830之后执行操作S810。
在操作S840中,存储器控制器100确定写入计数是否超过阈值。根据实施例,存储器控制器100可以管理在预定时段内每个块的写入计数。根据实施例,存储器控制器100可以管理在预定时段内每个页面的写入计数。根据实施例,存储器控制器100可以管理在预定时段内每个芯片的写入计数。当作为确定结果的写入计数小于阈值时,存储器控制器100在操作S850中将数据写入与第一物理地址PA1相对应的存储器单元中。
否则,当作为确定结果的写入计数超过阈值时,存储器控制器100在操作S860中通过使用随机数RN来将第一物理地址PA1转换为第二物理地址PA2。例如,存储器控制器100可以通过对第一物理地址PA1和随机数RN执行XOR运算来生成第二物理地址PA2。在这种情况下,存储器控制器100可以在映射表MTb′中更新与第二物理地址PA2有关的信息。在操作S870中,存储器控制器100将数据写入与第二物理地址PA2相对应的存储器单元中。
图20是根据本发明构思的实施例的存储器控制器100的操作方法的流程图。图21示出了根据图20的地址转换模块的操作所生成的映射表的示例。根据本实施例的存储器控制器100的操作方法可以对应于图18的操作方法的一个实现示例。在下文中,将参考图1、图17A、图17B、图20和图21来描述存储器控制器100的操作方法。
在操作S910中,存储器控制器100基于读取数据RD来生成第一随机数和第二随机数。根据实施例,存储器控制器100可以对存储器设备200顺序地执行第一读取操作和第二读取操作,并且因此顺序地接收第一读取数据和第二读取数据。根据实施例,存储器控制器100可以对存储器设备200执行读取操作,且因此将读取数据的一部分确定为第一读取数据,并将读取数据的另一部分确定为第二读取数据。存储器控制器100可以基于第一读取数据来生成第一随机数,并基于第二读取数据来生成第二随机数。然而,本发明构思不限于此,并且根据一些实施例,可以在操作S920之后(例如,在操作S940之后)执行生成第二随机数的操作。
在操作S920中,存储器控制器100从主机接收逻辑地址。然而,本发明构思不限于此,并且根据一些实施例,可以改变操作S910和S920的顺序。换句话说,可以在操作S910之前执行操作S920。在操作S930中,存储器控制器100通过参考映射表MTb来获得与逻辑地址相对应的第一物理地址PA1。在操作S940中,存储器控制器100确定写入计数是否超过阈值。当作为确定结果的写入计数小于阈值时,存储器控制器100在操作S950中通过使用第一随机数将第一物理地址PA1(例如,“00”)转换为第二物理地址PA2(例如,“01”)。在操作S960中,存储器控制器100将数据写入与第二物理地址PA2相对应的存储器单元中。
否则,当作为确定结果的写入计数超过阈值时,存储器控制器100在操作S970中通过使用第二随机数将第一物理地址PA1转换为第三物理地址PA3。例如,地址转换模块120b可以通过对第一物理地址PA1“00”和密钥K“11”执行XOR运算,将第三物理地址PA3生成为“11”。因此,其中要写入数据A的第三物理地址PA3可以被确定为“11”。例如,地址转换模块120b可以通过对第一物理地址PA1“11”和密钥K“11”执行XOR运算,将第三物理地址PA3生成为“00”。因此,其中要写入数据D的第三物理地址PA3可以被确定为“00”。在这种情况下,存储器控制器100可以在映射表MTb″中更新与第三物理地址PA3有关的信息。在操作S980中,存储器控制器100将数据写入与第三物理地址PA3相对应的存储器单元中。
图22是根据本发明构思的实施例的存储器控制器100a的框图。
参考图22,存储器控制器100a可以包括随机数生成器110和随机化器140。根据本实施例的存储器控制器100a可以与图1的存储器控制器100的修改实施例相对应,且以上参考图1、图2、图3A、图3B、图4至图6、图7A、图7B、图8、图9A、图9B、图10至图14、图15A、图15B、图16、图17A、图17B和图18至图21进行的说明也可以应用于本实施例。
随机数生成器110可以基于从存储器设备(例如,图1中的200)接收的读取数据RD来生成随机数RN。根据实施例,随机数生成器110可以是TRNG。随机化器140可以通过使用随机数RN将从主机接收的输入数据Din随机化为随机数据Dr。根据实施例,随机化器140可以通过使用随机数RN作为种子的至少一部分根据输入数据Din来生成随机数据Dr。随机化器140可以被命名为“数据随机化器”。
详细地说,图23是根据本发明构思的实施例的随机化器140的框图。
参考图23,随机化器140可以包括伪随机数生成器141和计算器142。伪随机数生成器141可以通过使用随机数RN作为种子的至少一部分,根据随机数RN来生成伪随机数序列PRNS。例如,伪随机数生成器141可以包括线性反馈移位寄存器(LFSR)。LFSR可以通过改变被称为种子的初始值或改变反馈抽头(feedback tap)来改变伪随机数序列PRNS。
根据实施例,伪随机数生成器141可以通过使用随机数RN作为种子来生成伪随机数序列PRNS。例如,随机数RN可以具有N个比特,并且伪随机数序列PRNS也可以具有N个比特。根据实施例,伪随机数生成器141可以通过使用随机数RN和位线地址(即,列地址)和字线地址(即,行地址)中的至少一个作为种子来生成伪随机数序列PRNS。例如,随机数RN可以具有N个比特,并且伪随机数序列PRNS可以具有M个比特,其中M大于N。根据实施例,伪随机数生成器141可以通过使用随机数RN和对存储器设备的防问操作所需的信息(诸如块地址、字线地址、位线地址、芯片标识(ID)或执行的编程次数)作为种子来生成伪随机数序列PRNS。
计算器142可以通过对输入数据Din和伪随机数序列PRNS执行计算来将输入数据Din转换为随机数据Dr。例如,计算器142可以通过对输入数据Din和伪随机数序列PRNS执行XOR运算将输入数据Din转换为随机数据Dr。
图24是根据本发明构思的实施例的存储器控制器100b的框图。
参考图24,存储器控制器100b可以包括随机数生成器110、地址转换模块120和随机化器140。存储器控制器100b可以是图1的存储器控制器100的修改实施例或图22的存储器控制器100a,以及参考图1到图23进行的上述描述也可以应用于本实施例。
随机数生成器110可以基于从存储器设备接收的读取数据RD来生成第一随机数RN1和第二随机数RN2。根据实施例,随机数生成器110可以顺序地生成第一随机数RN1和第二随机数RN2。然而,本发明构思不限于此,并且根据一些实施例,随机数生成器110可以基本上同时生成第一随机数RN1和第二随机数RN2。地址转换模块120可以通过使用第一随机数RN1将第一地址ADDR1转换为第二地址ADDR2。随机化器140可以通过使用第二随机数RN2将输入数据Din转换为随机数据Dr。
图25是根据本发明构思的实施例的存储器控制器100c的框图。
参考图25,存储器控制器100c可以包括处理器PRC、随机数生成器(RNG)110、地址转换模块120、随机化器140、内部存储器MEM、主机接口IF1和存储器接口IF2,以及这些组件可以经由总线B彼此通信。处理器PRC可以包括中央处理单元(CPU)、微处理器等,并控制存储器控制器100c的一般操作。根据实施例,处理器PRC可以由多核处理器实现,例如,由双核处理器或四核处理器实现。
根据实施例,RNG 110、地址转换模块120和随机化器140中的每一个可以由硬件实现。然而,本发明构思不限于此,并且RNG 110、地址转换模块120或随机化器140中的至少一个可以通过固件或软件实现并且被加载在内部存储器MEM中。内部存储器MEM在处理器PRC的控制下操作,并且可以用作操作存储器、缓冲存储器、高速缓冲存储器等。例如,内部存储器MEM可以由诸如DRAM或静态RAM(SRAM)之类的易失性存储器或诸如PRAM或闪存之类的非易失性存储器实现。
映射表(MT)可被加载在内部存储器MEM中。根据实施例,MT可以存储从主机接收的逻辑地址与存储器设备的物理地址之间的映射信息。根据实施例,MT可以存储存储器设备的原始物理地址和新物理地址之间的映射信息。根据实施例,MT可以存储与存储器设备的页面、块或芯片分别对应的写入计数。根据实施例,MT可以存储要用于地址转换的密钥值。根据实施例,MT可以存储与存储器设备的页面、块或芯片分别对应的密钥值。
主机接口IF1可以提供主机和存储器控制器100c之间的接口,并提供根据如下各项的接口:例如通用串行总线(USB)、多媒体卡(MMC)、外围组件互连快速(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、增强型小磁盘接口(ESDI)、集成驱动电子设备(IDE)等。
存储器接口IF2可以提供存储器控制器100c和存储器设备(例如,图1中的200)之间的接口。例如,写入数据和读取数据可以经由存储器接口IF2在存储器控制器100c和存储器设备200之间被发送和接收。根据实施例,存储器接口IF2的数量可以与存储器系统中包括的存储器芯片的数量相对应,或与存储器控制器100c与存储器设备200之间的通道的数量相对应。
图26是根据本发明构思的实施例的存储器控制器的操作方法的流程图。
参考图26,在操作S1010中,存储器控制器对存储器设备执行读取操作以从存储器设备接收读取数据。在操作S1030中,存储器控制器基于读取数据来生成随机数。在操作S1050中,存储器控制器通过使用随机数来随机地生成用于访问存储器设备的物理地址或者要写入存储器设备中的写入数据。
图27是根据本发明构思的实施例的存储器控制器30的框图。
参考图27,存储器控制器30可以包括地址交织器310、布隆(bloom)过滤器320和热数据高速缓存330。地址交织器310可以包括RNG,并可基于从存储器设备接收的读取数据RD来生成随机数。另外,地址交织器310可以通过使用随机数将第一地址ADDR1转换为第二地址ADDR2,从而防止在存储器设备中出现局部耗损。例如,地址交织器310可以包括图1的随机数生成器110和地址转换模块120。
布隆过滤器320是使用数据结构来确定特定元素是否在特定集合中的数据存储和确定设备。根据实施例,布隆过滤器320可以从地址交织器310接收第二地址ADDR2,并且将散列函数应用于第二地址ADDR2,以确定写入第二地址ADDR2的数据是否被加载到热数据高速缓存330中。当作为确定结果将写入第二地址ADDR2中的数据加载到热数据高速缓存330中时,可以从热数据高速缓存330读取数据。否则,当作为确定结果写入第二地址ADDR2中的数据未被加载到热数据高速缓存330中时,存储器控制器30可以访问存储器设备并从存储器设备读取数据。
图28是根据本发明构思的实施例的存储器系统40的框图。
参考图28,存储器系统40可以包括存储器模块400和存储器控制器500,并且存储器模块400可以包括安装在模块板上的多个存储器芯片410、420、430。存储器模块400可以以单列直插式存储器模块(SIMM)或双列直插式存储器模块(DIMM)的形式实现。备选地,存储器模块400可以与各种类型的DIMM相对应。例如,诸如全缓冲DIMM(FB-DIMM)和负载减小DIMM(LR-DIMM)之类的各种类型的DIMM可以应用于存储器模块400。备选地,存储器模块400可以与配备有非易失性存储器(例如,闪存)的非易失性DIMM(NVDIMM)相对应,以补充解决当电源关闭时数据丢失的易失性存储器的问题。
另外,作为各种类型的模块,图28示出了存储器模块400包括作为电阻性存储器的PRAM并因此与相变DIMM(P-DIMM)相对应的示例。本发明构思的实施例适用于附加的各种类型的模块,并且例如存储器模块400包括具有电阻性存储器单元的2D或3D型交叉点存储器芯片,且因此可以被称为XPoint DIMM(或3DXPoint DIMM)。
根据上述实施例,存储器控制器500可以包括RNG,并且RNG可以基于从存储器模块400接收的读取数据RD来生成随机数。存储器控制器500可以通过使用随机数来随机地生成用于访问存储器设备的物理地址或者要写入存储器模块400中的写入数据。
根据本发明构思,存储器控制器可以基于从存储器设备接收的读取数据来生成随机数,并且通过使用随机数来随机生成用于访问存储器设备的物理地址或者要写入存储器设备中的写入数据,从而减少了存储器设备中局部耗损的出现并执行耗损均衡。因此,可以改善包括存储器设备在内的存储器系统的耐久性。
另外,根据本发明构思,存储器控制器可以基于从存储器设备接收的读取数据来生成随机数,并且通过使用随机数将第一地址转换为第二地址,从而不容易暴露映射信息。因此,可以防止在存储器系统中出现耐久性故障。
如上所述,参考附图和描述公开了示例实施例。尽管使用特定术语来描述说明书中的实施例,但是这些术语用于描述本发明构思的技术理念,而不是用于限制权利要求中的含义或限制权利要求中的本发明构思的范围。尽管已经参考本发明构思的实施例具体示出和描述了本发明构思,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (19)
1.一种存储器系统,包括:
存储器设备,包括具有多个第一存储器单元的存储器单元阵列;以及
存储器控制器,被配置为控制所述存储器设备,
其中,所述存储器控制器包括:
随机数生成器,被配置为基于来自所述存储器设备的读取数据来生成随机数;以及
地址转换模块,被配置为基于所述随机数来生成密钥,并通过对第一地址和所述密钥执行计算将所述第一地址转换为第二地址,
其中,所述第一地址与所述存储器设备的第一物理地址相对应,
其中,所述第二地址与所述存储器设备的第二物理地址相对应,以及
其中,所述地址转换模块还被配置为:当所述存储器设备的写入计数超过阈值时,将所述第一物理地址转换为所述第二物理地址。
2.根据权利要求1所述的存储器系统,其中,所述地址转换模块还被配置为将从主机接收的逻辑地址转换为所述存储器设备的物理地址。
3.根据权利要求1所述的存储器系统,其中,所述存储器设备的写入计数包括针对所述存储器单元阵列的每个块和每个页面中的一项的写入计数。
4.根据权利要求1所述的存储器系统,其中,所述存储器控制器还包括随机化器,所述随机化器被配置为:
通过使用所述随机数作为种子来生成伪随机数序列,以及
通过对从主机接收的输入数据和所述伪随机数序列执行计算,将所述输入数据转换成随机数据。
5.根据权利要求1所述的存储器系统,其中,所述存储器控制器还包括读/写控制模块,所述读/写控制模块被配置为将所述多个第一存储器单元的读取电压确定为第一电压电平,并且通过使用所述第一电压电平对所述多个第一存储器单元执行读取操作,以及
其中,所述随机数生成器被配置为通过使用所述第一电压电平基于来自所述多个第一存储器单元的读取数据来生成随机数。
6.根据权利要求1所述的存储器系统,其中,所述存储器控制器还包括读/写控制模块,所述读/写控制模块被配置为控制对所述存储器设备的第一读取操作以从所述存储器设备接收第一读取数据,并且控制对所述存储器设备的第二读取操作以从所述存储器设备接收第二读取数据,以及
其中,所述随机数生成器还被配置为将所述第一读取数据与所述第二读取数据进行比较以确定是否出现翻转比特或者翻转比特的数量,并且基于是否已出现翻转比特或者翻转比特的数量来生成随机数。
7.根据权利要求1所述的存储器系统,其中,所述存储器控制器还包括读/写控制模块,所述读/写控制模块被配置为控制对所述多个第一存储器单元或布置在所述多个第一存储器单元周围的多个第二存储器单元的写入操作,使得改变所述多个第一存储器单元的阈值电压,并且在完成对所述多个第二存储器单元的写入操作之后,对所述多个第一存储器单元执行读取操作。
8.根据权利要求1所述的存储器系统,其中,所述存储器设备包括相变随机存取存储器(PRAM)。
9.一种包括随机数生成器在内的存储器控制器的操作方法,所述操作方法包括:
对存储器设备执行读取操作以从所述存储器设备接收读取数据;
基于所述读取数据由所述随机数生成器来生成随机数;以及
通过使用所述随机数来随机生成用于访问所述存储器设备的第一物理地址或要被写入所述存储器设备的写入数据,
执行所述读取操作包括:
对所述存储器设备中包括的多个第一存储器单元执行第一读取操作,以从所述多个第一存储器单元接收第一读取数据;以及
对所述存储器设备中包括的多个第二存储器单元执行第二读取操作,以从所述多个第二存储器单元接收第二读取数据,以及
其中,生成所述随机数包括:
将所述第一读取数据与所述第二读取数据进行比较;
基于比较的结果来确定是否出现翻转比特或翻转比特的数量;以及
基于是否已出现翻转比特或翻转比特的数量来生成所述随机数。
10.根据权利要求9所述的操作方法,在执行所述读取操作之前还包括:
将所述存储器设备中包括的多个存储器单元的读取电压确定为第一电压电平,
其中,生成所述随机数包括:通过使用所述第一电压电平基于来自所述多个存储器单元的读取数据来生成所述随机数。
11.根据权利要求9所述的操作方法,其中,所述多个第一存储器单元与所述多个第二存储器单元相同。
12.根据权利要求9所述的操作方法,在执行所述读取操作之前还包括:
对所述存储器设备中包括的多个存储器单元执行写入操作,
其中,执行所述读取操作包括:当从完成执行所述写入操作的时间点开始经过第一时间时,对所述多个存储器单元执行所述读取操作。
13.根据权利要求9所述的操作方法,在执行所述读取操作之前还包括:
控制针对所述存储器设备中包括的存储器单元的写入参数;以及
通过使用所述写入参数对所述存储器单元执行写入操作,
其中,执行所述读取操作包括:在完成对所述存储器单元执行写入操作之后对所述存储器单元执行所述读取操作。
14.根据权利要求13所述的操作方法,其中,所述写入参数包括复位电压和置位电流中的至少一项。
15.根据权利要求9所述的操作方法,在执行所述读取操作之前还包括:
对所述存储器设备中包括的多个第一存储器单元执行第一写入操作;以及
在完成对所述多个第一存储器单元执行第一写入操作之后,对所述存储器设备中包括的并且被布置在所述第一存储器单元周围的多个第二存储器单元执行第二写入操作,
其中,执行所述读取操作包括:在完成对所述多个第二存储器单元执行第二写入操作之后对所述多个第一存储器单元执行所述读取操作。
16.根据权利要求9所述的操作方法,其中,随机生成所述第一物理地址包括以下至少一项:
通过使用所述随机数将从主机接收的逻辑地址转换为所述存储器设备的第一物理地址;
通过使用所述随机数将所述第一物理地址转换为第二物理地址;以及
通过使用所述随机数作为种子将从所述主机接收的输入数据转换成随机数据。
17.一种存储器控制器,包括:
随机数生成器,被配置为基于来自存储器设备的读取数据来生成随机数;
地址转换模块,被配置为通过使用所述随机数将从主机接收的逻辑地址转换为所述存储器设备的第一物理地址,并且将所述第一物理地址转换为所述存储器设备的第二物理地址;以及
随机化器,被配置为通过使用所述随机数将从所述主机接收的输入数据转换为随机数据,
其中,所述地址转换模块包括:
密钥生成器,被配置为根据所述随机数来生成密钥;以及
转换器,被配置为通过对所述逻辑地址和所述密钥执行计算来生成所述第一物理地址,并且通过对所述第一物理地址和所述密钥执行计算来生成所述第二物理地址,以及
其中,所述随机化器包括:
伪随机数生成器,被配置为根据所述随机数来生成伪随机数序列;以及
计算器,被配置为通过对所述输入数据和所述伪随机数序列执行计算来生成所述随机数据。
18.根据权利要求17所述的存储器控制器,其中,所述地址转换模块还被配置为:当所述存储器设备的写入计数超过阈值时,将所述第一物理地址转换为所述第二物理地址,以及
其中,所述存储器设备的写入计数包括针对所述存储器设备的每个块和每个页面中的一项的写入计数。
19.根据权利要求17所述的存储器控制器,还包括:
读/写控制模块,被配置为控制对所述存储器设备的第一读取操作以从所述存储器设备接收第一读取数据,并且控制对所述存储器设备的第二读取操作以从所述存储器设备接收第二读取数据,
其中,所述随机数生成器还被配置为将所述第一读取数据与所述第二读取数据进行比较以确定是否出现翻转比特或者翻转比特的数量,并且基于是否已出现翻转比特或者翻转比特的数量来生成随机数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0145647 | 2018-11-22 | ||
KR1020180145647A KR102644274B1 (ko) | 2018-11-22 | 2018-11-22 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 메모리 컨트롤러의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209222A CN111209222A (zh) | 2020-05-29 |
CN111209222B true CN111209222B (zh) | 2024-01-16 |
Family
ID=70770155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910806585.9A Active CN111209222B (zh) | 2018-11-22 | 2019-08-28 | 存储器控制器及其操作方法和存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11055229B2 (zh) |
KR (1) | KR102644274B1 (zh) |
CN (1) | CN111209222B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11757632B2 (en) * | 2018-12-19 | 2023-09-12 | Micron Technology, Inc. | Generating a random value based on a noise characteristic of a memory cell |
US11288181B2 (en) * | 2019-03-07 | 2022-03-29 | Silicon Motion, Inc. | Flash memory initialization scheme for writing boot up information into selected pages averagely and randomly distributed over more pages and correspondingly method for reading boot up information from selected pages |
US20220277072A1 (en) * | 2019-08-16 | 2022-09-01 | Regents Of The University Of Michigan | Thwarting control plane attacks with displaced and dilated address spaces |
KR102467915B1 (ko) | 2021-05-17 | 2022-11-17 | 한국전자통신연구원 | 저항 변화 메모리 기반 가우시안 추출 장치 및 방법 |
KR102558145B1 (ko) | 2021-05-20 | 2023-07-25 | 한국전자통신연구원 | 플래시 메모리를 이용한 가우시안 오류 데이터 생성 방법 및 이를 이용한 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097550A (zh) * | 2006-06-26 | 2008-01-02 | 索尼株式会社 | 存储器存取控制设备和方法、以及通信设备 |
CN101114257A (zh) * | 2006-07-25 | 2008-01-30 | 索尼株式会社 | 存储器存取控制装置和方法、以及通信装置 |
CN103971724A (zh) * | 2013-02-06 | 2014-08-06 | 三星电子株式会社 | 存储器、存储控制器、存储系统、及其操作方法 |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8130955B2 (en) | 2007-12-21 | 2012-03-06 | Spansion Llc | Random number generation through use of memory cell activity |
KR101374427B1 (ko) | 2008-05-23 | 2014-03-17 | 에이저 시스템즈 엘엘시 | 보안 난수 생성기 |
DE112010005842T8 (de) * | 2010-10-05 | 2014-07-17 | Hewlett-Packard Development Company, L.P. | Verwürfeln einer Adresse und Verschlüsseln von Schreibdaten zum Speichern in einer Speichervorrichtung |
US8806171B2 (en) | 2011-05-24 | 2014-08-12 | Georgia Tech Research Corporation | Systems and methods providing wear leveling using dynamic randomization for non-volatile memory |
US9396118B2 (en) | 2011-12-28 | 2016-07-19 | Intel Corporation | Efficient dynamic randomizing address remapping for PCM caching to improve endurance and anti-attack |
KR102083271B1 (ko) * | 2012-07-31 | 2020-03-02 | 삼성전자주식회사 | 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법 |
US20160028544A1 (en) | 2012-11-15 | 2016-01-28 | Elwha Llc | Random number generator functions in memory |
KR102060996B1 (ko) | 2013-01-07 | 2020-02-11 | 삼성전자주식회사 | 단말기의 메모리 주소 및 데이터변환 장치 및 방법 |
US10176121B2 (en) * | 2013-07-15 | 2019-01-08 | Infineon Technologies Ag | Apparatus and method for memory address encryption |
TWI521525B (zh) * | 2013-11-22 | 2016-02-11 | 群聯電子股份有限公司 | 時間估測方法、記憶體儲存裝置、記憶體控制電路單元 |
TWI545580B (zh) * | 2014-01-07 | 2016-08-11 | 群聯電子股份有限公司 | 隨機數產生方法、記憶體儲存裝置及控制電路 |
US9916261B2 (en) * | 2014-05-19 | 2018-03-13 | Infineon Technologies Ag | Randomized memory access |
JP6587188B2 (ja) | 2015-06-18 | 2019-10-09 | パナソニックIpマネジメント株式会社 | 乱数処理装置、集積回路カード、および乱数処理方法 |
US20170288885A1 (en) | 2016-03-31 | 2017-10-05 | Intel Corporation | System, Apparatus And Method For Providing A Physically Unclonable Function (PUF) Based On A Memory Technology |
US20170357592A1 (en) * | 2016-06-09 | 2017-12-14 | Vmware, Inc. | Enhanced-security page sharing in a virtualized computer system |
-
2018
- 2018-11-22 KR KR1020180145647A patent/KR102644274B1/ko active IP Right Grant
-
2019
- 2019-06-20 US US16/446,912 patent/US11055229B2/en active Active
- 2019-08-28 CN CN201910806585.9A patent/CN111209222B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097550A (zh) * | 2006-06-26 | 2008-01-02 | 索尼株式会社 | 存储器存取控制设备和方法、以及通信设备 |
CN101114257A (zh) * | 2006-07-25 | 2008-01-30 | 索尼株式会社 | 存储器存取控制装置和方法、以及通信装置 |
CN103971724A (zh) * | 2013-02-06 | 2014-08-06 | 三星电子株式会社 | 存储器、存储控制器、存储系统、及其操作方法 |
CN107015920A (zh) * | 2015-12-30 | 2017-08-04 | 三星电子株式会社 | 存储设备和存储设备的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200167290A1 (en) | 2020-05-28 |
US11055229B2 (en) | 2021-07-06 |
CN111209222A (zh) | 2020-05-29 |
KR102644274B1 (ko) | 2024-03-06 |
KR20200060104A (ko) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209222B (zh) | 存储器控制器及其操作方法和存储器系统 | |
US10741245B2 (en) | Resistive memory device and resistive memory system including a plurality of layers, and method of operating the system | |
US20180130537A1 (en) | Data storage device and operating method thereof | |
US10585597B2 (en) | Wear leveling | |
US10902924B2 (en) | Memory system varying pass voltage based on erase count of target memory block and operating method thereof | |
US20200065024A1 (en) | Data storage apparatus, operating method thereof, and storage system having the same | |
CN111916140B (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
US10025517B2 (en) | Memory system | |
TWI707268B (zh) | 資料儲存裝置及其操作方法 | |
US11348639B2 (en) | Non-volatile memory device, storage device having the same, and reading method thereof | |
CN108073523A (zh) | 算术电路及半导体器件 | |
CN111192618A (zh) | 确定耐久性降低的存储器控制器、存储器系统和操作方法 | |
US20190332322A1 (en) | Memory system including resistive variable memory device and operating method thereof | |
KR102490567B1 (ko) | 디스터번스를 방지하는 반도체 메모리 장치 | |
KR20190085645A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10872665B2 (en) | Memory device performing data comparison write and memory system including the same | |
KR102341698B1 (ko) | 메모리 동작을 위한 전용 명령 | |
US11456033B2 (en) | Dedicated commands for memory operations | |
US11450394B2 (en) | Controller and operating method thereof | |
KR20210031367A (ko) | 컨트롤러 및 그것의 동작 방법 |
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 |