CN111796764A - 存储器设备及其操作方法 - Google Patents
存储器设备及其操作方法 Download PDFInfo
- Publication number
- CN111796764A CN111796764A CN201911375068.7A CN201911375068A CN111796764A CN 111796764 A CN111796764 A CN 111796764A CN 201911375068 A CN201911375068 A CN 201911375068A CN 111796764 A CN111796764 A CN 111796764A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- buffer
- memory area
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/0004—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 comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- 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/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/0061—Timing 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/10—Programming or data input 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/26—Sensing or reading circuits; Data output 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/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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
- G11C2013/0076—Write operation performed depending on read result
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
本公开涉及存储器设备及其操作方法。一种包括第一存储器区域和第二存储器区域的存储器设备的操作方法,包括:从第一存储器区域读取第一数据并将读取的第一数据存储在数据缓冲器块中,对从数据缓冲器块提供的第一数据和从第二存储器区域读取的第二数据执行第一XOR运算以生成第一结果数据,将存储在数据缓冲器块中的第一数据写入第二存储器区域,对第一数据和第一结果数据执行第二XOR运算以生成第二数据,将生成的第二数据存储在数据缓冲器块中,以及将存储在数据缓冲器块中的第二数据写入第一存储器区域。
Description
相关申请的交叉引用
本申请要求于2019年4月5日向韩国知识产权局提交的韩国专利申请第10-2019-0040123号的优先权,其内容通过引用全部合并于此。
技术领域
本文描述的本公开的实施例涉及半导体设备,并且更具体地,涉及用于交换存储在不同存储器区域中的数据的存储器设备及其操作方法。
背景技术
半导体存储器设备被分类为易失性存储器设备和非易失性存储器设备,其中,在易失性存储器设备中,当关闭电源时,存储的数据消失,而在非易失性存储器设备中,即使关闭电源,其存储的数据也被保留。
存储器设备可以出于坏块管理、损耗均衡等目的交换存储在不同存储器区域中的数据。为了交换数据,可以将存储在存储器设备中的数据传送到存储器控制器,并且可以将传送到存储器控制器的数据再次传送到存储器设备。在这种情况下,存储器设备与存储器控制器之间的数据通信可能导致开销增加。此外,存储器控制器可能需要单独的交换缓冲器以用于数据交换,并且存储器设备与存储器控制器之间的数据通信可能会导致交换速度降低。
发明内容
本公开的实施例提供了能够在不使用存储器控制器的情况下交换存储器设备内的数据的存储器设备及其操作方法。
根据示例性实施例,一种包括第一存储器区域和第二存储器区域的存储器设备的操作方法包括:从第一存储器区域读取第一数据,并将读取的第一数据存储在数据缓冲器块中;对从数据缓冲器块提供的第一数据和从第二存储器区域读取的第二数据执行第一异或(exclusive OR,XOR)运算以生成第一结果数据,将存储在数据缓冲器块中的第一数据写入第二存储器区域,对第一数据和第一结果数据执行第二XOR运算以生成第二数据,将生成的第二数据存储在数据缓冲器块中,并将存储在数据缓冲器块中的生成的第二数据写入第一存储器区域。
根据示例性实施例,一种存储器设备包括:存储器单元阵列,其包括存储第一数据的第一存储器区域和存储第二数据的第二存储器区域;读电路,其从第一存储器区域读取第一数据;数据生成逻辑,其基于来自第二存储器区域的第二数据生成与第二数据相同的第三数据;选择电路,其基于控制信号输出来自读电路的第一数据和来自数据生成逻辑的第三数据之一;数据缓冲器块,其存储从选择电路输出的第一数据或第三数据;以及写电路,其将数据缓冲器块的第一数据写入第二存储器区域并将数据缓冲器块的第三数据写入第一存储器区域。
根据示例性实施例,一种包括第一存储器区域和第二存储器区域的存储器设备的操作方法包括:从第一存储器区域读取第一数据,并将读取的第一数据存储在数据缓冲器中,从第二存储器区域读取第二数据,并将读取的第二数据存储在交换缓冲器中,将存储在数据缓冲器中的第一数据写入第二存储器区域,并将存储在交换缓冲器中的第二数据写入第一存储器区域。
根据示例性实施例,一种存储器设备可以包括:存储器单元阵列,其包括第一存储器单元区域和第二存储器单元区域;数据缓冲器块,其存储来自第一存储器区域的第一数据;数据比较写电路,其对来自数据缓冲器块的第一数据和来自第二存储器区域的第二数据执行第一XOR运算并输出第一结果数据;写电路,其将来自数据缓冲器块的第一数据写入第二存储器区域;读电路,其读取存储在第一存储器区域或第二存储器区域中的第一数据;XOR门,其对数据比较写电路的第一结果数据和来自读电路的第一数据执行第二XOR运算,并生成第二数据;以及选择电路,其输出来自XOR门的第二数据和读电路的输出之一。来自选择电路的第二数据被存储在数据缓冲器块中,并且写电路将来自数据缓冲器块的第二数据写入第一存储器区域。
根据示例性实施例,包括第一存储器区域和第二存储器区域的存储器设备的操作方法可以包括:从第一存储体(bank)的第一存储器区域读取第一数据,将读取的第一数据存储在与第一存储体相对应的第一存储器区域中,从第二存储体的第二存储器区域读取第二数据,并将读取的第二数据存储在与第二存储体相对应的第二数据缓冲器中,将存储在第二数据缓冲器中的第二数据写入第一存储器区域,并将存储在第一数据缓冲器中的第一数据写入第二存储器区域。
根据示例性实施例,具有存储器单元(cell)阵列、行解码器、控制电路、读电路、写电路、第一缓冲器和第二缓冲器的存储器设备的操作方法可以由控制电路执行。所述方法包括以下操作:1)控制读电路从由第一地址标识的存储器单元阵列的第一位置读取第一数据;2)控制第一缓冲器存储在操作(1)中读取的第一数据或第一数据的纠错版本;以及3)控制写电路将存储在第一缓冲器中的第一数据或第一数据的纠错版本写入由第二地址标识的存储器单元阵列的第二位置。响应于控制电路从布置在存储器设备外部的存储器控制器接收到一个或多个命令来执行操作(1)至(3)。
附图说明
通过参考附图详细描述本公开的示例性实施例,本公开的以上和其他目的和特征将变得清楚。
图1示出根据本公开的示例性实施例的存储器系统。
图2示出用于在图1的存储器设备内交换数据的所述存储器设备的示例性框图。
图3是示出图2的存储器设备的操作的示例的流程图。
图4示出图2的存储器设备交换存储在一个存储体中的数据的操作的示例。
图5示出图2的存储器设备交换存储在不同存储体中的数据的操作的示例。
图6示出用于在图1的存储器设备内交换数据的所述存储器设备的另一示例性框图。
图7示出用于在图1的存储器设备内交换数据的所述存储器设备的另一示例性框图。
图8是示出图7的存储器设备的操作的示例的流程图。
图9示出提供给图7的存储器设备以用于数据交换的命令和地址的示例。
图10A至图10D示出图7的存储器设备基于图9的命令和地址来交换数据的操作的示例。
图11示出图7的存储器设备基于图9的命令和地址来交换数据的操作的另一示例。
图12示出提供给图7的存储器设备以用于存储在不同的存储体中的数据的交换的命令和地址的示例。
图13示出图7的存储器设备基于图12的命令和地址来交换数据的操作的示例。
图14示出根据本公开的示例性实施例的存储器系统的框图。
图15示出根据本公开的示例性实施例的存储器系统的框图。
图16是根据本公开的示例性实施例的计算设备的框图。
具体实施方式
以下,可以以本领域普通技术人员容易地实现本公开的程度来详细且清楚地描述本公开的实施例。
图1示出根据本公开的示例性实施例的存储器系统。参考图1,存储器系统1000可以包括存储器控制器10和存储器设备100。
存储器控制器10可以控制存储器设备100的操作。存储器控制器10可以出于控制存储器设备100的目的而提供命令CMD和地址ADDR。存储器设备100可以响应于命令CMD和地址ADDR而操作。例如,存储器设备100可以响应于写命令WC和地址ADDR而将数据(例如,写数据)写入与地址ADDR相对应的存储器区域。例如,存储器设备100可以响应于读命令RC和地址ADDR而从与地址ADDR相对应的存储器区域读取数据(例如,读数据)。
存储器设备100包括存储器单元阵列110。存储器单元阵列110可以包括一个或多个存储体。存储体中的每一个可以包括用于存储数据的存储器区域。存储器区域中的每一个可以包括多个存储器单元。
例如,存储器单元阵列110可以包括第一存储器区域MA1和第二存储器区域MA2。第一存储器区域MA1和第二存储器区域MA2可以被包括在一个存储体或不同存储体中。第一存储器区域MA1可以存储第一数据DATA1,并且第二存储器区域MA2可以存储第二数据DATA2。
存储器设备100可以包括相变随机存取存储器(phase-change random accessmemory,PRAM)。然而,本公开不限于此。例如,存储器设备100可以包括诸如静态RAM(staticRAM,SRAM)、动态RAM(dynamic RAM,DRAM)或同步DRAM(synchronous DRAM,SDRAM)的易失性存储器,或诸如只读存储器(read only memory,ROM)、可编程ROM(programmable ROM,PROM)、电可编程ROM(electrically programmable ROM,EPROM)、电可擦可编程ROM(electrically erasable and programmable ROM,EEPROM)、闪存、磁RAM(magnetic RAM,MRAM)、电阻性RAM(resistive RAM,RRAM)或铁电RAM(ferroelectric RAM,FRAM)的非易失性存储器。
根据本公开的示例性实施例,存储器控制器10可以出于交换存储在存储器设备100的不同存储器区域中的数据的目的,将命令CMD和地址ADDR提供给存储器设备100。
例如,为了数据交换,存储器控制器10可以提供一个交换命令SWAP和两个地址ADDR1和ADDR2。第一地址ADDR1可以对应于第一存储器区域MA1,并且第二地址ADDR2可以对应于第二存储器区域MA2。在这种情况下,存储器设备100可以响应于交换命令SWAP而将存储在第一存储器区域MA1中的第一数据DATA1与存储在第二存储器区域MA2中的第二数据DATA2交换。这样,第二数据DATA2可以存储在第一存储器区域MA1中,并且第一数据DATA1可以存储在第二存储器区域MA2中。
替代地,为了数据交换,存储器控制器10可以提供多个命令CMD和多个地址ADDR。多个命令CMD可以包括激活(active)命令ACT和写命令WC。也就是说,存储器控制器10可以在不使用单独的交换命令SWAP的情况下将存储在第一存储器区域MA1中的第一数据DATA1与存储在第二存储器区域MA2中的第二数据DATA2交换。
如上所述,存储器设备100可以从存储器控制器10接收命令CMD和地址ADDR,并且可以交换数据。也就是说,存储器设备100可以在其中交换数据而无需将存储在存储器单元阵列110中的数据传送到存储器控制器10。因此,可以提高数据交换速度,并且由数据交换造成的存储器设备100与存储器控制器10之间的通信开销可以减少。
图2示出用于在存储器设备内交换数据的图1的存储器设备的示例性框图。参考图2,存储器设备200可以包括存储器单元阵列210、行解码器220、读电路230、写电路240、数据缓冲器块250、交换缓冲器块260和控制逻辑270。
存储器单元阵列210可以包括一个或多个存储体,存储体中的每一个包括用于存储数据的存储器区域。存储器区域中的每一个可以包括连接到字线WL和位线BL的存储器单元。例如,每一行中的存储器单元可以连接到一个字线WL。每一列中的存储器单元可以连接到一个位线BL。然而,本公开不限于此。例如,每一列中的存储器单元可以连接到一个源线以及一个位线BL。
行解码器220通过字线WL连接到存储器单元阵列210。行解码器220可以接收地址ADDR。在这种情况下,地址ADDR可以指示行地址。行解码器220可以基于地址ADDR选择字线WL之一。行解码器220可以向选择的字线施加选择电压或选择电流,并且可以向未选择的字线中的每一个施加非选择(non-selection)电压或非选择电流。
读电路230通过位线BL连接到存储器单元阵列210。读电路230可以将电压或电流施加到位线BL,使得从连接到选择的字线WL的选择的存储器单元读取数据,并且写电路240可以将电压或电流施加到位线BL,使得数据被写入连接到选择的字线WL的选择的存储器单元中。
例如,在存储器单元阵列210包括PRAM单元的情况下,读电路230可以感测位线BL的电压或电流以从选择的存储器单元读取数据。写电路240可以对选择的存储器单元执行置位操作或复位操作以改变选择的存储器单元的电阻值。这样,可以将数据写入选择的存储器单元中。在示例性实施例中,读电路230可以是感测放大器,并且写电路240可以是写驱动器。然而,本公开不限于此。例如,读电路230可以用能够从存储器单元阵列210读取数据的各种电路来实现,并且写电路240可以用能够在存储器单元阵列210中写入数据的各种电路来实现。
数据缓冲器块250可以存储通过读电路230从存储器单元阵列210读取的数据以及从外部设备(例如,图1的存储器控制器10)提供的数据。存储在数据缓冲器块250中的数据可以被输出到外部设备,或者可以通过写电路240被写入存储器单元阵列210。例如,数据缓冲器块250可以是页缓冲器。然而,本公开不限于此。
数据缓冲器块250可以包括一个或多个数据缓冲器。例如,数据缓冲器块250可以包括与存储器单元阵列210的存储体中的每一个相对应的数据缓冲器。在这种情况下,可以在数据缓冲器和存储器单元阵列210的存储体当中的对应存储体之间执行数据传送。
交换缓冲器块260可以包括一个或多个交换缓冲器。例如,交换缓冲器块260可以包括与存储器单元阵列210的存储体中的每一个相对应的交换缓冲器。在这种情况下,交换缓冲器可以用于交换存储器单元阵列210的数据。
可以通过读电路230和写电路240在交换缓冲器块260和存储器单元阵列210之间执行数据传送。在示例性实施例中,交换缓冲器块260可以存储从存储器单元阵列210的某区域(certain region)读取的数据。在这种情况下,可以将存储在交换缓冲器块260中的数据提供给存储器单元阵列210的不同于所述某区域的区域。
也就是说,数据缓冲器块250可以用于将从外部设备输入的数据提供给存储器单元阵列210,或者将从存储器单元阵列210读取的数据输出给外部设备。相反,交换缓冲器块260可以用于交换存储在存储器单元阵列210中的数据。
控制逻辑270可以控制存储器设备200的每个组件的操作。例如,控制逻辑270可以控制行解码器220、读电路230、写电路240、数据缓冲器块250和交换缓冲器块260的操作。控制逻辑270可基于接收到的命令CMD控制每个组件的操作。例如,当被提供用于交换的命令CMD时,控制逻辑270可以控制组件交换存储器单元阵列210的数据。
下面,将参考图3至图5详细描述存储器设备200交换数据的操作。
图3是示出图2的存储器设备的操作的示例的流程图。详细地,图3示出存储器设备200将存储在存储器单元阵列210的第一存储器区域中的第一数据与存储在存储器单元阵列210的第二存储器区域中的第二数据交换的示例。
参考图2和图3,在操作S201中,存储器设备200可以通过读电路230从第一存储器区域读取第一数据,并且可以将第一数据存储在数据缓冲器中。这里,数据缓冲器可以被包括在数据缓冲器块250中。
在操作S202中,存储器设备200可以通过读电路230从第二存储器区域读取第二数据,并且可以将第二数据存储在交换缓冲器中。这里,交换缓冲器可以被包括在交换缓冲器块260中。
在操作S203中,存储器设备200可以通过写电路240将存储在数据缓冲器中的第一数据写入第二存储器区域。这样,可以用第一数据替换存储在第二存储器区域中的第二数据。
在操作S204中,存储器设备200可以通过写电路240将存储在交换缓冲器中的第二数据写入第一存储器区域。这样,可以用第二数据替换存储在第一存储器区域中的第一数据。
如上所述,存储器设备200可以响应于一个交换命令SWAP、或诸如激活命令ACT和写命令WC的多个命令来执行图3的操作。
在图3中给出的描述是,在操作S201之后执行操作S202,但是本公开不限于此。例如,可以在操作S201之前执行操作S202。并且,在图3中给出的描述是,在操作S203之后执行操作S204,但是本公开不限于此。例如,可以在操作S203之前执行操作S204。
图4示出图2的存储器设备交换存储在一个存储体中的数据的操作的示例。参考图4,存储器单元阵列210可以包括第一存储体211。第一存储体211可以包括第一存储器区域MA1和第二存储器区域MA2。第一存储器区域MA1可以存储第一数据DATA1,并且第二存储器区域MA2可以存储第二数据DATA2。
数据缓冲器块250可以包括第一数据缓冲器251。第一数据缓冲器251可以对应于第一存储体211。交换缓冲器块260可以包括第一交换缓冲器261。第一交换缓冲器261可以对应于第一存储体211。
为了将存储在第一存储器区域MA1中的第一数据DATA1与存储在第二存储器区域MA2中的第二数据DATA2交换,可以通过读电路230读取第一存储器区域MA1的第一数据DATA1。由此读取的第一数据DATA1可以存储在第一数据缓冲器251中(①)。可以通过读电路230读取第二存储器区域MA2的第二数据DATA2。由此读取的第二数据DATA2可以存储在第一交换缓冲器261中(②)。
然后,可以通过写电路240将存储在第一数据缓冲器251中的第一数据DATA1写入第二存储器区域MA2(③)。这样,可以用第一数据DATA1替换存储在第二存储器区域MA2中的第二数据DATA2。可以通过写电路240将存储在第一交换缓冲器261中的第二数据DATA2写入第一存储器区域MA1(④)。这样,可以用第二数据DATA2替换存储在第一存储器区域MA1中的第一数据DATA1。
图5示出图2的存储器设备交换存储在不同存储体中的数据的操作的示例。参考图5,存储器单元阵列210可以包括第一存储体211和第二存储体212。第一存储体211可以包括第一存储器区域MA1。第二存储体212可以包括第二存储器区域MA2。第一存储器区域MA1可以存储第一数据DATA1,并且第二存储器区域MA2可以存储第二数据DATA2。
数据缓冲器块250可以包括第一数据缓冲器251和第二数据缓冲器252。第一数据缓冲器251可以对应于第一存储体211,并且第二数据缓冲器252可以对应于第二存储体212。交换缓冲器块260可以包括第一交换缓冲器261和第二交换缓冲器262。第一交换缓冲器261可以对应于第一存储体211,并且第二交换缓冲器262可以对应于第二存储体212。
为了将存储在第一存储器区域MA1中的第一数据DATA1与存储在第二存储器区域MA2中的第二数据DATA2交换,可以通过读电路230读取第一存储器区域MA1的第一数据DATA1。由此读取的第一数据DATA1可以被存储在数据缓冲器块250中(①)。在这种情况下,第一数据DATA1可以被存储在与第一存储体211相对应的第一数据缓冲器251中。可以通过读电路230读取第二存储器区域MA2的第二数据DATA2。由此读取的第二数据DATA2可以被存储在交换缓冲器块260中(②)。在这种情况下,第二数据DATA2可以被存储在与第二存储体212相对应的第二交换缓冲器262中。
然后,可以通过写电路240将存储在第一数据缓冲器251中的第一数据DATA1写入第二存储器区域MA2(③)。这样,可以用第一数据DATA1替换存储在第二存储器区域MA2中的第二数据DATA2。在这种情况下,可以将存储在第一数据缓冲器251中的第一数据DATA1传送到第二数据缓冲器252,并且可以将第一数据DATA1从第二数据缓冲器252提供给写电路240。
可以通过写电路240将存储在第二交换缓冲器262中的第二数据DATA2写入第一存储器区域MAl(④)。这样,可以用第二数据DATA2替换存储在第一存储器区域MA1中的第一数据DATA1。在这种情况下,可以将存储在第二交换缓冲器262中的第二数据DATA2传送到第一交换缓冲器261,并且可以将第二数据DATA2从第一交换缓冲器261提供给写电路240。
如上所述,根据本公开的示例性实施例的存储器设备200可以通过使用数据缓冲器和单独的交换缓冲器来交换存储在一个或两个存储体中的数据。这样,存储器设备200可以在不使用外部存储器控制器的情况下交换数据。因此,数据交换可以被快速地执行,并且存储器设备200与存储器控制器10之间的通信开销可以减少。
图6示出用于在存储器设备内交换数据的图1的存储器设备的另一示例性框图。参考图6,存储器设备300可以包括存储器单元阵列310、行解码器320、读电路330、写电路340、数据缓冲器块350、数据比较写(data comparison write,DCW)电路360和控制逻辑370。存储器单元阵列310、行解码器320、读电路330、写电路340、数据缓冲器块350和控制逻辑370的操作类似于图2的存储器单元阵列210、行解码器220、读电路230、写电路240、数据缓冲器块250和控制逻辑270的操作,因此,将省略附加描述以避免冗余。
数据比较写电路360可以包括DCW寄存器361。DCW寄存器361可以是存储数据的缓冲电路。数据比较写电路360可以用于数据写操作或数据交换操作。
响应于写命令WC,数据比较写电路360可以比较被传送到数据缓冲器块350的数据和从存储器单元阵列310读取的数据。详细地,数据比较写电路360可以通过异或(exclusive OR,XOR)操作以位为单位来比较数据。例如,在写操作中,可以将新的写数据和要存储新的写数据的地址ADDR提供给存储器设备300。新的写数据可以存储在数据缓冲器块350中。数据比较写电路360可以将数据缓冲器块350的新的写数据与存储器单元阵列310的对应于地址ADDR的存储器区域的数据进行比较。当比较结果指示两个数据相同时,可以保持存储器区域的数据。当比较结果指示两个数据不同时,可以用新的写数据替换存储器区域的数据。在这种情况下,数据缓冲器块350的新的写数据、从存储器区域读取的数据和比较结果(例如,通过对新的写数据和从存储器区域读取的数据执行XOR运算而获得的数据)中的至少一个可以被存储在DCW寄存器361中。也就是说,当比较结果指示两个数据不同时,可以通过写电路340将新的写数据写入存储器单元阵列310的存储器区域。因此,存储器设备300可以通过数据比较写电路360以低功率执行写操作。
当提供交换命令SWAP以交换存储在存储器单元阵列310中的第一数据和第二数据时,第一数据可以通过读电路330存储在数据缓冲器块350中,并且第二数据可以通过读电路330存储在数据比较写电路360的DCW寄存器361中。写电路340可以用存储在数据缓冲器块350中的第一数据替换存储器单元阵列310的第二数据,并且可以用存储在DCW寄存器361中的第二数据替换存储器单元阵列310的第一数据。这样,存储在不同存储器区域中的数据可以被交换。也就是说,在交换操作中,DCW寄存器361的操作可以类似于图2的交换缓冲器块260的操作。
如上所述,存储器设备300可以在没有图2的单独的交换缓冲器块260的情况下通过使用数据比较写电路360的DCW寄存器361来交换数据。在这种情况下,DCW寄存器361可以用作存储要在交换操作中交换的数据的缓冲电路,或者可以用作存储新的写数据、从将要被写入新的写数据的存储器区域读取的数据、以及作为新的写数据和读数据的比较结果的XOR数据中的至少一个的缓冲电路。
在图6中给出了将DCW寄存器361包括在数据比较写电路360中并且将存储器单元阵列310的数据存储在DCW寄存器361中的描述,但是本公开不限于此。例如,为了数据交换,存储器单元阵列310的数据可以被存储在存在于数据比较写电路360内并提供缓冲功能的任何电路中。
如上所述,存储器设备300可以通过使用提供有效写操作的现有数据比较写电路360来交换数据。在这种情况下,因为不需要单独的交换缓冲器,所以存储器设备300的面积可以不增加。
图7示出用于在存储器设备内交换数据的图1的存储器设备的另一示例性框图。参考图7,存储器设备400可以包括存储器单元阵列410、行解码器420、读电路430、写电路440、数据比较写电路450、XOR门460、选择电路470、数据缓冲器块480和控制逻辑490。存储器单元阵列410、行解码器420、读电路430、写电路440、数据缓冲器块480和控制逻辑490的操作类似于图2的存储器单元阵列210、行解码器220、读电路230、写电路240、数据缓冲器块250和控制逻辑270的操作,因此,将省略附加描述以避免冗余。
数据比较写电路450可以接收通过读电路430从存储器单元阵列410读取的数据。数据比较写电路450可以从数据缓冲器块480接收数据。数据比较写电路450可以比较存储在存储器单元阵列410中的数据和存储在数据缓冲器块480中的数据。详细地,数据比较写电路450可以以位为单位比较数据。例如,数据比较写电路450可以执行XOR运算以比较数据。数据比较写电路450可以基于比较结果将使能信号EN提供给写电路440。例如,数据比较写电路450可以执行XOR运算,并且可以将XOR运算的结果输出为使能信号EN。
XOR运算的结果可以被存储在数据比较写电路450中。例如,XOR运算的结果可以被存储在诸如图6的DCW寄存器361的单独的寄存器中,但是本公开是不限于此。
写电路440可以基于使能信号EN执行写操作。当存储在存储器单元阵列410中的数据和存储在数据缓冲器块480中的数据相同时,写电路440可以基于使能信号EN而不操作。在这种情况下,可以保持存储器单元阵列410的数据。当存储在存储器单元阵列410中的数据和存储在数据缓冲器块480中的数据不同时,写电路440可以基于使能信号EN而操作。在这种情况下,可以用数据缓冲器块480的数据替换存储器单元阵列410的数据。这样,可以基于数据比较写电路450的比较结果以低功率将数据缓冲器块480的数据写入存储器单元阵列410。然而,本公开不限于此。例如,写电路440可以不管数据比较写电路450的比较结果如何而操作,使得数据缓冲器块480的数据被写入存储器单元阵列410。
XOR门460可以对从数据比较写电路450输出的数据和从读电路430输出的数据执行XOR运算。从XOR门460输出的XOR运算的结果可以被提供给选择电路470。
选择电路470可以将从XOR门460输出的数据和从读电路430输出的数据之一输出到数据缓冲器块480。选择电路470可以基于来自控制逻辑490的控制信号来选择要输出到数据缓冲器块480的数据。
数据缓冲器块480可以存储从选择电路470输出的数据。而且,数据缓冲器块480可以存储从外部设备提供的数据。可以通过写电路440将存储在数据缓冲器块480中的数据写入存储器单元阵列410。在这种情况下,可以基于使能信号EN将存储在数据缓冲器块480中的数据写入存储器单元阵列410。
控制逻辑490可以控制存储器设备400的组件的操作。详细地,控制逻辑490可以控制行解码器420、读电路430、写电路440、数据比较写电路450、XOR门460、选择电路470和数据缓冲器块480。例如,当被提供用于数据交换的命令CMD时,控制逻辑490可以控制组件交换数据。
在图7中示出了XOR门460接收从数据比较写电路450输出的数据和从读电路430输出的数据的示例,但是本公开不限于此。例如,XOR门460可以接收存储在数据缓冲器块480中的数据,而不是从读电路430输出的数据。XOR门460可以对从数据比较写电路450输出的数据和从数据缓冲器块480输出的数据执行XOR运算。
下面,将参考图8至图12详细描述存储器设备400交换数据的操作。
图8是示出图7的存储器设备的操作的示例的流程图。详细地,图8示出存储器设备400将存储在存储器单元阵列410的第一存储器区域中的第一数据与存储在存储器单元阵列410的第二存储器区域中的第二数据交换的操作的示例。
参考图7和图8,在操作S401中,存储器设备400可以从第一存储器区域读取第一数据,并且可以将第一数据存储在数据缓冲器中。数据缓冲器可以被包括在数据缓冲器块480中。在这种情况下,控制逻辑490可以控制选择电路470,使得从读电路430输出的数据被选择。这样,第一数据可以由选择电路470选择,并且然后可以被存储在数据缓冲器块480中。
在操作S402中,存储器设备400可以对从数据缓冲器提供的第一数据和从第二存储器区域读取的第二数据执行XOR运算,并且可以存储XOR运算的结果。存储器设备400可以通过数据比较写电路450执行XOR运算,并且可以存储XOR运算的结果。
在操作S403中,存储器设备400可以将存储在数据缓冲器中的第一数据写入第二存储器区域。例如,写电路440可以基于从数据比较写电路450输出的XOR运算的结果(即,使能信号EN)来写入第一数据。
在操作S404中,存储器设备400可以通过XOR门460对XOR运算的结果和第一数据执行XOR运算,并且可以生成第二数据。这里,可以通过读电路430从第一存储器区域或第二存储器区域读取第一数据。可替代地,可以从数据缓冲器块480的数据缓冲器读取第一数据。对从数据比较写电路450输出的XOR运算的结果和第一数据执行的XOR运算的结果可以与第二数据相同。这样,可以通过XOR门460生成第二数据。
在操作S405中,存储器设备400可以将生成的第二数据存储在数据缓冲器中。在这种情况下,控制逻辑490可以控制选择电路470,使得从XOR门460输出的数据被选择。选择电路470可以将从XOR门460输出的数据输出到数据缓冲器块480。这样,第二数据可以被存储在数据缓冲器中。
在操作S406中,存储器设备400可以将存储在数据缓冲器中的第二数据写入第一存储器区域。例如,当第二数据被写入时,数据比较写电路450可以将存储在第一存储器区域中的第一数据与存储在数据缓冲器中的第二数据进行比较。写电路440可以基于比较结果(即,使能信号EN)写入第二数据。
图9示出提供给图7的存储器设备以用于数据交换的命令和地址的示例。图10A至图10D示出图7的存储器设备基于图9的命令和地址来交换数据的操作的示例。下面,将参考图9至图10D描述图7的存储器设备交换存储在一个存储体中的数据的操作。可以出于交换存储在第一存储体411中的第一数据DATA1和第二数据DATA2的目的而从存储器控制器提供图9的命令CMD和地址ADDR。
参考图9和10A,在第一时间t1,可以提供激活命令ACT和地址A1。地址A1可以指示第一存储体411的第一存储器区域MA1。响应于激活命令ACT和地址A1,读电路430可以从第一存储器区域MA1读取第一数据DATA1。由此读取的第一数据DATA1可以被输出到选择电路470。选择电路470可以选择从读电路430输出的第一数据DATA1,并且可以将第一数据DATA1存储在第一数据缓冲器481中(①)。第一数据缓冲器481可以对应于第一存储体411。
参考图9和图10B,在提供了激活命令ACT并且经过了延迟时间tRCD之后,也就是说,在第二时间t2,可以提供写命令WC1和地址A2。地址A2可以指示第一存储体411的第二存储器区域MA2。响应于写命令WC1和地址A2,读电路430可以读取存储在第二存储器区域MA2中的第二数据DATA2,并且可以将第二数据DATA2提供给数据比较写电路450。可以将存储在第一数据缓冲器481中的第一数据DATA1提供给数据比较写电路450。数据比较写电路450可以对从第一数据缓冲器481提供的第一数据DATA1和从第二存储器区域MA2读取的第二数据DATA2执行XOR运算,并且可以存储第一运算结果ORD1作为XOR运算的结果(②)。写电路440可以将存储在第一数据缓冲器481中的第一数据DATA1写入第二存储器区域MA2(③)。例如,写电路440可以基于第一运算结果ORD1将第一数据DATA1写入第二存储器区域MA2。
参考图9和图10C,在提供了写命令WC1并且经过了数据恢复时间tWR之后,也就是说,在第三时间t3,可以提供交换激活命令SACT和地址A3。地址A3可以指示第一存储体411的第二存储器区域MA2。响应于交换激活命令SACT和地址A3,读电路430可以读取存储在第二存储器区域MA2中的第一数据DATA1,并且可以将第一数据DATA1提供给XOR门460。XOR门460可以对第一运算结果ORD1和第一数据DATA1执行XOR运算以生成第二数据DATA2(④)。选择电路470可以将从XOR门460输出的第二数据DATA2输出到数据缓冲器块480。这样,第二数据DATA2可以被存储在第一数据缓冲器481中(⑤)。
这里,交换激活命令SACT可以是与激活命令ACT不同的命令。图7的控制逻辑490可以响应于激活命令ACT来控制选择电路470,使得从读电路430输出的数据被存储在数据缓冲器块480中。相比之下,控制逻辑490可以响应于交换激活命令SACT控制选择电路470,使得从XOR门460输出的数据被存储在数据缓冲器块480中。例如,可以基于单独的标志位来识别激活命令ACT和交换激活命令SACT。
参考图9和图10D,在提供了交换激活命令SACT并且经过了延迟时间tRCD之后,也就是说,在第四时间t4,可以提供写命令WC2和地址A4。地址A4可以指示第一存储体411的第一存储器区域MA1。响应于写命令WC2和地址A4,读电路430可以读取存储在第一存储器区域MA1中的第一数据DATA1并且可以将第一数据DATA1提供给数据比较写电路450。可以将存储在第一数据缓冲器481中的第二数据DATA2提供给数据比较写电路450。数据比较写电路450可以对从第一存储器区域MA1读取的第一数据DATA1和从第一数据缓冲器481提供的第二数据DATA2执行XOR运算,并且可以存储第二运算结果ORD2作为XOR运算的结果(⑥)。写电路440可以将存储在第一数据缓冲器481中的第二数据DATA2写入第一存储器区域MA1(⑦)。例如,写电路440可以基于第二运算结果ORD2将第二数据DATA2写入第一存储器区域MA1。
图11示出图7的存储器设备基于图9的命令和地址交换数据的操作的另一示例。下面,将参考图9和图11描述图7的存储器设备交换存储在不同存储体中的数据的操作。
参考图9和图11,可以出于交换存储在第一存储体411中的第一数据DATA1和存储在第二存储体412中的第二数据DATA2的目的,从存储器控制器提供图9的命令CMD和地址ADDR。数据缓冲器块480可以包括第一数据缓冲器481和第二数据缓冲器482。第一数据缓冲器481可以对应于第一存储体411,并且第二数据缓冲器482可以对应于第二存储体412。
在第一时间t1,可以提供激活命令ACT和地址A1。地址A1可以指示第一存储体411的第一存储器区域MA1。响应于激活命令ACT和地址A1,读电路430可以从第一存储器区域MA1读取第一数据DATA1。由此读取的第一数据DATA1可以被存储在第一数据缓冲器481中(①)。
在提供了激活命令ACT并且延迟时间tRCD经过之后,也就是说,在第二时间t2,可以提供写命令WC1和地址A2。地址A2可以指示第二存储体412的第二存储器区域MA2。响应于写命令WC1和地址A2,数据比较写电路450可以对从第一数据缓冲器481提供的第一数据DATA1和从第二存储器区域MA2读取的第二数据DATA2执行XOR运算,并且可以存储运算结果ORD作为XOR运算的结果(②)。写电路440可以将存储在第一数据缓冲器481中的第一数据DATA1写入第二存储器区域MA2(③)。这样,可以用第一数据DATA1替换存储在第二存储器区域MA2中的第二数据DATA2。在这种情况下,可以将存储在第一数据缓冲器481中的第一数据DATA1传送到第二数据缓冲器482,并且可以将第一数据DATA1从第二数据缓冲器482提供给写电路440。
在提供了写命令WC1并且数据恢复时间tWR经过之后,也就是说,在第三时间t3,可以提供交换激活命令SACT和地址A3。地址A3可以指示第二存储体412的第二存储器区域MA2。响应于交换激活命令SACT和地址A3,读电路430可以读取存储在第二存储器区域MA2中的第一数据DATA1,并且可以将第一数据DATA1提供给XOR门460。XOR门460可以对运算结果ORD和第一数据DATA1执行XOR运算以生成第二数据DATA2(④)。选择电路470可以选择从XOR门460输出的第二数据DATA2,并且可以将第二数据DATA2输出到数据缓冲器块480。第二数据DATA2可以被存储在与第二存储体412相对应的第二数据缓冲器482中(⑤)。
在提供了交换激活命令SACT并且延迟时间tRCD经过之后,也就是说,在第四时间t4,可以提供写命令WC2和地址A4。地址A4可以指示第一存储体411的第一存储器区域MA1。响应于写命令WC2和地址A4,写电路440可以将存储在第二数据缓冲器482中的第二数据DATA2写入第一存储器区域MA1(⑥)。这样,可以用第二数据DATA2替换存储在第一存储器区域MA1中的第一数据DATA1。在这种情况下,可以将存储在第二数据缓冲器482中的第二数据DATA2传送到第一数据缓冲器481,并且可以将第二数据DATA2从第一数据缓冲器481提供给写电路440。
在图9中示出了当提供了激活命令ACT和/或写命令WC时,与命令CMD分开提供地址ADDR的示例,但是本公开不限于此。例如,激活命令ACT和/或写命令WC可以包括关于行地址的信息,并且与激活命令ACT和/或写命令WC相对应的地址ADDR可以包括关于存储体地址和列地址的信息。
如上所述,存储器设备400可以响应于激活命令ACT、写命令WC和交换激活命令SACT来执行图8的操作。然而,本公开不限于此。例如,存储器设备400可以响应于一个交换命令SWAP而执行图8的操作。
下面,将参考图12和图13详细描述图7的存储器设备400交换数据的操作的另一示例。详细地,将参考图12和图13描述存储在不同存储体中的数据被交换的操作。
图12示出命令和地址被提供给图7的存储器设备以用于存储在不同存储体中的数据的交换的示例。图13示出图7的存储器设备基于图12的命令和地址来交换数据的操作的示例。
参考图12和图13,可以出于将存储在第一存储体411中的第一数据DATA1与存储在第二存储体412中的第二数据DATA2交换的目的,从存储器控制器提供图12的命令CMD和地址ADDR。
在第一时间t1,可以提供激活命令ACT1和地址A1。地址A1可以指示第一存储体411的第一存储器区域MA1。响应于激活命令ACT1和地址A1,读电路430可以从第一存储器区域MA1读取第一数据DATA1。由此读取的第一数据DATA1可以通过选择电路470存储在第一数据缓冲器481中(①)。
在提供了激活命令ACT1并且延迟时间tCCD经过之后,也就是说,在第二时间t2,可以提供激活命令ACT2和地址A2。地址A2可以指示第二存储体412的第二存储器区域MA2。响应于激活命令ACT2和地址A2,读电路430可以从第二存储器区域MA2读取第二数据DATA2。由此读取的第二数据DATA2可以通过选择电路470存储在第二数据缓冲器482中(②)。
在提供了激活命令ACT1并且延迟时间tRCD经过之后,也就是说,在第三时间t3,可以提供写命令WC1和地址A3。地址A3可以指示第一存储体411的第一存储器区域MA1。响应于写命令WC1和地址A3,写电路440可以将存储在第二数据缓冲器482中的第二数据DATA2写入第一存储器区域MA1(③)。这样,可以用第二数据DATA2替换存储在第一存储器区域MA1中的第一数据DATA1。在这种情况下,可以将存储在第二数据缓冲器482中的第二数据DATA2传送到第一数据缓冲器481,并且可以将第二数据DATA2从第一数据缓冲器481提供给写电路440。在示例性实施例中,如参考图7所描述的,可以基于数据比较写电路450关于第一数据DATA1和第二数据DATA2获得的比较结果来写入第二数据DATA2。
在提供了写命令WC1并且延迟时间tWC2WC经过之后,也就是说,在第四时间t4,可以提供写命令WC2和地址A4。地址A4可以指示第二存储体412的第二存储器区域MA2。响应于写命令WC2和地址A4,写电路440可以将存储在第一数据缓冲器481中的第一数据DATA1写入第二存储器区域MA2(④)。这样,可以用第一数据DATA1替换存储在第二存储器区域MA2中的第二数据DATA2。在这种情况下,可以将存储在第一数据缓冲器481中的第一数据DATA1传送到第二数据缓冲器482,并且可以将第一数据DATA1从第二数据缓冲器482提供给写电路440。在示例性实施例中,如参考图7所描述的,可以基于关于第一数据DATA1和第二数据DATA2获得的数据比较写电路450的比较结果来写入第一数据DATA1。
如上所述,在交换存储在不同存储体中的数据的情况下,如参考图9和图11所述,存储器设备400可以通过使用激活命令ACT和交换激活命令SACT来交换数据。在这种情况下,存储器设备400可以控制选择电路470,从而基于通过数据比较写电路450和XOR门460生成的数据来交换数据。可替换地,在交换存储在不同存储体中的数据的情况下,如参考图12和图13所描述的,存储器设备400可以通过使用激活命令ACT来交换数据,而无需交换激活命令SACT。在这种情况下,存储器设备400可以控制选择电路470,从而在不使用通过数据比较写电路450和XOR门460生成的数据的情况下交换数据。根据参考图12和图13描述的数据交换操作,在交换存储在不同存储体中的数据的情况下,与参考图9和图11描述的数据交换操作的情况相比,可以更快地交换数据。
如上所述,根据本公开的示例性实施例的存储器设备400可以通过使用数据比较写(DCW)电路450和XOR门460来生成与要交换的数据(例如,第二数据DATA2)相同的数据。在这种情况下,可以将要交换的数据理解为在要交换的数据被存储在数据缓冲器块480中之前由数据比较写电路450和XOR门460临时存储(或缓冲或锁存)。
这样,存储器设备400可以通过使用诸如数据比较写电路450和XOR门460的单独的数据生成逻辑来生成或临时存储要交换的数据(例如,第二数据DATA2)。如图7至图13所示,存储器设备400可以包括数据比较写电路450和XOR门460作为数据生成逻辑,但是本公开不限于此。例如,存储器设备400可以被实现为具有能够生成要交换的数据或临时存储要交换的数据的任何逻辑(或块或电路)。
图14示出根据本公开的示例性实施例的存储器系统的框图。参考图14,存储器系统2000可以包括存储器控制器20和存储器设备500。存储器设备500可以包括存储器单元阵列510、数据缓冲器块520和错误检测电路530。存储器设备500的操作类似于图7的存储器设备400的操作,因此,将省略附加描述以避免冗余。也就是说,存储器设备500可以进一步包括诸如数据比较写电路的组件,但是为了便于描述,在图14中省略了这样的组件。
存储器设备500可以将存储在第一存储器区域MA1中的第一数据DATA1与存储在第二存储器区域MA2中的第二数据DATA2交换。存储器设备500可以通过使用数据缓冲器块520来交换数据,如参考图7至图13所描述的。在交换过程中,数据缓冲器块520可以存储第一数据DATA1和第二数据DATA2。
在被写入存储器单元阵列510之前,存储在数据缓冲器块520中的第一数据DATA1和第二数据DATA2可以被提供给错误检测电路530。错误检测电路530可以检测第一数据DATA1和第二数据DATA2的错误。例如,错误检测电路530可以奇偶校验以检测错误。
当检测到错误时,存储器设备500可以向存储器控制器20提供错误检测信号ALERT。响应于错误检测信号ALERT,存储器控制器20可以向存储器设备提供经纠错的数据ECDAT。例如,当从第一数据DATA1中检测到错误时,存储器控制器20可以将经纠错的第一数据提供给存储器设备500。
可以将经纠错的数据ECDAT存储在数据缓冲器块520中。在这种情况下,可以用经纠错的数据ECDAT替换数据缓冲器块520的数据。这样,可以将数据缓冲器块520的经纠错的数据ECDAT写入存储器单元阵列510。例如,当从存储在第一存储器区域MA1中的第一数据DATA1中检测到错误时,在交换过程中经纠错的第一数据可以被写入第二存储器区域MA2。
在图14中示出了在数据交换过程中存储器设备500检测到数据的错误并从存储器控制器20接收经纠错的数据ECDAT的示例,但是本公开不限于此。例如,存储器设备500可以在数据交换过程中检测并直接纠正数据的错误。在这种情况下,存储器设备500可以不将错误检测信号ALERT提供给存储器控制器20。也就是说,存储器设备500可以直接纠正数据的错误,并且可以基于经纠错的数据执行交换操作。
图15示出根据本公开的示例性实施例的存储器系统的框图。参考图15,存储器系统3000可以包括存储器控制器30和存储器设备600。存储器设备600可以包括存储器单元阵列610、数据缓冲器块620、交换缓冲器块630和错误检测电路640。存储器设备600的操作类似于图2的存储器设备200的操作,因此,将省略附加描述以避免冗余。也就是说,存储器设备600可以进一步包括诸如数据比较写电路的组件,但是为了便于描述,在图15中省略这样的组件。
存储器设备600可以将存储在第一存储器区域MA1中的第一数据DATA1与存储在第二存储器区域MA2中的第二数据DATA2交换。存储器设备600可以通过使用数据缓冲器块620和交换缓冲器块630来交换数据,如参考图2至图5所描述的。在交换过程中,数据缓冲器块620可以存储第一数据DATA1,并且交换缓冲器块630可以存储第二数据DATA2。
在被写入存储器单元阵列610之前,可以将存储在数据缓冲器块620中的第一数据DATA1和存储在交换缓冲器块630中的第二数据DATA2提供给错误检测电路640。错误检测电路640可以检测第一数据DATA1和第二数据DATA2的错误。例如,错误检测电路640可以奇偶校验以检测错误。
当检测到错误时,存储器设备600可以将错误检测信号ALERT提供给存储器控制器30。响应于错误检测信号ALERT,存储器控制器30可以将经纠错的数据ECDAT提供给存储器设备600。例如,当从第一数据DATA1中检测到错误时,存储器控制器30可以将经纠错的第一数据提供给存储器设备600。
可以将经纠错的数据ECDAT存储在数据缓冲器块620或交换缓冲器块630中。例如,可以将经纠错的第一数据存储在数据缓冲器块620中,并且可以将经纠错的第二数据存储在交换缓冲器块630中。在这种情况下,可以用经纠错的数据ECDAT替换数据缓冲器块620或交换缓冲器块630的数据。这样,可以将经纠错的数据ECDAT写入存储器单元阵列610。
图15中示出在数据交换过程中存储器设备600检测到数据的错误并从存储器控制器30接收经纠错的数据ECDAT的示例,但是本公开不限于此。例如,存储器设备600可以在数据交换过程中检测并直接纠正数据的错误。在这种情况下,存储器设备600可以不将错误检测信号ALERT提供给存储器控制器30。也就是说,存储器设备600可以直接纠正数据的错误,并且可以基于经纠错的数据执行交换操作。
如上所述,根据本公开的示例性实施例,可以在数据交换过程中纠正数据的错误。因此,可以提高在数据交换过程中存储的数据的可靠性。
图16是根据本公开的示例性实施例的计算设备的框图。参考图16,计算设备4000可以包括处理器4100、存储器控制器4200、主存储器4300、系统互连4400、存储设备4500、用户接口4600和调制解调器4700。计算设备4000可以用诸如桌上型计算机、笔记本计算机、数据服务器、应用服务器、智能电话和智能平板计算机的各种计算设备之一来实现。
处理器4100可以是执行各种操作的中央处理器(central processing unit,CPU)或应用处理器(application processor,AP)。处理器4100控制计算设备4000的各个组件,以便执行写操作、读操作或任何其他操作。例如,处理器4100可以通过使用存储器控制器4200来访问主存储器4300。
存储器控制器4200可以在处理器4100的控制下允许主存储器4300执行写操作或读操作。例如,存储器控制器4200可以允许主存储器4300对数据信号DQ执行写操作。
在实施例中,存储器控制器4200可以包括参考图1至图15描述的存储器控制器10至30的功能。例如,存储器控制器4200可以向主存储器4300提供用于交换的命令CMD和地址ADDR数据。
主存储器4300可以从存储器控制器4200接收地址ADDR和命令CMD。主存储器4300可以与存储器控制器4200交互数据信号DQ。主存储器4300可以包括易失性存储器,诸如静态RAM(SRAM)、动态RAM(DRAM)或同步DRAM(SDRAM),或非易失性存储器,诸如只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、闪存、相变RAM(PRAM)、磁RAM(MRAM)、电阻性RAM(RRAM)或铁电RAM(FRAM)。
在实施例中,主存储器4300可以包括参考图1至图15描述的存储器设备100至600之一。例如,主存储器4300可以响应于用于交换的命令CMD和地址ADDR而交换数据。主存储器4300可以在不使用存储器控制器4200的情况下在内部交换数据。因此,可以提高数据交换速度,并且可以减少由数据交换引起的在主存储器4300和存储器控制器4200之间的通信开销。
系统互连4400可以在计算设备4000的组件之间提供通道。系统互连4400可以遵照诸如外围组件高速互连(peripheral component interconnect express,PCIe)和高级微控制器总线架构(advanced microcontroller bus architecture,AMBA)的各种标准之一来实现。
存储设备4500可以用作计算设备4000的辅存储器。存储设备4500可以具有比主存储器4300更慢的访问速度,并且可以具有比主存储器4300更大的存储容量。存储设备4500可以包括硬盘驱动器(hard disk drive,HDD)、固态驱动器(solid-state drive,SSD)、便携式存储器等。
用户接口4600可以与用户交互信息。用户接口2400可以包括从用户接收信息的用户输入接口,诸如键盘、鼠标、触摸面板或麦克风,以及向用户提供信息的用户输出接口,诸如监视器、扬声器或马达。
调制解调器4700被配置为执行与外部设备的有线或无线通信。调制解调器4700可以被配置为实现诸如长期演进(long-term evolution,LTE)、以太网、无线保真(wireless-fidelity,Wi-Fi)和蓝牙的各种标准中的至少一种。在示例性实施例中,调制解调器4700可以被包括在处理器4100内。
根据本公开的存储器设备可以在不使用存储器控制器的情况下交换存储在一个存储体或不同存储体中的数据。因此,可以快速地执行数据交换,并且可以减少存储器设备与存储器控制器之间的通信开销。
此外,根据本公开的示例性实施例的存储器设备可以在不使用存储器控制器的情况下通过使用内部数据比较写电路来交换数据。这样,可以在存储器设备内执行数据交换操作,而无需添加用于交换的单独缓冲器。
可以根据执行所描述的一个或多个功能的块来描述和说明实施例。在本文中可称为单元或模块等的这些块由模拟和/或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬接线电路等)物理地实现,并且可以可选地由固件和/或软件驱动。电路例如可以被具体实现在一个或多个半导体芯片中,或者被具体实现在诸如印刷电路板等的基板支撑件上。可以通过专用硬件、或者通过处理器(例如,一个或多个编程的微处理器和相关联的电路)、或者通过执行块的一些功能的专用硬件与执行该块的其他功能的处理器的组合,来实现构成该块的电路。在不脱离本公开的范围的情况下,实施例的每个块可以在物理上被分成两个或更多个交互的离散的块。同样地,在不脱离本公开的范围的情况下,实施例的块可以物理地组合成更复杂的框。实施例的方面可以通过存储在非暂时性存储介质内并由处理器执行的指令来实现。
尽管已经参考本公开的示例性实施例描述了本公开,但是对于本领域普通技术人员而言清楚的是,在不脱离所附权利要求阐述的本公开的精神和范围的情况下,可以对本公开进行各种改变和修改。
Claims (25)
1.一种存储器设备的操作方法,所述存储器设备包括第一存储器区域和第二存储器区域,所述方法包括:
从第一存储器区域读取第一数据,并将读取的第一数据存储在数据缓冲器块中;
对从数据缓冲器块提供的第一数据和从第二存储器区域读取的第二数据执行第一异或XOR运算,以生成第一结果数据;
将存储在数据缓冲器块中的第一数据写入第二存储器区域;
对第一数据和第一结果数据执行第二XOR运算,以获得生成的第二数据;
将生成的第二数据存储在数据缓冲器块中;和
基于第一结果数据将存储在数据缓冲器块中的生成的第二数据写入第一存储器区域。
2.根据权利要求1所述的方法,其中,第一存储器区域和第二存储器区域被包括在一个存储体中。
3.根据权利要求2所述的方法,其中:
读取的第一数据和生成的第二数据被存储在数据缓冲器块的第一数据缓冲器中,并且
第一数据缓冲器对应于所述存储体。
4.根据权利要求1所述的方法,其中,第一存储器区域被包括在第一存储体中,并且第二存储器区域被包括在第二存储体中。
5.根据权利要求4所述的方法,其中:
读取的第一数据被存储在数据缓冲器块的第一数据缓冲器中,并且生成的第二数据被存储在数据缓冲器块的第二数据缓冲器中,并且
第一数据缓冲器对应于第一存储体,并且第二数据缓冲器对应于第二存储体。
6.根据权利要求5所述的方法,其中,将存储在数据缓冲器块中的第一数据写入第二存储器区域包括:
将存储在第一数据缓冲器中的第一数据传送到第二数据缓冲器;和
将传送到第二数据缓冲器的第一数据写入第二存储器区域。
7.根据权利要求1所述的方法,其中将存储在数据缓冲器块中的第一数据写入第二存储器区域包括:
当第一结果数据指示数据缓冲器块的第一数据与第二存储器区域的第二数据相同时,保持第二存储器区域的第二数据;和
当第一结果数据指示数据缓冲器块的第一数据与第二存储器区域的第二数据不同时,用第一数据替换第二存储器区域的第二数据。
8.根据权利要求1所述的方法,其中,当从存储在数据缓冲器块中的第一数据中检测到错误时,将经纠错的第一数据写入第二存储器区域。
9.根据权利要求1所述的方法,其中,所述存储器设备是相变随机存取存储器PRAM。
10.一种存储器设备,包括:
存储器单元阵列,包括存储第一数据的第一存储器区域和存储第二数据的第二存储器区域;
读电路,被配置为从第一存储器区域读取第一数据;
数据生成电路,被配置为基于来自第二存储器区域的第二数据来生成与第二数据相同的第三数据;
选择电路,被配置为基于控制信号输出来自读电路的第一数据和来自数据生成电路的第三数据中的一个;
数据缓冲器,被配置为存储从选择电路输出的第一数据或第三数据;和
写电路,被配置为将数据缓冲器块的第一数据写入第二存储器区域并且将数据缓冲器块的第三数据写入第一存储器区域。
11.根据权利要求10所述的存储器设备,其中:
控制信号包括在交换第一数据和第二数据的过程中生成的第一控制信号和第二控制信号,并且
选择电路基于第一控制信号输出第一数据,并且基于第二控制信号输出第三数据。
12.根据权利要求10所述的存储器设备,其中,所述数据生成电路包括:
数据比较写电路,被配置为对第一数据和第二数据执行第一异或XOR运算以输出结果数据;和
XOR门,被配置为对数据比较写电路的结果数据和第一数据执行第二XOR运算,以生成第三数据。
13.根据权利要求10所述的存储器设备,其中:
第一存储器区域和第二存储器区域被包括在一个存储体中,并且
数据缓冲器块中的与所述存储体相对应的第一数据缓冲器存储第一数据和第三数据。
14.根据权利要求10所述的存储器设备,其中:
第一存储器区域被包括在第一存储体中,并且第二存储器区域被包括在第二存储体中,并且
数据缓冲器块中的与第一存储体相对应的第一数据缓冲器存储第一数据,并且数据缓冲器块中的与第二存储体相对应的第二数据缓冲器存储第三数据。
15.一种存储器设备的操作方法,所述存储器设备包括第一存储器区域和第二存储器区域,所述方法包括:
从第一存储器区域读取第一数据,并将读取的第一数据存储在数据缓冲器中;
从第二存储器区域读取第二数据,并将读取的第二数据存储在交换缓冲器中;
将存储在数据缓冲器中的第一数据写入第二存储器区域;和
将存储在交换缓冲器中的第二数据写入第一存储器区域。
16.根据权利要求15所述的方法,其中:
第一存储器区域和第二存储器区域被包括在一个存储体中,并且
数据缓冲器和交换缓冲器对应于所述存储体。
17.根据权利要求15所述的方法,其中:
第一存储器区域被包括在第一存储体中,并且第二存储器区域被包括在第二存储体中,并且
数据缓冲器对应于第一存储体,并且交换缓冲器对应于第二存储体。
18.根据权利要求15所述的方法,其中:
当从存储在数据缓冲器中的第一数据中检测到错误时,将经纠错的第一数据写入第二存储器区域,并且
当从存储在交换缓冲器中的第二数据中检测到错误时,将经纠错的第二数据写入第一存储器区域。
19.根据权利要求15所述的方法,其中:
所述存储器设备还包括:
存储器单元阵列,包括第一存储器区域和第二存储器区域;和
数据比较写电路,被配置为比较从存储器单元阵列读取的数据和从数据缓冲器提供的数据以生成比较结果,并且
交换缓冲器被包括在数据比较写电路中。
20.根据权利要求19所述的方法,其中,在存储器设备的交换操作中,将读取的第二数据存储在交换缓冲器中,并且在存储器设备的写操作中,将比较结果存储在交换缓冲器中。
21.一种包括存储器单元阵列、行解码器、控制电路、读电路、写电路、第一缓冲器和第二缓冲器的存储器设备的操作方法,所述方法可由控制电路执行并且包括以下操作:
1)控制读电路从由第一地址标识的存储器单元阵列的第一位置读取第一数据;
2)控制第一缓冲器存储在操作(1)中读取的第一数据或第一数据的纠错版本;和
3)控制写电路将存储在第一缓冲器中的第一数据或第一数据的纠错版本写入由第二地址标识的存储器单元阵列的第二位置,其中
响应于控制电路从布置在存储器设备外部的存储器控制器接收到一个或多个命令,执行操作(1)至(3)。
22.根据权利要求21所述的操作方法,其中,响应于行解码器从存储器控制器接收第一地址并且控制电路从存储器控制器接收到所述一个或多个命令当中的第一命令,控制电路执行操作(1)和(2)。
23.根据权利要求22所述的操作方法,其中,响应于行解码器从存储器控制器接收第二地址并且控制电路从存储器控制器接收到所述一个或多个命令当中的与第一命令不同的第二命令,控制电路执行操作(3)。
24.根据权利要求21所述的操作方法,还包括以下操作(4):控制第二缓冲器存储写入存储器单元阵列的第二位置处的第二数据或第二数据的纠错版本。
25.根据权利要求24所述的操作方法,其中,响应于行解码器从存储器控制器接收第二地址并且控制电路从存储器控制器接收到所述一个或多个命令当中的第三命令,控制电路执行操作(4)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0040123 | 2019-04-05 | ||
KR1020190040123A KR20200118311A (ko) | 2019-04-05 | 2019-04-05 | 데이터를 스왑하기 위한 메모리 장치 및 메모리 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111796764A true CN111796764A (zh) | 2020-10-20 |
Family
ID=72661642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911375068.7A Pending CN111796764A (zh) | 2019-04-05 | 2019-12-27 | 存储器设备及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11163638B2 (zh) |
KR (1) | KR20200118311A (zh) |
CN (1) | CN111796764A (zh) |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4504138B2 (ja) * | 2004-09-03 | 2010-07-14 | 株式会社東芝 | 記憶システム及びそのデータコピー方法 |
TWI361348B (en) * | 2005-09-02 | 2012-04-01 | Infortrend Technology Inc | Parity engine for use in storage virtualization controller and methods of generating data by parity engine |
TWI368224B (en) | 2007-03-19 | 2012-07-11 | A Data Technology Co Ltd | Wear-leveling management and file distribution management of hybrid density memory |
KR100857761B1 (ko) | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
KR20090036396A (ko) | 2007-10-09 | 2009-04-14 | 삼성테크윈 주식회사 | 조각-모음 방법 및 이 방법을 채용한 디지털 전자 장치 |
US8456926B2 (en) * | 2010-11-18 | 2013-06-04 | Grandis, Inc. | Memory write error correction circuit |
JP2012088816A (ja) * | 2010-10-15 | 2012-05-10 | Toshiba Corp | メモリシステム |
US9336147B2 (en) * | 2012-06-12 | 2016-05-10 | Microsoft Technology Licensing, Llc | Cache and memory allocation for virtual machines |
US8965336B1 (en) | 2013-06-26 | 2015-02-24 | Quantcast Corporation | Quantifying mobility of mobile devices via a privacy preserving mobility metric |
US20150095551A1 (en) | 2013-09-30 | 2015-04-02 | Micron Technology, Inc. | Volatile memory architecutre in non-volatile memory devices and related controllers |
KR20150062039A (ko) * | 2013-11-28 | 2015-06-05 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
US9684465B2 (en) | 2014-03-28 | 2017-06-20 | International Business Machines Corporation | Memory power management and data consolidation |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9400603B2 (en) | 2014-12-16 | 2016-07-26 | International Business Machines Corporation | Implementing enhanced performance flash memory devices |
KR102615806B1 (ko) * | 2016-05-25 | 2023-12-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
KR102646755B1 (ko) * | 2017-01-06 | 2024-03-11 | 삼성전자주식회사 | 저항 변화 물질을 포함하는 메모리 장치 및 그 구동 방법 |
KR20210041655A (ko) * | 2019-10-07 | 2021-04-16 | 삼성전자주식회사 | 메모리 칩, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
KR20210041656A (ko) * | 2019-10-07 | 2021-04-16 | 삼성전자주식회사 | 온-다이 미러링 기능을 갖는 메모리 칩 및 그것을 테스트하는 방법 |
KR20220103227A (ko) * | 2021-01-14 | 2022-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법 |
-
2019
- 2019-04-05 KR KR1020190040123A patent/KR20200118311A/ko not_active Application Discontinuation
- 2019-11-26 US US16/695,395 patent/US11163638B2/en active Active
- 2019-12-27 CN CN201911375068.7A patent/CN111796764A/zh active Pending
-
2021
- 2021-10-06 US US17/495,632 patent/US11669393B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11163638B2 (en) | 2021-11-02 |
US20220027232A1 (en) | 2022-01-27 |
KR20200118311A (ko) | 2020-10-15 |
US11669393B2 (en) | 2023-06-06 |
US20200319962A1 (en) | 2020-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106941011B (zh) | 半导体系统 | |
KR102116980B1 (ko) | 리던던시 메모리 셀의 리프레쉬 동작을 제어하는 반도체 메모리 장치 | |
US9812220B2 (en) | Buffered multi-rank memory modules configured to selectively link rank control signals and methods of operating the same | |
US10303378B2 (en) | Data storage device | |
US20170199666A1 (en) | Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory | |
US10096345B2 (en) | Semiconductor devices | |
US9472297B2 (en) | Semiconductor memory device | |
KR20150085387A (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
KR102633091B1 (ko) | 메모리 셀의 에러 확인 기능을 갖는 메모리 장치 및 이를 포함하는 메모리 모듈 | |
CN106611621B (zh) | 补偿电路和补偿方法 | |
US10153028B2 (en) | Semiconductor devices | |
US9711204B1 (en) | Semiconductor device(s) and method of refreshing the semiconductor device | |
US9588708B2 (en) | Semiconductor memory device, operating method thereof, and data storage device including the same | |
US20180018219A1 (en) | Semiconductor devices and semiconductor systems | |
US9837166B2 (en) | Data storage device and operating method thereof | |
KR102407437B1 (ko) | 불휘발성 메모리 모듈을 포함하는 메모리 시스템 및 전자 장치 | |
US10635517B2 (en) | Semiconductor devices comparing error codes and semiconductor systems including the same | |
US10460826B2 (en) | Test methods of semiconductor devices and semiconductor systems used therein | |
US11669393B2 (en) | Memory device for swapping data and operating method thereof | |
US9318164B2 (en) | Semiconductor memory device with power-saving signal | |
US20190027198A1 (en) | Electronic devices | |
US10621039B2 (en) | Electronic devices | |
US10014073B2 (en) | Semiconductor devices | |
US9613677B1 (en) | Semiconductor devices and semiconductor systems including the same | |
CN114520011A (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 |