CN110175086B - 存储器件、半导体器件、半导体系统及耗损均衡设备 - Google Patents
存储器件、半导体器件、半导体系统及耗损均衡设备 Download PDFInfo
- Publication number
- CN110175086B CN110175086B CN201910120201.8A CN201910120201A CN110175086B CN 110175086 B CN110175086 B CN 110175086B CN 201910120201 A CN201910120201 A CN 201910120201A CN 110175086 B CN110175086 B CN 110175086B
- Authority
- CN
- China
- Prior art keywords
- address
- block
- write count
- page
- circuit
- 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
- 239000004065 semiconductor Substances 0.000 title claims abstract description 116
- 238000012937 correction Methods 0.000 claims abstract description 4
- 238000013507 mapping Methods 0.000 claims description 75
- 230000008859 change Effects 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 description 14
- AUWFXYNRJHALTA-CCMAZBEPSA-N (2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-2-amino-5-(diaminomethylideneamino)pentanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]-3-(1h-indol-3-yl)propanoyl]amino]-3-(1h-indol-3-yl)propanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amin Chemical compound C([C@H](NC(=O)[C@H](CCCNC(N)=N)NC(=O)[C@H](CC=1C2=CC=CC=C2NC=1)NC(=O)[C@H](CC=1C2=CC=CC=C2NC=1)NC(=O)[C@H](CCCNC(N)=N)NC(=O)[C@H](CCCNC(N)=N)N)C(O)=O)C1=CC=CC=C1 AUWFXYNRJHALTA-CCMAZBEPSA-N 0.000 description 7
- 101100482664 Arabidopsis thaliana ASA1 gene Proteins 0.000 description 7
- 101100216036 Oryza sativa subsp. japonica AMT1-1 gene Proteins 0.000 description 7
- 101100076556 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MEP1 gene Proteins 0.000 description 7
- 101150077112 amt1 gene Proteins 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- KCJRWGDYENMTQI-ICFYVMMKSA-N (2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-2-amino-3-(1h-imidazol-5-yl)propanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]-3-(1h-indol-3-yl)propanoyl]amino]-3-(1h-indol-3-yl)propanoyl]am Chemical compound C([C@H](N)C(=O)N[C@@H](CCCNC(N)=N)C(=O)N[C@@H](CCCNC(N)=N)C(=O)N[C@@H](CC=1C2=CC=CC=C2NC=1)C(=O)N[C@@H](CC=1C2=CC=CC=C2NC=1)C(=O)N[C@@H](CCCNC(N)=N)C(=O)N[C@@H](CC=1C=CC=CC=1)C(O)=O)C1=CNC=N1 KCJRWGDYENMTQI-ICFYVMMKSA-N 0.000 description 6
- 101100512864 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MEP2 gene Proteins 0.000 description 6
- 101150029609 amt2 gene Proteins 0.000 description 6
- 230000004913 activation Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100055523 Caenorhabditis elegans amt-2 gene Proteins 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- 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
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/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
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0623—Address space extension for memory modules
-
- 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
- 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
- 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/0653—Monitoring 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
-
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Abstract
本申请公开了存储器件、半导体器件和半导体系统。存储器件包括多个页。每个页包括:数据区域,其被配置为储存数据;纠错码(ECC)区域,其被配置为储存ECC数据,所述ECC数据被用来检测并校正数据区域中所储存的数据中出现的一个或更多个错误;以及元数据区域,其被配置为储存对应页的写入计数。
Description
相关申请的交叉引用
本申请要求于2018年2月19日提交的申请号为10-2018-0019326的韩国专利申请的优先权,其公开的全部内容通过引用合并于此。
技术领域
本公开的实施例涉及存储器件、半导体器件和半导体系统,并且更具体地,涉及用于储存元数据的存储器件、以及用于使用元数据来执行耗损均衡操作的半导体器件、以及针对存储器件和半导体器件的半导体系统。
背景技术
诸如NAND快闪存储器件或相变存储器件之类的存储器件具有能在一个单元中进行的有限数量的写入操作。因此,如果大量写入操作被集中应用于存储器件的特定单元区域,则存储器件的寿命会降低。为了解决该问题,可以执行用于允许在存储器件的整个单元区域中均匀地进行写入操作的耗损均衡操作。
在存储器件中执行写入请求的过程中,将从主机提供的逻辑地址映射到存储器件的物理地址,然后在与被映射的物理地址相对应的单元区域中执行写入请求。耗损均衡操作可以通过基于应用于与物理地址相对应的单元区域的写入请求的数量而改变逻辑地址和物理地址之间的映射来执行。
传统上,当存储器件包括多个块时,可以以块为单位(即,基于块)来对包括应用于存储器件的写入请求的数量的元数据进行管理,并且基于每个块的元数据执行耗损均衡操作。在存储器件中,每个块可以包括多个页,并且每个页可以包括多个存储单元。在这里,页可以是存储器件中的写入操作的基本单位。
然而,当在存储器件中以块为单位来管理元数据时,难以按页来识别元数据,并且因此存在改善存储器件的耗损均衡操作的性能的限制。
发明内容
本公开的各种实施例针对提供实质上解决了由于相关技术的限制和缺点而导致的一个或更多个问题的存储器件、半导体器件和半导体系统。
本公开的实施例涉及一种用于按页来储存元数据的存储器件。
本公开的实施例涉及一种用于使用按页的元数据来执行耗损均衡操作的半导体器件,以及包括该半导体器件的半导体系统。
根据本公开的实施例,一种存储器件包括多个页。每个页包括:数据区域,其被配置为储存数据;纠错码(ECC)区域,其被配置为储存ECC数据,所述ECC数据被用来检测并校正所述数据区域中所储存的数据中出现的一个或更多个错误;以及元数据区域,其被配置为储存对应页的写入计数。
根据本公开的另一实施例,一种半导体器件包括:判决电路,其被配置为在接收到写入请求时以预定概率来产生地址储存信号;地址储存电路,其被配置为响应于所述地址储存信号来储存与所述写入请求相对应的地址;以及更新电路,其被配置为基于从所述地址储存电路输出的地址来更新储存在存储器件中的页写入计数。
根据本公开的另一实施例,一种耗损均衡设备包括:块写入计数检查电路,其被配置为基于特定块的块写入计数来产生全元读取信号;页写入计数获取电路,其被配置为响应于所述全元读取信号来从存储器件获取与输入地址相对应的所述特定块中所包括的页的页写入计数;以及地址映射改变电路,其被配置为基于所述页写入计数来改变所述输入地址与物理地址之间的地址映射。
根据本公开的另一实施例,一种半导体系统包括:存储器件,所述存储器件包括多个页,并且被配置为储存针对页中的每个页的页写入计数;以及半导体器件,其被配置为不仅基于与输入地址相对应的特定块的块写入计数,而且还基于特定块中所包括的页的页写入计数来改变所述输入地址与物理地址之间的地址映射。
将要理解的是,本公开的前述一般描述和以下详细描述二者都是示例性的和解释性的,并且旨在提供对所要求保护的本发明的进一步解释。
附图说明
当结合附图考虑时,通过参考以下详细描述,本公开的上述和其他特征和优点将变得容易显而易见,其中:
图1示出了根据本公开的实施例的数据处理系统。
图2示出了根据本公开的实施例的半导体系统。
图3示出了根据本公开的实施例的半导体器件。
图4示出了根据本公开的实施例的用于更新页写入计数的方法。
图5是示出根据本公开的实施例的用于更新元数据的方法的时序图。
图6示出了根据本公开的实施例的半导体器件。
图7示出了根据本公开的实施例的地址映射电路中所包含的地址映射表。
图8示出了根据本公开的实施例的耗损均衡设备。
图9示出了根据本公开的实施例的块写入计数检查电路。
图10示出了根据本公开的实施例的半导体器件。
图11示出了根据本公开的实施例的耗损均衡设备。
图12示出了根据本公开的实施例的地址映射电路的操作。
具体实施方式
现在将详细参考本公开的实施例,在附图中示出了它们的示例。贯穿本公开的各个附图和实施例中,相同或相似的附图标记指代相同或相似的部分。
图1示出了根据本公开的实施例的数据处理系统。
参考图1,数据处理系统可以包括主机1000和半导体系统1。
主机1000可以包括至少一个操作系统(OS)。操作系统(OS)可以支持与用户的目的相对应的功能和操作,并且可以管理并控制主机1000的功能和操作。操作系统(OS)可以允许半导体系统1和主机1000彼此交互。
半导体系统1可以包括存储器件10和半导体器件100。存储器件10可以储存数据,并且半导体器件100可以控制用于将数据储存在存储器件10中的操作。尽管为了便于描述和更好地理解本公开,图1示出了彼此分离的半导体器件100和存储器件10,但是本公开的范围或精神不限于此。在另一个实施例中,半导体器件100和存储器件10可以被集成到单个器件中。
半导体器件100可以响应于来自主机1000的请求而控制存储器件10。例如,半导体器件100可以将从存储器件10读取的数据传送到主机1000,并且可以将从主机1000接收到的写入数据储存在存储器件10中。半导体器件100可以包括第一半导体器件200、第二半导体器件300或两者。
存储器件10可以响应于读取命令来执行读取操作,使得储存在存储器件10中的数据被输出。存储器件10可以响应于写入命令来执行写入操作,使得写入数据被储存在存储器件10中。存储器件10可以允许所储存的数据即使在电源被切断或中断时也保持不变。尽管存储器件10可以被实现为非易失性存储器(诸如NAND快闪存储器或相变存储器),但是本公开的范围或精神不限于此。
参考图1,存储器件10可以包括多个存储体Bank0~BankN,N是正整数。存储体Bank0~BankN中的每一个可以包括多个块BL0~BLM,M是正整数。块BL0~BLM中的每一个可以包括多个页Page1~PageK,K是正整数。存储体Bank0~BankN中的每一个可以独立地执行读取或写入操作。页Page1~PageK中的每一个可以包括多个存储单元,并且可以被用作写入操作的基本单位。也就是说,响应于一个写入命令,数据可以被储存在与一个页相对应的数据区域或元数据区域中。
在图1中,存储体Bank0~BankN中的每一个可以包括相同数量的块BL0~BLM,并且块BL0~BLM中的每一个可以包括相同数量的页Page1~PageK。然而,本公开的范围或精神不限于此。在其他实施例中,存储体Bank0~BankN可以包括不同数量的块,并且块BL0~BLM可以包括不同数量的页。另外,图1中所示的存储体Bank0~BankN、块BL0~BLM以及页Page1~PageK可以被用来指示包含关系或连接关系,并且可以在必要时不对应于物理布置。
图2示出了根据本公开的实施例的半导体系统1a。
参考图2,半导体系统1a可以包括存储器件10a和半导体器件200a。存储器件10a可以对应于图1的存储器件10。半导体器件200a可以对应于图1的第一半导体器件200。尽管为了便于描述和更好地理解本公开,图2示出了仅包括一个页Page1的存储器件10a,但是本公开的范围或精神不限于此。在另一个实施例中,存储器件10a可以包括多个页,每个页都具有与所述页Page1相同的结构。
参考图2,页Page1可以包括数据区域110、纠错码(ECC)区域120和元数据区域130。该数据区域110、ECC区域120和元数据区域130可以根据储存在其中的数据的类型而被分类。数据区域110可以基于写入命令来储存数据。ECC区域120可以储存被用来检测并校正在数据区域110中所储存的数据中出现的错误的ECC数据。元数据区域130可以储存被用来管理包括所述页Page1的一个或多个页的元数据。例如,元数据区域130可以储存页写入计数,该页写入计数指示应用于元数据区域130所属的页的写入请求的数量。
存储器件10a可以包括多个半导体芯片CHIP0~CHIP8。参考图2,数据区域110可以被设置在第一至第八半导体芯片CHIP0~CHIP7中。ECC区域120和元数据区域130可以被设置在第九半导体芯片CHIP8中。尽管为了便于描述,图2示出了被设置在第一至第八半导体芯片CHIP0~CHIP7中的数据区域110,但是本公开的范围或精神不限于此。在其他实施例中,必要时,可以改变分配给数据区域110的半导体芯片的数量。
第一至第八半导体芯片CHIP0~CHIP7可以分别耦接到多个输入/输出(I/O)线组DQ0~DQ7。I/O线组DQ0~DQ7中的每一个可以包括:例如16个I/O线。每个I/O线组中的16个I/O线中的每一个可以响应于一个读取命令或一个写入命令来传送16比特位的数据(16比特位数据)。也就是说,第一至第八半导体芯片CHIP0~CHIP7中的每一个可以以16的突发长度(BL16)来操作。结果,在分别与一个读取命令或一个写入命令相对应的读取操作或写入操作期间,半导体芯片CHIP0~CHIP7中的每一个可以输出或接收16×16比特位的数据,即32字节的数据(32字节数据),并且8个半导体芯片CHIP0~CHIP7可以输出或接收8×32字节的数据,即256字节的数据(256字节数据)。换言之,根据该实施例,与一个页相对应的数据区域110可以具有256字节的长度,并且分配给数据区域110的第一至第八半导体芯片CHIP0~CHIP7中的每一个可以储存与数据区域110的一部分相对应的32字节数据。然而,每个半导体芯片中的数据区域110的大小和数据区域110的该部分的大小不限于此,并且可以根据储存数据的半导体芯片的数量、分配给每个半导体芯片的I/O线的数量、突发长度(BL)等等而改变。
如上所述,ECC区域120和元数据区域130可以被设置在第九半导体芯片CHIP8中。也就是说,ECC区域120和元数据区域130可以被设置在同一芯片中。可以将ECC区域120分配给每个页。ECC区域120可以储存与储存在同一页的数据区域110中的数据相对应的ECC数据。当在写入操作期间将写入数据储存在数据区域110中时,与写入数据相对应的ECC数据可以被储存在同一页的ECC区域120中。当在读取操作期间从数据区域110输出读取数据时,可以输出储存在ECC区域120中的对应ECC数据。
可以将元数据区域130分配给每个页。元数据区域130可以储存元数据区域130所属的特定页的写入计数。在同一页中,元数据区域130可以独立于数据区域110和ECC区域120而被访问。
耦接到第九半导体芯片CHIP8的I/O线组DQ8可以与第一到第八半导体芯片CHIP0~CHIP7中的每一个具有相同的I/O线的数量(即,16个I/O线)。ECC区域120和元数据区域130可以以作为第一至第八半导体芯片CHIP0~CHIP7中的每一个的突发长度的一半的突发长度来操作。根据该实施例,ECC区域120和元数据区域130中的每一个可以以为8的突发长度(BL8)来操作。因此,当在ECC区域120和元数据区域130中的每一个中执行读取操作或写入操作时,16字节(8×16比特位)的ECC数据或16字节(8×16位)的页元数据可以是输入或输出。换句话说,一个页的ECC区域120可以储存16字节的ECC数据,并且一个页的元数据区域130可以储存16字节的元数据。
在写入操作期间,写入数据可以被储存在第一至第八半导体芯片CHIP0~CHIP7中的每一个中的数据区域110中,同时对应的ECC数据可以被储存在第九半导体芯片CHIP8中的ECC区域120中。如上所述,256字节的写入数据(即,256字节写入数据)可以被储存在数据区域110中,而对应的16字节的ECC数据(即,16字节ECC数据)可以被储存在ECC区域120中。
在读取操作期间,可以从第一至第八半导体芯片CHIP0~CHIP7中的每一个中的数据区域110输出读取数据,同时可以从第九半导体芯片CHIP8中的ECC区域120输出对应的ECC数据。以与在写入操作中相同的方式,可以从数据区域110输出256字节的数据(即,256字节读取数据),并且可以从第九半导体芯片CHIP8输出对应的16字节的ECC数据(即,16字节ECC数据)。如上所述,在写入操作或读取操作期间,可以同时访问数据区域110和ECC区域120。元数据区域130可以独立于数据区域110和ECC区域120而被访问。
图3示出了根据本公开的实施例的图2中所示的半导体器件200a。
参考图3,半导体器件200a可以包括判决电路210、地址储存电路220和更新电路230。
在接收到写入请求WR_REQ时,判决电路210可以决定是否储存与写入请求WR_REQ相对应的地址WR_ADD。在该实施例中,可以以页为单位来执行半导体系统的写入操作。因此,与写入请求WR_REQ相对应的地址WR_ADD可以是指示存储器件10a的特定页的页地址。每当判决电路210接收到写入请求WR_REQ时,判决电路210可以将与所接收到的写入请求WR_REQ相对应的页地址WR_ADD储存在地址储存电路220中。在这种情况下,每当接收到写入请求WR_REQ时,地址储存电路220的大小会不可避免地增大以储存页地址WR_ADD,并且半导体器件200a访问存储器件10a中的元数据区域130的次数也可以增加。
因此,根据实施例,在接收到写入请求WR_REQ时,判决电路210可以以预定概率来储存页地址WR_ADD。为此,判决电路210可以包括随机数发生器。例如,随机数发生器可以产生1到16之中的随机数,该随机数对应于预定概率。如果1到16之中的特定数字被产生为随机数,则地址储存信号STR可以被激活,使得判决电路210可以以1/16的概率来储存页地址WR_ADD。
地址储存电路220可以响应于被激活的地址储存信号STR来储存页地址WR_ADD。地址储存电路220可以具有先进先出(FIFO)结构或后进先出(LIFO)结构,或者可以输出页地址WR_ADD而与数据输入顺序无关。
在从地址储存电路220接收到页地址WR_ADD时,更新电路230可以更新应用于存储器件10a的每个页的写入请求的数量。换句话说,更新电路230可以在接收到页地址WR_ADD时更新页写入计数PGCNT。页写入计数PGCNT可以被储存在与页地址WR_ADD相对应的页的元数据区域130中。根据实施例,更新电路230可以读取储存在元数据区域130中的页写入计数PGCNT,更新该页写入计数PGCNT,并且将经更新的页写入计数PGCNT_UP写入到元数据区域130中,使得更新电路230可以按页来储存写入计数。
图4示出了根据本公开的实施例的用于更新页写入计数的方法。可以用图3中所示的半导体器件200a来执行图4的方法。因此,将参考图2和图3来描述图4的方法。
参考图4,写入命令WR1~WR4可以是用于对数据区域110和ECC区域120执行写入操作的命令,并且读取命令RD1~RD4可以是用于对数据区域110和ECC区域120执行读取操作的命令。元写入命令META_WR可以是用于对元数据区域130执行写入操作的命令,并且元读取命令META_RD可以是用于对元数据区域130执行读取操作的命令。
参考图4,写入命令WR1、WR2和WR3、读取命令RD1、RD2和RD3、元读取命令META_RD、元写入命令META_WR、读取命令RD4和写入命令WR4可以被顺序地传送到存储器件10a。如上所述,针对元数据区域130的元读取命令META_RD或元写入命令META_WR可以被传送到存储器件10a,而一般读取命令(诸如读取命令RD1、RD2、RD3或RD4)、一般写入命令(诸如写入命令WR1、WR2、WR3或WR4)不会被输入到存储器件10a。
半导体器件200a的判决电路210可以决定是否储存与写入命令WR1、WR2和WR3中的每一个相对应的页地址。以1/16的概率来决定是否储存与命令WR1、WR2和WR3中的每一个相对应的页地址。在图4中所示的该实施例中,假设地址储存电路220将与写入命令WR1和WR3相对应的页地址分别储存为页地址WR_ADD3和WR_ADD4。
当存储器件10a处于待机模式时(即,当存储器件10a没有接收到一般读取命令或一般写入命令时),更新电路230可以将针对地址储存电路220中所储存的页地址的元读取命令META_RD传送到存储器件10a。响应于元读取命令META_RD,存储器件10a可以将储存在元数据区域130中的页元数据(即,页写入计数)传送到更新电路230。更新电路230可以将所接收到的页写入计数的值增大1,并且可以将用于写入增大的页写入计数的元写入命令META_WR传送到存储器件10a。存储器件10a可以响应于该元写入命令META_WR而将增大的页写入计数写入到元数据区域130中。
更新电路230可以更新从地址储存电路220中所储存的多个页地址之中选择的随机地址的页写入计数。例如,如果将页地址WR_ADD1、WR_ADD2、WR_ADD3和WR_ADD4顺序地储存在地址储存电路220中(如图4中所示),则可以首先更新与随机页地址WR_ADD3相对应的页写入计数。然而,本公开的范围或精神不限于此。在另一个实施例中,可以首先更新首先储存的页地址WR_ADD1的页写入计数,或者可以首先更新最终储存的页地址WR_ADD4的页写入计数。
图5是示出根据本公开的实施例的用于更新元数据的方法的时序图。将参考图2和3中所示的半导体系统1a来描述图5的方法。
近来,在需要处理大量数据(诸如图像处理或大数据处理)的工业领域的数量正在迅速增加。为了处理大量数据,增大数据处理速率很重要。作为用于增大半导体存储器件的数据处理速率的方法的代表性示例,存储体交错(interleaving)技术正在被使用。存储体交错技术可以指能够同时使用多个存储体的数据控制技术。然而,由于存储体交错技术同时使用多个存储体,因此功耗会不可避免地增加。结果,能够同时进行的写入操作的数量或者能够同时进行的读取操作的数量会受到限制,使得当存储器件执行最大数量的写入操作或最大数量的读取操作时,可以在存储器件中出现待机时间。
为了便于描述,假设执行图5的方法的存储器件(例如,存储器件10a)包括四个存储体Bank0~Bank3。然而,本公开的范围或精神不限于此。
参考图5,针对第一存储体Bank0的写入命令WR00和与该写入命令WR00相对应的数据DTA00、针对第二存储体Bank1的写入命令WR01和与该写入命令WR01相对应的数据DTA01、针对第三存储体Bank2的写入命令WR02和与该写入命令WR02相对应的数据DTA02以及针对第四存储体Bank3的写入命令WR03和与该写入命令WR03相对应的数据DTA03可以被顺序地应用于存储器件10a。在经过了预定时间之后,针对第一存储体Bank0的写入命令WR10和与该写入命令WR10相对应的数据DTA10、针对第二存储体Bank1的写入命令WR11和与该写入命令WR11相对应的数据DTA11、针对第三存储体Bank2的写入命令WR12和与该写入命令WR12相对应的数据DTA12以及针对第四存储体Bank3的写入命令WR13和与该写入命令WR13相对应的数据DTA13可以被顺序地应用于存储器件10a。
在将针对第一存储体Bank0的写入命令WR00和与该写入命令WR00相对应的数据DTA00应用于存储器件10a之后,可以在预定时间tWR期间运行针对第一存储体Bank0的写入操作。以与在第一存储体Bank0中相同的方式,在将写入命令WR01~WR03和分别与该写入命令WR01~WR03相对应的数据DTA01~DTA03输入到存储器件10a之后,可以在预定时间tWR期间运行针对存储体Bank1~Bank3中的每一个的写入操作。
由于能够在存储器件10a中消耗的功率量受到限制,所以能够在存储器件10a中同时处理的写入命令或读取命令的数量受到限制。尽管为了便于描述,能够在根据该实施例的存储器件10a中同时处理的写入命令的最大数量被示例性地设置为4,但是本公开的范围或精神不限于此。根据该实施例,尽管为了便于描述,存储体Bank0~Bank3的数量与能够在存储器件10a中同时处理的写入命令的最大数量相同,但应该注意,必要时,存储体的数量可以与能够同时处理的写入命令的最大数量不同。
在图5中所示的预定时间段T期间,可以根据同时处理的写入命令的最大数量而在四个存储体Bank0~Bank3中运行写入操作。因此,在预定时间段T期间,不会向存储器件10a输入额外的写入命令。在经过了预定时间段T之后,当针对第一存储体Bank0的写入操作完成时,针对第一存储体Bank0的写入命令WR10和与该写入命令WR10相对应的数据DTA10输入可以被输入到存储器件10a。在针对第二存储体Bank1的写入操作完成之后,针对第二存储体Bank1的写入命令WR11和与该写入命令WR11相对应的数据DTA11可以被输入到存储器件10a。在针对第三存储体Bank2的写入操作完成之后,针对第三存储体Bank2的写入命令WR12和与该写入命令WR12相对应的数据DTA12可以被输入到存储器件10a。在针对第四存储体Bank3的写入操作完成之后,针对第四存储体Bank3的写入命令WR13和与该写入命令WR13相对应的数据DTA13可以被输入到存储器件10a。
在存储体交错模式下激活最大数量的存储体期间,根据该实施例的半导体器件200a可以储存或更新页写入计数。也就是说,在不会将任何写入命令输入到存储器件10a的待机时间段T期间,半导体器件200a可以将页写入计数储存在其中或更新该页写入计数。为了更新页写入计数,半导体器件200a应该读取储存在元数据区域130中的前一页写入计数,将前一页写入计数增大1,并且最后将增大的页写入计数写入元数据区域130中。
通常,在读取操作中要消耗的功率量会小于在写入操作中要消耗的功率量。另外,对应于单个页的元数据区域130是16个字节长,并且单个页是256个字节长。因此,元数据区域130的大小可以小于单个页的大小。因此,尽管在激活最大数量的存储体期间(即,在待机时间段T期间)执行用于更新页写入计数的写入操作或读取操作,但是在存储器件10a中针对用来更新页写入计数的写入操作和读取操作而另外要消耗的功率量可能不会大到足以引起存储器件10a的写入操作中的任何问题。根据该实施例,由于可以在存储体交错模式下激活最大数量的存储体期间更新页写入计数,所以不需要将用于更新页写入计数的单独时间段分配给半导体系统1a。结果,可以防止半导体系统1a的性能由于页写入计数的更新而被劣化。
将在下文中参考附图描述被配置为使用上述元数据(即,页写入计数)来执行耗损均衡操作的半导体器件。
图6示出了根据本公开的实施例的半导体器件300a。半导体器件300a可以对应于图1的第二半导体器件300。参考图6,半导体器件300a可以在从图1的主机1000接收到写入请求WR_REQ和地址WR_ADD时产生命令CMD,或者可以产生用于从存储器件10a读取页写入计数PGCNT的命令CMD,然后可以执行耗损均衡操作。
半导体器件300a可以包括地址映射电路3100、耗损均衡设备3200和命令发生电路3300。地址映射电路3100可以将对应于逻辑地址的地址WR_ADD映射到物理地址ADD,并且可以响应于地址映射改变信号MAP_CH来改变逻辑地址WR_ADD与物理地址ADD之间的地址映射。
响应于写入请求WR_REQ,耗损均衡设备3200可以产生用来从存储器件10a获取页写入计数PGCNT所需的页地址PG_ADD和元读取命令META_RD,然后可以产生地址映射改变信号MAP_CH以改变地址映射电路3100的地址映射。
响应于来自地址映射电路3100的写入请求WR_REQ和物理地址ADD,命令发生电路3300可以产生要被传送到存储器件10a的命令CMD(例如写入命令WR)和地址ADD。根据实施例,在从耗损均衡设备3200接收到元读取命令META_RD和页地址PG_ADD时,命令发生电路3300可以产生分别对应于元读取命令META_RD和页地址PG_ADD的命令CMD和地址ADD,以从存储器件10a的元数据区域130读取页写入计数PGCNT。
图7示出了根据本公开的实施例的包含在图6的地址映射电路3100中的页地址映射表。
参考图7,页地址映射表不仅可以指示逻辑页地址LOG_ADD1和LOG_ADD2,而且还可以指示与逻辑页地址LOG_ADD1和LOG_ADD2相对应的物理页地址PHY_ADD1、PHY_ADD2和PHY_ADD3。与写入请求WR_REQ一起接收到的地址WR_ADD可以是逻辑地址,并且由地址映射电路3100产生的地址ADD可以是物理地址。如图7中所示,在页地址映射表AMT1中逻辑页地址与物理页地址之间的地址映射可以与在页地址映射表AMT2中逻辑页地址和物理页地址之间的地址映射不同。地址映射电路3100可以包括页地址映射表AMT1和AMT2(它们在逻辑页地址与物理页地址之间的相关性方面彼此不同),并且可以响应于地址映射改变信号MAP_CH而改变要被使用的页地址映射表。
根据另一个实施例,地址映射电路3100可以使用异或(XOR)密钥将逻辑页地址WR_ADD转换成物理页地址ADD。如果XOR密钥的值被设置为K,则可以实现下面的等式1和2。
[等式1]
A XOR K=B
[等式2]
A=B XOR K.
例如,如果A被设置为零“0”并且K被设置为“1”,则由(A XOR K)表示的B的值变为“1”。在等式1和2中,如果B被设置为“1”并且K被设置为“1”,则由(B XOR K)表示的A的值变为“0”。
基于XOR运算的上述特性,有可能使逻辑页地址LOG_ADD和物理页地址PHY_ADD彼此相关。如果物理页地址PHY_ADD、逻辑页地址LOG_ADD和XOR密钥具有相同的比特位数,则可以实现下面的等式3和4。可以在每个对应比特位中执行XOR运算。
[等式3]
LOG_ADD XOR K=PHY_ADD
[等式4]
LOG_ADD=PHY_ADD XOR K
在使用上述XOR密钥的情况下,每对物理页地址PHY_ADD和逻辑页地址LOG_ADD不需要被储存,而仅XOR密钥的值需要被储存,使得可以减小储存页地址映射所需的储存区域的大小。根据实施例,地址映射改变信号MAP_CH可以表示XOR密钥的值,并且地址映射电路3100可以根据表示XOR密钥值的地址映射改变信号MAP_CH而将物理页地址PHY_ADD转换成逻辑页地址LOG_ADD。
根据又一实施例,必要时,不仅可以将基于地址映射表的方案应用于地址映射电路3100,而且还可以将基于XOR密钥的方案应用于地址映射电路3100。地址映射改变信号MAP_CH不仅可以指示要改变的目标地址映射表,而且还可以指示要改变的目标XOR密钥。
图8示出了根据本公开的实施例的图6的耗损均衡设备3200。
参考图8,耗损均衡设备3200可以包括块写入计数检查电路3210、页写入计数获取电路3220和地址映射改变电路3230。
在接收到写入请求WR_REQ时,块写入计数检查电路3210可以从块写入计数储存电路3400获取与所接收到的写入请求WR_REQ相对应的特定块的块写入计数BLCNT,并且可以基于所获取的块写入计数BLCNT来产生全元读取信号AMETA_RD_EN。在这里,该块写入计数BLCNT指的是已经在特定块中所包括的页中进行的写入操作的数量。
响应于全元读取信号AMETA_RD_EN,页写入计数获取电路3220可以获取与写入请求WR_REQ相对应的特定块中所包括的页的页写入计数PGCNT。为了获取页写入计数PGCNT,页写入计数获取电路3220经由图6中示出的命令发生电路3300不仅可以将元读取命令META_RD传送到存储器件10a,而且还可以将与写入请求WR_REQ相对应的特定块中所包括的页的地址PG_ADD传送到存储器件10a。存储器件10a可以基于元读取命令META_RD和页地址PG_ADD来从元数据区域130读取页写入计数PGCNT。
地址映射改变电路3230可以基于页写入计数PGCNT来产生地址映射改变信号MAP_CH以改变页地址映射。地址映射改变信号MAP_CH可以是用于改变地址映射表的第一信号,可以是用于指示XOR密钥的第二信号,或者可以指示用于改变地址映射表的第一信号和用于指示XOR密钥的第二信号两者。
根据实施例,地址映射改变电路3230可以基于页写入计数PGCNT之中的最大值与最小值之间的差值来产生地址映射改变信号MAP_CH。例如,如果页写入计数PGCNT之中的最大值与最小值之间的差值小于预定参考值,则地址映射改变电路3230可以将地址映射改变信号MAP_CH去激活。如果页写入计数PGCNT之中的最大值与最小值之间的差值等于或大于预定参考值,则地址映射改变电路3230可以激活地址映射改变信号MAP_CH。更详细地,如果页写入计数PGCNT之中的最大值与最小值之间的差值小于预定参考值,则这意味着已经在特定块中所包括的页中均匀地进行了写入操作。如果页写入计数PGCNT之中的最大值与最小值之间的差值等于或大于预定参考值,则这意味着已经在特定块中所包括的页中不均匀地进行了写入操作。
图9示出了根据本公开的实施例的图8的块写入计数检查电路3210。参考图9,块写入计数检查电路3210可以包括块写入计数输出电路3211和比较器3212。
块写入计数输出电路3211可以从被配置为储存块写入计数BLCNT的块写入计数储存电路3400接收块写入计数BLCNT。块写入计数储存电路3400可以是被配置为储存与块相关联的元数据的存储器件。例如,块写入计数储存电路3400可以是动态随机存取存储器(DRAM)。根据实施例,块写入计数储存电路3400可以被包括在块写入计数输出电路3211中。
在接收到写入请求WR_REQ时,块写入计数输出电路3211可以从块写入计数储存电路3400获取块写入计数BLCNT,并且可以输出所获取的块写入计数BLCNT。响应于写入请求WR_REQ,块写入计数输出电路3211可以产生读取信号以从块写入计数储存电路3400读取块写入计数BLCNT。
比较器3212可以基于从块写入计数输出电路3211接收到的块写入计数BLCNT与预定参考值之间的比较结果来产生全元读取信号AMETA_RD_EN。例如,当块写入计数BLCNT等于或大于预定参考值时,比较器3212可以产生全元读取信号AMETA_RD_EN。
图10示出了根据本公开的实施例的半导体器件300b。半导体器件300b可以对应于图1的第二半导体器件300。
参考图10,半导体器件300b可以包括地址映射电路3100b、耗损均衡设备3200b和命令发生电路3300b。地址映射电路3100b可以基于块区段信息BL_INFO来选择多个地址映射表中的一个,可以执行地址转换(或地址映射),并且可以使用XOR密钥再次转换所转换的地址。耗损均衡设备3200b可以基于写入请求WR_REQ来提供块区段信息BL_INFO和XOR密钥。命令发生电路3300b在功能上与图6的命令发生电路3300相同。因此,为了便于描述,将省略对命令发生电路3300b的详细描述。
图11示出了根据本公开的实施例的图10的耗损均衡设备3200b。
参考图11,耗损均衡设备3200b可以包括块写入计数检查电路3210b、页写入计数获取电路3220b和地址映射改变电路3230b。
以与图8的块写入计数检查电路3210相同的方式,当块写入计数检查电路3210b接收到写入请求WR_REQ时,块写入计数检查电路3210b可以基于与所接收到的写入请求WR_REQ相对应的特定块的块写入计数BLCNT来产生全元读取信号AMETA_RD_EN。另外,块写入计数检查电路3210b可以判断预定区段中的哪一个对应于存储器件10a的每个块的块写入计数,并且可以基于所确定的区段来产生块区段信息BL_INFO。
参考图11,块写入计数检查电路3210b可以以预定次数的间隔(例如,32K)来设置块写入计数BLCNT可以属于的多个预定区段。也就是说,块写入计数所属的多个预定区段被设置为表示已经在每个块中执行的写入操作的数量。块写入计数检查电路3210b可以产生与每个区段相对应的块区段信息BL_INFO。例如,当存储器件10a的块的块写入计数位于区段0~32K中时,块写入计数检查电路3210b可以输出“0”来作为块区段信息BL_INFO。当存储器件10a的块的块写入计数位于区段32K~64K中时,块写入计数检查电路3210b可以输出“1”来作为块区段信息BL_INFO。当存储器件10a的块的块写入计数位于区段64K~96K中时,块写入计数检查电路3210b可以输出“0”来作为块区段信息BL_INFO。
图11的页写入计数获取电路3220b在功能上与图8的页写入计数获取电路3220相同。因此,为了便于描述,将省略对页写入计数获取电路3220b的详细描述。
地址映射改变电路3230b可以基于从存储器件10a读出的页写入计数PGCNT来产生用于改变地址映射的XOR密钥。特别地,地址映射改变电路3230b可以基于页写入计数PGCNT之中的最小值与最大值之间的差值来产生XOR密钥。
图12示出了根据本公开的实施例的图10的地址映射电路3100b的操作。在该实施例中,地址映射电路3100b可以包括地址映射表应用电路3110b和XOR密钥应用电路3120b。
地址映射表应用电路3110b可以基于块区段信息BL_INFO来选择多个地址映射表中的一个。例如,如果块区段信息被设置为“0”(即,如果块写入计数位于区段0~32K中),则地址映射表应用电路3110b可以使用地址映射表AMT1来执行逻辑地址WR_ADD到物理地址ADD的转换,以由此产生临时地址ADD_TEMP。另一方面,如果块区段信息被设置为“1”(即,如果块写入计数位于区段32K~64K中),则地址映射表应用电路3110b可以使用地址映射表AMT2来执行逻辑地址WR_ADD到物理地址ADD的转换,以由此产生临时地址ADD_TEMP。
此后,XOR密钥应用电路3120b可以通过将XOR密钥应用于临时地址ADD_TEMP来产生物理地址ADD。
根据实施例,地址映射电路3100b可以基于块区段信息BL_INFO来重新产生地址映射表AMT1和AMT2。例如,每当块区段信息BL_INFO从“1”变为“0”时,地址映射电路3100b都可以重新产生地址映射表AMT1和AMT2。
尽管为了便于描述,该实施例假设块写入计数区段中的每一个都具有32K的相同大小,但是本公开的范围或精神不限于此,并且必要时,块写入计数区段也可以具有不同的大小。
尽管为了便于描述,该实施例假设块区段信息BL_INFO具有两个值“0”和“1”,并且与该两个值“0”和“1”分别对应的两个地址映射表AMT1和AMT2,但本公开的范围或精神不限于此。在另一个实施例中,块区段信息BL_INFO可以具有四个值“00”、“01”、“10”和“11”以分别表示不同的区段(例如0~32K、32K~64K、64K~96K和96K~128K),使得与这四个块区段信息相对应的地址映射表的数量可以被设置为4。在又一个实施例中,作为对将块区段信息BL_INFO一对一地映射到地址映射表中的每一个的代替,如果块区段信息BL_INFO被分类为“00”或“10”,则块区段信息BL_INFO可以被配置为对应于地址映射表AMT1。如果块区段信息BL_INFO被分类为“01”或“11”,则块区段信息BL_INFO可以被配置为对应于地址映射表AMT2。以这种方式,一个地址映射表可以对应于块区段信息BL_INFO中的两个值或更多个值。
根据实施例,为了便于描述,首先将地址映射表应用于地址映射电路3100b,然后将XOR密钥应用于地址映射电路3100b,本公开的范围或精神不是限于此。在另一个实施例中,必要时,首先将XOR密钥应用于地址映射电路3100b,然后将地址映射表应用于地址映射电路3100b。
根据实施例,可以将地址映射表应用于块,并且将不同的XOR密钥应用于块中的页,从而引起耗损均衡性能的改善。在仅使用XOR密钥的情况下,XOR密钥的值可以仅被限制成分配给物理页地址或逻辑页地址的可用值的范围。例如,假设物理页地址或逻辑页地址由4比特位组成,则XOR密钥也可以是4比特位长。因此,分配给XOR密钥的可用值的数量可以被限制为16。
在使用地址映射表的情况下,物理地址应该与单独的逻辑地址配对,使得储存空间的大小会不可避免地增大。根据该实施例,将相同的地址映射表应用于块,并且将不同的XOR密钥应用于块中的页,使得耗损均衡所需的储存空间可以减小并且耗损均衡性能可以改善。
从以上描述显而易见的是,本公开的实施例可以按页储存元数据。
本公开的实施例可以通过改善耗损均衡的性能来增加半导体器件的寿命。
本领域技术人员将会认识到,在不脱离本发明的精神和必要特征的情况下,本发明可以以除了本文中所阐述的那些之外的其他特定方式来实行。因此,上述实施例在所有方面都被解释为说明性而非限制性的。本发明的范围应由所附权利要求及其法律等同物来确定,而不是由以上描述来确定。此外,旨在使在所附权利要求的含义和等同范围内的所有变化都被包含在其中。此外,对本领域技术人员来说显而易见的是,在所附权利要求中彼此未明确引用的权利要求可以作为本发明的实施例而组合地呈现,或者在申请被提交之后通过随后的修改而作为新的权利要求包括在内。
尽管已经描述了与本发明一致的多个说明性实施例,但是应该理解,本领域技术人员可以设计出落入本公开的原理的精神和范围内的许多其他修改和实施例。特别地,在本公开、附图和所附权利要求的范围内的组成部分和/或布置中,许多变化和修改是可能的。除了组成部分和/或布置中的变化和修改之外,对本领域技术人员来说可选使用也是显而易见的。
附图中的每个元件的附图标记
1a:半导体系统
10a:存储器件
200a:半导体器件
Claims (18)
1.一种半导体系统,包括:
存储器件,其被配置为包括多个页,并储存针对多个页中的每个页的页写入计数;以及
半导体器件,其被配置为不仅基于与输入地址相对应的特定块的块写入计数,而且还基于所述特定块中所包括的页的页写入计数来改变所述输入地址与物理地址之间的地址映射,以及
其中,所述多个页中的每个页包括:
数据区域,其被配置为储存数据;
纠错码ECC区域,其被配置为储存ECC数据,所述ECC数据被用来检测并校正所述数据区域中所储存的数据中出现的一个或更多个错误;以及
元数据区域,其被配置为储存对应页的所述页写入计数,以及
其中,所述半导体器件产生块区段信息,所述块区段信息指示预定区段中的哪一个对应于所述特定块的所述块写入计数,
其中,所述半导体器件产生地址映射改变信号,
其中,所述半导体器件基于所述块区段信息和所述地址映射改变信号来改变所述地址映射,
其中,所述元数据区域独立于所述数据区域和所述ECC区域由所述半导体器件来访问。
2.根据权利要求1所述的半导体系统,其中:
所述数据区域被设置在多个第一半导体芯片中;
所述ECC区域和所述元数据区域被设置在第二半导体芯片中;以及
设置在所述第一半导体芯片的每个半导体芯片中的所述数据区域的大小与设置在所述第二半导体芯片中的所述ECC区域的大小和设置在所述第二半导体芯片中的所述元数据区域的大小的总和相同。
3.根据权利要求2所述的半导体系统,其中:
所述ECC区域的大小和所述元数据区域的大小中的每个是设置在所述第一半导体芯片中的每个第一半导体芯片中的所述数据区域的大小的一半。
4.根据权利要求2所述的半导体系统,其中:
所述第二半导体芯片的突发长度是所述第一半导体芯片中的每个第一半导体芯片的突发长度的一半。
5.根据权利要求1所述的半导体系统,其中,所述半导体器件包括:
耗损均衡设备,其被配置为产生所述块区段信息和地址映射改变信号;以及
地址映射电路,其被配置为基于所述块区段信息和所述地址映射改变信号来改变所述地址映射,
其中,所述耗损均衡设备包括:
块写入计数检查电路,其被配置为基于所述特定块的所述块写入计数来产生全元读取信号,并且产生指示预定区段中的哪一个对应于所述特定块的所述块写入计数的块区段信息;
页写入计数获取电路,其被配置为响应于所述全元读取信号来获取所述特定块中所包括的所述页的所述页写入计数;以及
地址映射改变电路,其被配置为基于所述页写入计数来产生地址映射改变信号。
6.根据权利要求5所述的半导体系统,其中,所述地址映射电路包括多个地址映射表,基于所述块区段信息来选择所述多个地址映射表中的一个,并且使用选中的地址映射表来将所述输入地址映射到对应地址。
7.根据权利要求6所述的半导体系统,其中:
所述地址映射电路产生XOR密钥来作为所述地址映射改变信号;以及
所述地址映射电路将所述XOR密钥应用于所述对应地址,以由此输出被映射到所述输入地址的所述物理地址。
8.一种半导体器件,包括:
判决电路,其被配置为在接收到写入请求时以预定概率来产生地址储存信号;
地址储存电路,其被配置为响应于所述地址储存信号来储存与所述写入请求相对应的地址;
更新电路,其被配置为基于从所述地址储存电路输出的地址来更新储存在存储器件中的页写入计数;
耗损均衡设备,产生块区段信息,所述块区段信息指示预定区段中的哪一个对应于特定块的块写入计数,以及基于所述页写入计数来产生地址映射改变信号;以及
地址映射电路,其被配置为基于所述块区段信息和所述地址映射改变信号来改变地址映射。
9.根据权利要求8所述的半导体器件,其中,所述判决电路包括:
随机数发生器,其被配置为产生与所述预定概率相对应的随机数。
10.根据权利要求8所述的半导体器件,其中,所述更新电路从所述存储器件读出储存在与所述地址相对应的页中的所述页写入计数,更新读出的页写入计数,并将经更新的页写入计数写入所述存储器件中。
11.根据权利要求8所述的半导体器件,其中,所述更新电路从所述地址储存电路中所储存的一个或更多个地址之中选择一个地址,而与所述一个或更多个地址的储存顺序无关,并且使用选中的地址来执行更新操作。
12.根据权利要求8所述的半导体器件,其中,当能够在所述存储器件中同时操作的最大数量的存储体正操作时,所述更新电路更新所述页写入计数,所述存储器件包括多个存储体。
13.根据权利要求8所述的半导体器件,其中,所述更新电路在所述存储器件正消耗最大功率的待机时间段期间更新所述页写入计数。
14.一种耗损均衡设备,包括:
块写入计数检查电路,其被配置为基于特定块的块写入计数来产生全元读取信号;
页写入计数获取电路,其被配置为响应于所述全元读取信号来从存储器件获取与输入地址相对应的所述特定块中所包括的页的页写入计数;以及
地址映射改变电路,其被配置为基于所述页写入计数来改变所述输入地址与物理地址之间的地址映射,
其中,所述块写入计数检查电路产生块区段信息,所述块区段信息指示预定区段中的哪一个对应于所述特定块的所述块写入计数,所述块写入计数所属的所述预定区段被设置成表示已在每个块中执行的写入操作的数量。
15.根据权利要求14所述的耗损均衡设备,其中,所述块写入计数检查电路包括:
块写入计数输出电路,其被配置为基于写入请求来获取所述块写入计数;以及
比较器,其被配置为基于所述块写入计数与参考值之间的比较结果来产生所述全元读取信号。
16.根据权利要求15所述的耗损均衡设备,其中,所述块写入计数输出电路通过访问被配置为储存所述块写入计数的块写入计数储存电路来获取所述块写入计数。
17.根据权利要求14所述的耗损均衡设备,其中,所述页写入计数获取电路基于所述输入地址来产生用于访问所述特定块中所包括的所述页的页地址。
18.根据权利要求14所述的耗损均衡设备,其中,所述地址映射改变电路基于来自所述页写入计数之中的最大值与最小值之间的差值来改变所述地址映射。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0019326 | 2018-02-19 | ||
KR1020180019326A KR102398540B1 (ko) | 2018-02-19 | 2018-02-19 | 메모리 장치, 반도체 장치 및 반도체 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175086A CN110175086A (zh) | 2019-08-27 |
CN110175086B true CN110175086B (zh) | 2023-11-03 |
Family
ID=67616900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910120201.8A Active CN110175086B (zh) | 2018-02-19 | 2019-02-18 | 存储器件、半导体器件、半导体系统及耗损均衡设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11113145B2 (zh) |
KR (1) | KR102398540B1 (zh) |
CN (1) | CN110175086B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11561729B2 (en) * | 2020-08-19 | 2023-01-24 | Micron Technology, Inc. | Write determination counter |
KR102543663B1 (ko) * | 2021-07-29 | 2023-06-15 | 국방과학연구소 | 전자 장치의 소프트웨어 검증 방법 |
US11853607B2 (en) | 2021-12-22 | 2023-12-26 | Western Digital Technologies, Inc. | Optimizing flash memory utilization for NVMe KV pair storage |
US11817883B2 (en) | 2021-12-27 | 2023-11-14 | Western Digital Technologies, Inc. | Variable length ECC code according to value length in NVMe key value pair devices |
US11733876B2 (en) | 2022-01-05 | 2023-08-22 | Western Digital Technologies, Inc. | Content aware decoding in KV devices |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101676882A (zh) * | 2008-09-16 | 2010-03-24 | 美光科技公司 | 存储器装置的内嵌映射信息 |
US9176812B1 (en) * | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
CN105122220A (zh) * | 2013-03-15 | 2015-12-02 | 西部数据技术公司 | 固态驱动器中的原子写入命令支持 |
CN105843553A (zh) * | 2015-02-02 | 2016-08-10 | 三星电子株式会社 | 包括能够进行重写操作的存储装置的存储系统的操作方法 |
WO2016135955A1 (ja) * | 2015-02-27 | 2016-09-01 | 株式会社日立製作所 | 不揮発性メモリデバイス |
CN107544915A (zh) * | 2016-06-27 | 2018-01-05 | 爱思开海力士有限公司 | 存储系统及其地址映射方法和访问方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3602294B2 (ja) | 1997-05-28 | 2004-12-15 | 株式会社ルネサステクノロジ | 半導体メモリおよび情報記憶装置 |
KR101042197B1 (ko) * | 2008-12-30 | 2011-06-20 | (주)인디링스 | 메모리 컨트롤러 및 메모리 관리 방법 |
US20110231713A1 (en) * | 2009-11-04 | 2011-09-22 | Hitachi, Ltd. | Flash memory module |
KR101796116B1 (ko) * | 2010-10-20 | 2017-11-10 | 삼성전자 주식회사 | 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법 |
KR20130019891A (ko) | 2011-08-18 | 2013-02-27 | 삼성전자주식회사 | 메타 라이팅 빈도를 줄이기 위한 메타 데이터 라이팅 방법 |
US9298606B2 (en) | 2011-09-30 | 2016-03-29 | Intel Corporation | Statistical wear leveling for non-volatile system memory |
US9081701B1 (en) * | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding data for solid-state memory |
US10733069B2 (en) * | 2013-12-04 | 2020-08-04 | International Business Machines Corporation | Page retirement in a NAND flash memory system |
US9547550B1 (en) * | 2015-07-07 | 2017-01-17 | Tidal Systems, Inc. | System and method for improved data maintenance in a flash drive |
US9569306B1 (en) * | 2015-12-18 | 2017-02-14 | International Business Machines Corporation | Recovery of multi-page failures in non-volatile memory system |
KR20180094391A (ko) | 2017-02-15 | 2018-08-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2018
- 2018-02-19 KR KR1020180019326A patent/KR102398540B1/ko active IP Right Grant
-
2019
- 2019-02-18 CN CN201910120201.8A patent/CN110175086B/zh active Active
- 2019-02-19 US US16/279,917 patent/US11113145B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101676882A (zh) * | 2008-09-16 | 2010-03-24 | 美光科技公司 | 存储器装置的内嵌映射信息 |
US9176812B1 (en) * | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
CN105122220A (zh) * | 2013-03-15 | 2015-12-02 | 西部数据技术公司 | 固态驱动器中的原子写入命令支持 |
CN105843553A (zh) * | 2015-02-02 | 2016-08-10 | 三星电子株式会社 | 包括能够进行重写操作的存储装置的存储系统的操作方法 |
WO2016135955A1 (ja) * | 2015-02-27 | 2016-09-01 | 株式会社日立製作所 | 不揮発性メモリデバイス |
CN107544915A (zh) * | 2016-06-27 | 2018-01-05 | 爱思开海力士有限公司 | 存储系统及其地址映射方法和访问方法 |
Also Published As
Publication number | Publication date |
---|---|
US11113145B2 (en) | 2021-09-07 |
CN110175086A (zh) | 2019-08-27 |
US20190258543A1 (en) | 2019-08-22 |
KR20190099648A (ko) | 2019-08-28 |
KR102398540B1 (ko) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175086B (zh) | 存储器件、半导体器件、半导体系统及耗损均衡设备 | |
US9213645B2 (en) | Command aware partial page programming | |
US8910017B2 (en) | Flash memory with random partition | |
EP3436953B1 (en) | Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device | |
JP5736439B2 (ja) | ソリッドステート記憶装置におけるトランスレーションレイヤ | |
US8819385B2 (en) | Device and method for managing a flash memory | |
KR101573089B1 (ko) | 병렬 메모리 어레이들의 블록 어드레싱 | |
US6000006A (en) | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage | |
US8555143B2 (en) | Flash memory controller and the method thereof | |
US20100082917A1 (en) | Solid state storage system and method of controlling solid state storage system using a multi-plane method and an interleaving method | |
US9817712B2 (en) | Storage control apparatus, storage apparatus, information processing system, and storage control method | |
US20100318760A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
US7245539B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
KR20090081657A (ko) | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 | |
US20200150899A1 (en) | Storage device, operating method of storage device, and operating method of host controlling storage device | |
US20090024787A1 (en) | Data writing method and apparatus | |
TWI803203B (zh) | 儲存裝置、控制器以及操作方法 | |
JP2015184856A (ja) | メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。 | |
US20120131264A1 (en) | Storage device | |
TW201907288A (zh) | 記憶體系統及使用其的耗損均衡方法 | |
US8489804B1 (en) | System for using dynamic random access memory to reduce the effect of write amplification in flash memory | |
KR101469771B1 (ko) | 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법 | |
CN113724775B (zh) | 元信息管理方法、固态硬盘控制器及固态硬盘 | |
KR20180087494A (ko) | 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US10445014B2 (en) | Methods of operating a computing system including a host processing data of first size and a storage device processing data of second size and including a memory controller and a non-volatile memory |
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 |