CN108847269A - 存储系统及其操作方法 - Google Patents
存储系统及其操作方法 Download PDFInfo
- Publication number
- CN108847269A CN108847269A CN201810349212.9A CN201810349212A CN108847269A CN 108847269 A CN108847269 A CN 108847269A CN 201810349212 A CN201810349212 A CN 201810349212A CN 108847269 A CN108847269 A CN 108847269A
- Authority
- CN
- China
- Prior art keywords
- data
- dbi
- mark
- bit
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- 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/085—Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage 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/0629—Configuration or reconfiguration of storage systems
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种存储系统,包括:ECC单元,其适用于:基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码,通过校正第二数据来产生第三数据以及通过校正第二DBI标志来产生第三DBI标志;DBI单元,其适用于:基于第三数据和第三DBI标志,通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及DM单元,其适用于:基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
Description
相关申请的交叉引用
本申请要求于2017年4月18日提交的申请号为10-2017-0050011和2018年4月6日提交的申请号为10-2018-0040551的韩国专利申请的优先权,其通过引用整体合并于此。
技术领域
示例性实施例涉及一种存储系统,更具体地,涉及一种包括ECC单元、DBI单元和DM单元的存储系统及其操作方法。
背景技术
在高性能电子系统中广泛使用的半导体器件在容量和速度二者方面都在增加。作为半导体器件的动态随机存取存储器(DRAM)是通过储存在电容器中的电荷来确定数据的易失性存储器。
随着DRAM的工作速度加快和DRAM的储存容量增加,逐渐需要高可靠性的数据传输和低功耗。
为了加快存储系统的速度和减小存储系统的尺寸,对包括ECC单元、DBI单元和DM单元的存储系统的需求越来越大。相应地,对包括ECC单元、DBI单元和DM单元的进一步改进的存储系统的需求越来越大。
发明内容
各种实施例针对一种能够使在使用ECC单元、DBI单元和DM单元的全部或部分的各种情况下的存储系统的面积、功耗和操作时间最优的方法。
此外,各种实施例针对独立于ECC单元而操作的DM单元。
此外,各种实施例针对反复执行DBI操作以使传输或接收的高逻辑的数据位最小化。
此外,各种实施例针对使冗余地应用有ECC单元的功能和DM单元的功能的器件和操作最小化和简化。
在一个实施例中,一种存储系统包括:ECC单元,其适用于:基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码,通过校正第二数据来产生第三数据以及通过校正第二DBI标志来产生第三DBI标志;DBI单元,其适用于:基于第三数据和第三DBI标志,通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及DM单元,其适用于:基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
第二数据可以包括多个第二数据组,以及DM单元可以在每个第二数据组包括的多个比特位的高逻辑的数量等于或大于掩蔽值(masking value)时产生高逻辑的DM标志位。
DM单元可以在每个第二数据组中包括的所述多个比特位的高逻辑的数量小于掩蔽值时产生低逻辑的DM标志位。
第一数据可以在第二数据穿过通道之前为原始数据,以及第一数据可以包括多个第一数据组。
掩蔽值可以比数据掩蔽模式边界值(data masking pattern boundary value)小,以及数据掩蔽模式边界值可以为每个第一数据组中包括的多个比特位的高逻辑的数量的边界值,所述边界值用来无论每个第一数据组中包括的所述多个比特位是否出现单个错误都使能DM单元向DM标志输入高逻辑。
掩蔽值可以比数据模式边界值(data pattern boundary value)大,以及数据模式边界值可以为每个第一数据组中包括的多个比特位的高逻辑的数量的边界值,所述边界值用来无论每个第一数据组中包括的所述多个比特位是否出现单个错误都使能DM单元向DM标志输入低逻辑。
与高逻辑的DM标志位相对应的第四数据组可以为不执行写入操作的数据组,以及与低逻辑的DM标志位相对应的第四数据组可以为执行写入操作的数据组。
掩蔽值可以为6,数据掩蔽模式边界值可以为7,以及数据模式边界值可以为4。
在一个实施例中,一种操作存储系统的方法包括:基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码而通过校正第二数据来产生第三数据以及通过校正第二DBI标志来产生第三DBI标志;基于第三数据和第三DBI标志而通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
第二数据可以包括多个第二数据组,以及产生DM标志的步骤可以包括在每个第二数据组中包括的多个比特位的高逻辑的数量等于或大于掩蔽值时产生高逻辑的DM标志位。
产生DM标志的步骤可以包括在每个第二数据组中包括的所述多个比特位的高逻辑的数量小于掩蔽值时产生低逻辑的DM标志位。
第一数据可以在第二数据穿过通道之前为原始数据,以及第一数据可以包括多个第一数据组。
掩蔽值可以比数据掩蔽模式边界值小,以及数据掩蔽模式边界值可以为每个第一数据组中包括的多个比特位的高逻辑的数量的边界值,所述边界值用来在产生DM标志的步骤中无论每个第一数据组中包括的所述多个比特位是否出现单个错误都向DM标志输入高逻辑。
掩蔽值可以比数据模式边界值大,以及数据模式边界值可以为每个第一数据组中包括的多个比特位的高逻辑的数量的边界值,所述边界值用来在产生DM标志的步骤中无论每个第一数据组中包括的所述多个比特位是否出现单个错误都向DM标志输入低逻辑。
所述的方法还可以包括:对与高逻辑的DM标志位相对应的第四数据组不执行写入操作;以及对与低逻辑的DM标志位相对应的第四数据组执行写入操作。
掩蔽值可以为6,数据掩蔽模式边界值可以为7,以及数据模式边界值可以为4。
在一个实施例中,一种存储系统包括:ECC单元,其适用于:基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码来产生第二数据错误标志和第二DBI错误标志,以及基于第二数据错误标志和第二DBI错误标志来产生错误校正后的第三数据和错误校正后的第三DBI标志;DBI单元,其适用于:基于第三数据和第三DBI标志,通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及DM单元,其适用于:基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
DM单元可以包括第一DM子单元和第二DM子单元,第二数据可以包括多个第二数据组,以及第一DM子单元可以产生:第一预DM标志,其指示每个第二数据组中包括的多个比特位的高逻辑的数量是否处于掩蔽值的边界处;以及第二预DM标志,其指示每个第二数据组中包括的所述多个比特位的高逻辑的数量是否等于或大于掩蔽值。
第二DM子单元可以基于第一预DM标志、第二预DM标志、第二数据和第二数据错误标志来产生DM标志位。
第二DM子单元可以:在第一预DM标志为高逻辑时基于第二数据和第二数据错误标志而通过确定第二预DM标志是否被校正来产生DM标志位;以及在第一预DM标志为低逻辑时产生具有与第二预DM标志的逻辑相同逻辑的DM标志位。
当第一预DM标志为高逻辑时,如果在构成第二数据组的与第一预DM标志相对应的所述多个比特位中不存在错误,则第二DM子单元可以产生具有与第二预DM标志的逻辑相同的逻辑的DM标志位。
当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为高逻辑,则第二DM子单元可以产生低逻辑的DM标志位。
当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为低逻辑,则第二DM子单元可以产生高逻辑的DM标志位。
当第一预DM标志为高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为高逻辑,则第二DM子单元可以产生低逻辑的DM标志位。
当第一预DM标志为高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为低逻辑,则第二DM子单元可以产生高逻辑的DM标志位。
第四数据可以包括多个第四数据组,与高逻辑的DM标志位相对应的第四数据组可以为不执行写入操作的数据组,以及与低逻辑的DM标志位相对应的第四数据组可以为执行写入操作的数据组。
在一个实施例中,一种操作存储系统的方法包括:基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码来产生第二数据错误标志和第二DBI错误标志,以及基于第二数据错误标志和第二DBI错误标志来产生错误校正后的第三数据和错误校正后的第三DBI标志;基于第三数据和第三DBI标志,通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
产生DM标志的步骤可以包括第一DM子过程和第二DM子过程,第二数据可以包括多个第二数据组,以及第一DM子过程可以包括产生:第一预DM标志,其指示每个第二数据组中包括的多个比特位的高逻辑的数量是否处于掩蔽值的边界处;以及第二预DM标志,其指示每个第二数据组中包括的所述多个比特位的高逻辑的数量是否等于或大于掩蔽值。
第二DM子过程可以包括基于第一预DM标志、第二预DM标志、第二数据和第二数据错误标志来产生DM标志位。
第二DM子过程可以包括:当第一预DM标志为高逻辑时,基于第二数据和第二数据错误标志而通过确定第二预DM标志是否被校正来产生DM标志位;以及当第一预DM标志为低逻辑时,产生具有与第二预DM标志的逻辑相同的逻辑的DM标志位。
当第一预DM标志为高逻辑时,如果在构成第二数据组的与第一预DM标志相对应的所述多个比特位中不存在错误,则第二DM子过程可以包括产生具有与第二预DM标志的逻辑相同的逻辑的DM标志位。
当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为高逻辑,则第二DM子过程可以包括产生低逻辑的DM标志位。
当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为低逻辑,则第二DM子过程可以包括产生高逻辑的DM标志位。
当第一预DM标志为高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中出现错误的比特位为高逻辑,则第二DM子过程可以包括产生低逻辑的DM标志位。
当第一预DM标志位高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中出现错误的比特位为低逻辑,则第二DM子过程可以包括产生高逻辑的DM标志位。
第四数据可以包括多个第四数据组,以及所述方法还可以包括:对与高逻辑的DM标志位相对应的第四数据组不执行写入操作,以及对与低逻辑的DM标志位相对应的第四数据组执行写入操作。
在一个实施例中,一种存储系统包括:子ECC单元,其适用于基于经由通道提供的第二子奇偶校验码而通过校正第二子DBI标志的错误来产生第三DBI标志;子DBI单元,其适用于基于第三子DBI标志而通过确定第二DBI标志和第二奇偶校验码是否被反相来产生第三DBI标志和第三标志;ECC单元,其适用于基于第三奇偶校验码而通过校正第二数据的错误和第三DBI标志的错误来产生第三数据和第四DBI标志;DBI单元,其适用于基于第四DBI标志而通过确定第三数据是否被反相来产生第四数据;以及DM单元,其适用于基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
存储系统可以经由与传输第二奇偶校验码的通道相同的通道来接收第二子DBI标志。
存储系统可以经由与传输第二奇偶校验码的通道相同的通道来接收第二子奇偶校验码。
DBI单元和子DBI单元可以按照DBI DC方案和DBI AC方案之一来操作。
在一个实施例中,一种操作存储系统的方法包括:基于经由通道提供的第二子奇偶校验码而通过校正第二子DBI标志的错误来产生第三DBI标志;基于第三子DBI标志而通过确定第二DBI标志和第二奇偶校验码是否被反相来产生第三DBI标志和第三标志;基于第三奇偶校验码而通过校正第二数据的错误和第三DBI标志的错误来产生第三数据和第四DBI标志;基于第四DBI标志而通过确定第三数据是否被反相来产生第四数据;以及基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
所述的方法还可以包括经由与传输第二奇偶校验码的通道相同的通道来接收第二子DBI标志。
所述的方法还可以包括经由与传输第二奇偶校验码的通道相同的通道来接收第二子奇偶校验码。
产生第三DBI标志和第三奇偶校验码的步骤以及产生第四数据的步骤可以按照DBI DC方案和DBI AC方案之一来执行。
在一个实施例中,一种存储系统包括:ECC单元,其适用于:基于经由通道提供的第二奇偶校验码,产生分别作为与经由通道提供的第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志;DBI单元,其适用于:基于第二DBI标志、第二数据错误标志和第二DBI错误标志来产生反映有对第二数据的错误校正操作和DBI操作二者的结果的第三数据;以及DM单元,其适用于:基于第二数据来产生指示是否对构成第三数据的多个第三数据位执行写入操作的DM标志。
DBI单元可以包括:反相计算器,其适用于经由第二DBI标志、第二数据错误标志和第二DBI错误标志来产生作为与第二数据有关的最终反相信息的第二数据最终反相标志;以及反相单元,其适用于基于第二数据反相标志而通过将第二数据反相来产生第三数据。
第二数据错误标志可以包括多个第二数据错误标志组,第二DBI标志可以包括多个第二DBI标志位,第二DBI错误标志可以包括多个第二DBI错误标志位,以及反相计算器可以通过对第二数据错误标志组中包括的第二数据错误标志位、与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI标志位以及与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI错误标志位执行异或运算来产生第二数据最终反相标志。
第二数据可以包括多个第二数据位,第二数据最终反相标志可以包括多个第二数据最终反相标志位,第三数据可以包括多个第三数据位,以及当第二数据最终反相标志位为高逻辑时,反相单元可以通过将与第二数据最终反相标志位相对应的第二数据位的逻辑反相来产生第三数据位。
当第二数据最终反相标志位为低逻辑时,反相单元可以产生具有与对应于第二数据最终反相标志位的第二数据位的逻辑相同的逻辑的第三数据位。
ECC单元可以包括错误标志发生器,以及错误标志发生器可以根据SECDED方案而基于第二奇偶校验码来产生分别作为与第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志。
在一个实施例中,一种操作存储系统的方法,所述方法包括:基于经由通道提供的第二奇偶校验码,产生分别作为与经由通道提供的第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志;基于第二DBI标志、第二数据错误标志和第二DBI错误标志来产生反映有对第二数据的错误校正操作和DBI操作二者的结果的第三数据;以及基于第二数据来产生指示是否对构成第三数据的多个第三数据位执行写入操作的DM标志。
产生第三数据的步骤可以包括:第一子过程,经由第二DBI标志、第二数据错误标志和第二DBI错误标志来产生作为与第二数据有关的最终反相信息的第二数据最终反相标志;以及第二子过程,基于第二数据反相标志而通过将第二数据反相来产生第三数据。
第二数据错误标志可以包括多个第二数据错误标志组,第二DBI标志可以包括多个第二DBI标志位,第二DBI错误标志可以包括多个第二DBI错误标志位,以及第一子过程可以包括通过对第二数据错误标志组中包括的第二数据错误标志位、与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI标志位以及与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI错误标志位执行异或运算来产生第二数据最终反相标志。
第二数据可以包括多个第二数据位,第二数据最终反相标志可以包括多个第二数据最终反相标志位,第三数据可以包括多个第三数据位,以及当第二数据最终反相标志位为高逻辑时,第二子过程可以包括通过将与第二数据最终反相标志位相对应的第二数据位的逻辑反相来产生第三数据位。
当第二数据最终反相标志位为低逻辑时,第二子过程可以包括产生具有与对应于第二数据最终反相标志位的第二数据位的逻辑相同的逻辑的第三数据位。
产生第二数据错误标志和第二DBI错误标志的步骤可以包括根据SECDED方案而基于第二奇偶校验码来产生分别作为与第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志。
附图说明
图1是传统存储系统的示意图。
图2是根据一个实施例的包括DM单元的存储系统的示意图。
图3是根据另一实施例的包括DM单元的存储系统的示意图。
图4A和图4B是根据一个实施例的包括DM单元的存储系统的示意图。
图5是根据一个实施例的包括DM单元的存储系统的示意图。
具体实施方式
下面将参照附图来更详细地描述各个实施例。然而,本发明可以按照不同的形式来实施,而不应当被解释成局限于本文中所阐述的实施例。相反地,提供这些实施例使得本公开将是彻底且完整的,且这些实施例将把本发明的范围充分传达给本领域技术人员。贯穿本公开,相同的附图标记在本发明的各个附图和实施例中始终指代相同的部分。
在下文中,将参照附图来更详细地描述实施例。
图1图示了包括ECC单元110、DBI单元120和DM单元130的存储系统10。
存储器控制器102可以经由通道105来提供用于控制存储器100的各种信号。例如,各种信号可以包括命令/地址信号CMD/ADD、时钟信号CLK和数据信号DQ。
存储器控制器102经由通道105向存储器100传输数据。存储器100包括ECC单元110、DBI单元120、DM单元130和存储单元阵列150。
存储单元阵列150可以包括诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器。
存储器100可以包括写入驱动器(未示出)。
如下所述,基于掩蔽标志,写入驱动器可以对构成数据的一些数据组执行写入操作而可以对其他数据组不执行写入操作。
存储器控制器102传输第一数据DATA_A<0:127>、作为与第一数据DATA_A<0:127>相关的反相信息的第一DBI标志DBI_A<0:15>以及作为第一数据DATA_A<0:127>和第一DBI标志DBI_A<0:15>的错误校正奇偶校验码的第一奇偶校验码PARITY_A<0:8>。
第一数据DATA_A<0:127>由第0比特位至第127比特位组成,即,总计128比特位。第一数据DATA_A<0:127>的比特位数仅仅是为了方便说明的设定值,且本发明不局限于第一数据DATA_A<0:127>的比特位数。
第一DBI标志DBI_A<0:15>由第0比特位到第15比特位组成,即,总计16比特位。第一DBI标志DBI_A<0:15>的比特位数仅仅是为了方便说明的设定值,且本发明不局限于第一DBI标志DBI_A<0:15>的比特位数。
第一奇偶校验码PARITY_A<0:8>由第0比特位至第8比特位组成,即,总计9比特位。第一奇偶校验码PARITY_A<0:8>的比特位数仅仅是为了方便说明的设定值,且本发明不局限于第一奇偶校验码PARITY_A<0:8>的比特位数。
<表1>
DQ0 | DQ1 | DQ2 | DQ3 | DQ4 | DQ5 | DQ6 | DQ7 | DBI | |
BL0 | 0 | 16 | 32 | 48 | 64 | 80 | 96 | 112 | 0 |
BL1 | 1 | 17 | 33 | 49 | 65 | 81 | 97 | 113 | 1 |
BL2 | 2 | 18 | 34 | 50 | 66 | 82 | 98 | 114 | 2 |
BL3 | 3 | 19 | 35 | 51 | 67 | 83 | 99 | 115 | 3 |
BL4 | 4 | 20 | 36 | 52 | 68 | 84 | 100 | 116 | 4 |
BL5 | 5 | 21 | 37 | 53 | 69 | 85 | 101 | 117 | 5 |
BL6 | 6 | 22 | 38 | 54 | 70 | 86 | 102 | 118 | 6 |
BL7 | 7 | 23 | 39 | 55 | 71 | 87 | 103 | 119 | 7 |
BL8 | 8 | 24 | 40 | 56 | 72 | 88 | 104 | 120 | 8 |
BL9 | 9 | 25 | 41 | 57 | 73 | 89 | 105 | 121 | 9 |
BL10 | 10 | 26 | 42 | 58 | 74 | 90 | 106 | 122 | 10 |
BL11 | 11 | 27 | 43 | 59 | 75 | 91 | 107 | 123 | 11 |
BL12 | 12 | 28 | 44 | 60 | 76 | 92 | 108 | 124 | 12 |
BL13 | 13 | 29 | 45 | 61 | 77 | 93 | 109 | 125 | 13 |
BL14 | 14 | 30 | 46 | 62 | 78 | 94 | 110 | 126 | 14 |
BL15 | 15 | 31 | 47 | 63 | 79 | 95 | 111 | 127 | 15 |
表一示出了构成第一数据DATA_A<0:127>的128比特位配置有16组BL0至BL15。第一数据DATA_A<0:127>中的第0比特位至第15比特位(即,总计16比特位)对应于DQ0。类似地,第一数据DATA_A<0:127>中的第112比特位至第127比特位(即,总计16比特位)对应于DQ7。应当注意的是,如图1中所示地划分数据组的方法是为了说明方便而任意设定的。
第一DBI标志DBI_A<0:15>的总计16比特位分别对应于第一数据DATA_A<0:127>的16个组BL0至BL15。作为第一DBI标志DBI_A<0:15>的第0比特位的DBI_A0表示有关于与第一数据DATA_A<0:127>的BL0组(即,DATA_A0、DATA_A16、DATA_A32、DATA_A48、DATA_A64、DATA_A80、DATA_A96和DATA_A112)相对应的比特位的反相信息。类似地,作为第一DBI标志DBI_A<0:15>的第15比特位的DBI_A15表示有关于与第一数据DATA_A<0:127>的BL15组(即,DATA_A15、DATA_A31、DATA_A47、DATA_A63、DATA_A79、DATA_A95、DATA_A111和DATA_A127)相对应的比特位的反相信息。
第一DBI标志DBI_A<0:15>的每个比特位根据与第一数据DATA_A<0:127>的对应于第一DBI标志DBI_A<0:15>的每个比特位的每个组相对应的比特位的逻辑数来确定。例如,当与第一数据DATA_A<0:127>的BL0组(即,DATA_A0、DATA_A16、DATA_A32、DATA_A48、DATA_A64、DATA_A80、DATA_A96和DATA_A112)相对应的比特位之中的高逻辑的比特位为五或更多时,DBI_A0具有高逻辑,这意味着已经对与第一数据DATA_A<0:127>的BL0组相对应的比特位执行了反相操作。与此相反,当与第一数据DATA_A<0:127>的BL0组(即,DATA_A0、DATA_A16、DATA_A32、DATA_A48、DATA_A64、DATA_A80、DATA_A96和DATA_A112)相对应的比特位之中的高逻辑的比特位少于五时,DBI_A0具有低逻辑,这意味着没有对与第一数据DATA_A<0:127>的BL0组相对应的比特位执行反相操作。
穿过通道的第一数据DATA_A<0:127>、第一DBI标志DBI_A<0:15>和第一奇偶校验码PARITY_A<0:8>由存储器100分别以第二数据DATA_B<0:127>、第二DBI标志DBI_B<0:15>和第二奇偶校验码PARITY_B<0:8>的形式来接收。
ECC单元110接收第二数据DATA_B<0:127>、第二DBI标志DBI_B<0:15>和第二奇偶校验码PARITY_B<0:8>,并且经由第二奇偶校验码PARITY_B<0:8>来校正第二数据DATA_B<0:127>和第二DBI标志DBI_B<0:15>。ECC单元110校正第二数据DATA_B<0:127>和第二DBI标志DBI_B<0:15>的方法可以是按照汉明码定义的方案。ECC单元110校正错误的方法可以包括其他各种错误校正方案。
ECC单元110校正第二数据DATA_B<0:127>和第二DBI标志DBI_B<0:15>,并输出第三数据DATA_C<0:127>和第三DBI标志DBI_C<0:15>。
具体地,ECC单元110包括错误标志发生器111和错误校正器113。
错误标志发生器111基于第二奇偶校验码PARITY_B<0:8>来产生指示第二数据DATA_B<0:127>和第二DBI标志DBI_B<0:15>的错误信息的第二数据错误标志EF_DATA_B<0:127>和第二DBI错误标志EF_DBI_B<0:15>。错误标志发生器111产生第二数据错误标志EF_DATA_B<0:127>和第二DBI错误标志EF_DBI_B<0:15>的方法可以根据汉明码规则来代表性地执行,或者可以按照各种ECC方案来执行。
基于第二数据DATA_B<0:127>、第二DBI标志DBI_B<0:15>、第二数据错误标志EF_DATA_B<0:127>和第二DBI错误标志EF_DBI_B<0:15>,错误校正器113通过校正第二数据DATA_B<0:127>和第二DBI标志DBI_B<0:15>来产生第三数据DATA_C<0:127>和第三DBI标志DBI_C<0:15>。
如参照表1所述,第三DBI标志DBI_C<0:15>的总计16比特位分别对应于第三数据DATA_C<0:127>的16个组BL0至BL15。作为第三DBI标志DBI_C<0:15>的第0比特位的DBI_C0表示有关于与第三数据DATA_C<0:127>的BL0组(即,DATA_C0、DATA_C16、DATA_C32、DATA_C48、DATA_C64、DATA_C80、DATA_C96和DATA_C112)相对应的比特位的反相信息。类似地,作为第三DBI标志DBI_C<0:15>的第15比特位的DBI_C15表示有关于与第三数据DATA_C<0:127>的BL15组(即,DATA_C15、DATA_C31、DATA_C47、DATA_C63、DATA_C79、DATA_C95、DATA_C111和DATA_C127)相对应的比特位的反相信息。
DBI单元120通过确定第三数据DATA_C<0:127>的与构成第三DBI标志DBI_C<0:15>的多个DBI标志位相对应的各个组BL0至BL15的反相或非反相来产生第四数据DATA_D<0:127>。例如,当作为第三DBI标志DBI_C<0:15>的第0比特位的DBI_C0具有高逻辑时,DBI单元120输出通过将与DATA_C_BL0相对应的比特位反相而获得的DATA_D_BL0。此外,当作为第三DBI标志DBI_C<0:15>的第0比特位的DBI_C0具有低逻辑时,DBI单元120输出通过不将与DATA_C_BL0相对应的比特位反相而获得的DATA_D_BL0。
DM单元130通过确定第三数据DATA_C<0:127>的各个组BL0至BL15的掩蔽或非掩蔽来产生DM标志DM_D<0:15>。
<表2>
DQ0 | DQ1 | DQ2 | DQ3 | DQ4 | DQ5 | DQ6 | DQ7 | DM_D | |
BL0 | 0 | 16 | 32 | 48 | 64 | 80 | 96 | 112 | 0 |
BL1 | 1 | 17 | 33 | 49 | 65 | 81 | 97 | 113 | 1 |
BL2 | 2 | 18 | 34 | 50 | 66 | 82 | 98 | 114 | 2 |
BL3 | 3 | 19 | 35 | 51 | 67 | 83 | 99 | 115 | 3 |
BL4 | 4 | 20 | 36 | 52 | 68 | 84 | 100 | 116 | 4 |
BL5 | 5 | 21 | 37 | 53 | 69 | 85 | 101 | 117 | 5 |
BL6 | 6 | 22 | 38 | 54 | 70 | 86 | 102 | 118 | 6 |
BL7 | 7 | 23 | 39 | 55 | 71 | 87 | 103 | 119 | 7 |
BL8 | 8 | 24 | 40 | 56 | 72 | 88 | 104 | 120 | 8 |
BL9 | 9 | 25 | 41 | 57 | 73 | 89 | 105 | 121 | 9 |
BL10 | 10 | 26 | 42 | 58 | 74 | 90 | 106 | 122 | 10 |
BL11 | 11 | 27 | 43 | 59 | 75 | 91 | 107 | 123 | 11 |
BL12 | 12 | 28 | 44 | 60 | 76 | 92 | 108 | 124 | 12 |
BL13 | 13 | 29 | 45 | 61 | 77 | 93 | 109 | 125 | 13 |
BL14 | 14 | 30 | 46 | 62 | 78 | 94 | 110 | 126 | 14 |
BL15 | 15 | 31 | 47 | 63 | 79 | 95 | 111 | 127 | 15 |
表2示出了用于产生第四数据DATA_D<0:127>的第三数据DATA_C<0:127>和DM标志DM_D<0:15>之间的关系,以及与DM标志DM_D<0:15>相对应的第四数据DATA_D<0:127>和DM标志DM_D<0:15>之间的关系。
DM单元130基于第三数据DATA_C<0:127>产生DM标志,DM标志指示是否对构成第四数据的多个数据位执行写入操作。
写入驱动器(未示出)可以基于DM标志来关于第四数据位对存储单元阵列150执行写入操作。
产生分别与第三数据DATA_C<0:127>的16组BL0至BL15相对应的DM标志DM_D<0:15>的总计16比特位。作为DM标志DM_D<0:15>的第0比特位的DM_D0从与第三数据DATA_C<0:127>的BL0组(即,DATA_C0、DATA_C16、DATA_C32、DATA_C48、DATA_C64、DATA_C80、DATA_C96和DATA_C112)相对应的比特位来产生。类似地,作为DM标志DM_D<0:15>的第15比特位的DM_D15从与第三数据DATA_C<0:127>的BL15组(即,DATA_C15、DATA_C31、DATA_C47、DATA_C63、DATA_C79、DATA_C95、DATA_C111和DATA_C127)相对应的比特位来产生。
DM标志DM_D<0:15>的总计16比特位分别与第四数据DATA_D<0:127>的16组BL0至BL15相对应。作为DM标志DM_D<0:15>的第0比特位的DM_D0表示有关于与第四数据DATA_D<0:127>的BL0组(即,DATA_D0、DATA_D16、DATA_D32、DATA_D48、DATA_D64、DATA_D80、DATA_D96和DATA_D112)相对应的比特位的掩蔽信息。类似地,作为DM标志DM_D<0:15>的第15比特位的DM_D15表示有关于与第四数据DATA_D<0:127>的BL15组(即,DATA_D15、DATA_D31、DATA_D47、DATA_D63、DATA_D79、DATA_D95、DATA_D111和DATA_D127)相对应的比特位的掩蔽信息。
<表3>
DATA_C_BL#<2:7>中1的数量 | 0到4 | 5或6 |
DM标志(DM_D<0:15>)的每个比特位的逻辑 | 0 | 1 |
表3示出了传统DM单元130的操作中DM单元130产生DM标志DM_D<0:15>的规则。
DM单元130根据DATA_C_BL#<2:7>中的1的数量来确定DM标志DM_D<0:15>的每个比特位的逻辑,DATA_C_BL#<2:7>是与第三数据DATA_C<0:127>的每个BL组的DQ2至DQ7相对应的第三数据DATA_C<0:127>比特位。
当DATA_C_BL#<2:7>的1的数量是0到4时,DM单元130向DM标志DM_D<0:15>的对应比特位输入低逻辑。
当DATA_C_BL#<2:7>的1的数量是5或6时,DM单元130向DM标志DM_D<0:15>的对应比特位输入高逻辑。
<表4>
表4参考表2和表3示出了第三数据DATA_C<0:127>的与DATA_C_BL0<2:7>相对应的比特位和第0DM标志DM_D0。当传统DM单元130遵从用于产生DM标志DM_D<0:15>的规则时,第0DM标志DM_D0可以根据与BL0相对应的DATA_C_BL0<0:7>中的与DATA_C_BL0<2:7>(除了第0比特位和第1比特位之外)相对应的比特位的逻辑来确定。
根据表4中所呈现的示例,DATA_C32、DATA_C48、DATA_C64、DATA_C80、DATA_C96和DATA_C112(它们是与DATA_C_BL0<2:7>相对应的比特位)之中的具有高逻辑的比特位总计有五比特位DATA_C32、DATA_C48、DATA_C64、DATA_C80和DATA_C96。因此,第0DM标志DM_D0具有高逻辑。
<表5>
表5参考表2和表3示出了第三数据DATA_C<0:127>的与DATA_C_BL0<2:7>相对应的比特位和第0DM标志DM_D0。当传统DM单元130遵从用于产生DM标志DM_D<0:15>的规则时,第0DM标志DM_D0可以根据与BL0相对应的DATA_C_BL0<0:7>中的与DATA_C_BL0<2:7>(除了第0比特位和第1比特位之外)相对应的比特位的逻辑来确定。
根据表5中所呈现的示例,DATA_C32、DATA_C48、DATA_C64、DATA_C80、DATA_C96和DATA_C112(它们是与DATA_C_BL0<2:7>相对应的比特位)之中的具有高逻辑的比特位总计有四比特位DATA_C32、DATA_C48、DATA_C64和DATA_C80。因此,第0DM标志DM_D0具有低逻辑。
<表6>
表6示出了通过与第二数据DATA_B<0:127>(其是错误被校正之前的数据)的每个BL相对应的DATA_B_BL#<2:7>计算的DM标志位的逻辑与通过与第三数据DATA_C<0:127>(其是错误被校正之后的数据)的每个BL相对应的DATA_C_BL#<2:7>计算的DM标志位的逻辑之间的比较。
当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为0至3时,通过DATA_B_BL#<2:7>计算的DM标志位的逻辑具有低逻辑。此时,即使当在与DATA_B_BL#<2:7>相对应的比特位中出现单个错误时,用于DM单元130产生DM标志DM_D<0:15>的高逻辑的数量为5,从而通过DATA_C_BL#<2:7>计算的DM标志位的逻辑基本上也具有低逻辑。具体地,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为3时,即使在与DATA_B_BL#<2:7>相对应的比特位之中的具有低逻辑的比特位中出现单个错误从而与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量变成4,高逻辑的数量仍然小于5。因此,DM标志位的逻辑具有低逻辑。
当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为4时,通过DATA_B_BL#<2:7>计算的DM标志位的逻辑具有低逻辑。此时,当在与DATA_B_BL#<2:7>相对应的比特位中出现单个错误时,通过DATA_C_BL#<2:7>计算的DM标志位的逻辑可以具有高逻辑或低逻辑。具体地,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为4时,如果与DATA_B_BL#<2:7>相对应的比特位之中的出现单个错误的比特位的逻辑为高逻辑,则与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为3。因此,DM标志位的逻辑仍然具有低逻辑。另一方面,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为4时,如果与DATA_B_BL#<2:7>相对应的比特位之中的出现单个错误的比特位的逻辑为低逻辑,则与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为5。因此,DM标志位的逻辑具有高逻辑。即,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为4时,DM标志位的逻辑可以根据DATA_B_BL#<2:7>的单个错误的存在或不存在以及其校正结果来改变。
当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为5时,通过DATA_B_BL#<2:7>计算的DM标志位的逻辑具有高逻辑。此时,当在与DATA_B_BL#<2:7>相对应的比特位中出现单个错误时,通过DATA_C_BL#<2:7>计算的DM标志位的逻辑可以具有高逻辑或低逻辑。具体地,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为5时,如果与DATA_B_BL#<2:7>相对应比特位之中的出现单个错误的比特位的逻辑为高逻辑,则与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为4。因此,DM标志位的逻辑变成低逻辑。另一方面,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为5时,如果与DATA_B_BL#<2:7>相对应的比特位之中的出现单个错误的比特位的逻辑为低逻辑,则与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为6。因此,DM标志位的逻辑仍然具有高逻辑。即,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为5时,DM标志位的逻辑可以根据DATA_B_BL#<2:7>的单个错误的存在或不存在以及其校正结果来改变。
当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为6时,通过DATA_B_BL#<2:7>计算的DM标志位的逻辑具有高逻辑。此时,即使当在与DATA_B_BL#<2:7>相对应的比特位中出现单个错误时,用于DM单元130产生DM标志DM_D<0:15>的高逻辑的数量为5,从而通过DATA_C_BL#<2:7>计算的DM标志位的逻辑基本上也具有高逻辑。具体地,当与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量为6时,即使在与DATA_B_BL#<2:7>相对应的比特位之中的具有高逻辑的比特位中出现单个错误从而与DATA_B_BL#<2:7>相对应的比特位的高逻辑的数量变成5,高逻辑的数量也为5或更多。因此,DM标志位的逻辑具有高逻辑。
如参照图1和表1至表6所述,根据传统DM单元130的操作方法,用于确定DM标志DM_D<0:15>的DM规则对应于数据位的高逻辑的数量是否为5或更多。根据这样的DM规则,存在这样的可能性:DM标志DM_D<0:15>的逻辑将会根据数据位中是否出现单个错误而改变。因此,为了去除DM标志DM_D<0:15>的逻辑会被改变的可能性,在ECC单元110校正第二数据DATA_B<0:127>以产生第三数据DATA_C<0:127>之后,DM单元130必须经由第三数据DATA_C<0:127>来产生DM标志DM_D<0:15>。
即,存在这样的限制:传统DM单元130不能与ECC单元130平行操作,且DM单元130必须在ECC单元130操作之后操作。由于这样的限制,存在的问题是:存储器100中存在的ECC单元110、DBI单元120、DM单元130的整个操作时间增加。
图2图示了包括ECC单元110、DBI单元120和DM单元230的存储系统10。
存储器控制器102可以经由通道105向存储器100传输数据。存储器100可以包括ECC单元110、DBI单元120和DM单元230。
存储器控制器102可以传输第一数据DATA_A<0:127>、第一DBI标志DBI_A<0:15>(其是与第一数据DATA_A<0:127>有关的反相信息)和第一奇偶校验码PARITY_A<0:8>(其是第一数据DATA_A<0:127>和第一DBI标志DBI_A<0:15>的错误校正奇偶校验码)。
第一数据DATA_A<0:127>可以由第0比特位至第127比特位组成,即,总计128比特位。第一数据DATA_A<0:127>的比特位数仅仅是为了方便说明的设定值,且本发明不局限于第一数据DATA_A<0:127>的比特位数。
第一DBI标志DBI_A<0:15>可以由第0比特位至第15比特位组成,即,总计16比特位。第一DBI标志DBI_A<0:15>的比特位数仅仅是为了方便说明的设定值,且本发明不局限于第一DBI标志DBI_A<0:15>的比特位数。
第一奇偶校验码PARITY_A<0:8>可以由第0比特位至第8比特位组成,即,总计9比特位。第一奇偶校验码PARITY_A<0:8>的比特位数仅仅是为了方便说明的设定值,且本发明不局限于第一奇偶校验码PARITY_A<0:8>的比特位数。
ECC单元110和DBI单元120可以以与上述原理相同的方式操作。
根据当前实施例的DM单元230可以经由新的DM规则来独立于ECC单元110而操作。
<表7>
提供表7用于描述根据一个实施例的DM单元230的DM规则。
在传输第一数据DATA_A<0:127>的过程中,存储器控制器102可以根据DM规则来传输与第一数据DATA_A<0:127>的BL组相对应的数据位DATA_A_BL#<0:7>。
作为这里所描述的对DATA_A_BL#<0:127>的特定描述,第一数据组0DATA_A_BL0<0:7>可以对应于与第一数据DATA_A<0:127>中的BL0相对应的第一数据DATA_A<0:127>比特位。类似地,第一数据组15DATA_A_BL15<0:7>可以对应于与第一数据DATA_A<0:127>中的BL15相对应的第一数据DATA_A<0:127>比特位。
这里呈现的DM规则可以为能够产生DM标志DM_D<0:15>的规则,而不管输入到DM单元230的第二数据DATA_B<0:127>的错误是否被校正。应当注意的是,经由这里呈现的数量而特别描述的DM规则仅仅是为了方便说明而任意设定的值,且本发明不局限于这里所呈现的数量。
根据一个实施例,DM单元230可以通过在第二数据组DATA_B_BL#<0:7>的高逻辑的数量等于或大于掩蔽值(6)时向与第二数据组DATA_B_BL#<0:7>相对应的DM标志位DM_D#输入高逻辑以及在第二数据组DATA_B_BL#<0:7>的高逻辑的数量小于掩蔽值(6)时向与第二数据组DATA_B_BL#<0:7>相对应的DM标志位DM_D#输入低逻辑,来产生DM标志DM_D<0:15>。
例如,DM单元230可以在第二数据组0DATA_B_BL0<0:7>的高逻辑的数量等于或大于掩蔽值(6)时向第0DM标志位DM_D0输入高逻辑。此外,DM单元230可以在第二数据组0DATA_B_BL0<0:7>的高逻辑的数量小于掩蔽值(6)时向第0DM标志位DM_D0输入低逻辑。
根据一个实施例,数据掩蔽模式边界值可以被确定为7,数据掩蔽模式边界值为第一数据组DATA_A_BL#<0:7>中包括的第一数据位的高逻辑的数量,该数量使得存储器控制器102出于数据掩蔽的目的产生DM标志。
根据一个实施例,数据模式边界值可以被确定为4,数据模式边界值为第一数据组DATA_A_BL#<0:7>中包括的第一数据位的高逻辑的数量,该数量使得存储器控制器102传输数据。
即,根据当前实施例,掩蔽值(6)可以为比数据掩蔽模式边界值(7)小而比数据模式边界值(4)大的值。
当存储器控制器102传输数据时,存储器控制器102可以传输高逻辑值的数量等于或小于数据模式边界值(4)的第一数据组DATA_A_BL#<0:7>。
当存储器控制器102传输高逻辑的数量为4的第一数据组DATA_A_BL#<0:7>以传输数据时,输入到DM单元230的第二数据组DATA_B_BL#<0:7>中的高逻辑的数量可以根据单个错误的出现而为3至5。具体地,当在第一数据组DATA_A_BL#<0:7>中的具有高逻辑的比特位中出现错误时,第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量可以为3。此外,当在第一数据组DATA_A_BL#<0:7>中的具有低逻辑的比特位中出现错误时,第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量可以为5。当在第一数据组DATA_A_BL#<0:7>中的具有低逻辑的比特位中未出现错误时,第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量可以为4。
即使当在第一数据组DATA_A_BL#<0:7>中的具有低逻辑的比特位中出现错误从而第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量为5时,5仍然为比掩蔽值(6)小的值。因此,DM单元230可以向对应的DM标志位DM_D#输入低逻辑。
当存储器控制器102意图执行数据掩蔽操作时,存储器控制器102可以传输高逻辑的数量等于或大于数据掩蔽模式边界值(7)的第一数据组DATA_A_BL#<0:7>。
当存储器控制器102传输高逻辑的数量为7的第一数据组DATA_A_BL#<0:7>以执行数据掩蔽操作时,输入给DM单元230的第二数据组DATA_B_BL#<0:7>中的高逻辑的数量可以根据单个错误的出现而为6至8。具体地,当在第一数据组DATA_A_BL#<0:7>中的具有高逻辑的比特位中出现错误时,第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量可以为6。此外,当在第一数据组DATA_A_BL#<0:7>中的具有低逻辑的比特位中出现错误时,第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量可以为8。当在第一数据组DATA_A_BL#<0:7>中未出现错误时,第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量可以为7。
即使当在第一数据组DATA_A_BL#<0:7>中的具有高逻辑的比特位中出现错误从而第二数据组DATA_B_BL#<0:7>中的具有高逻辑的比特位的数量为6时,6仍然是等于或大于掩蔽值(6)的值。因此,DM单元230可以向对应的DM标志位DM_D#输入高逻辑。
存储单元阵列150可以不对与高逻辑的DM标志位DM_D#相对应的第四数据组DATA_D_BL#<0:7>执行写入操作。存储单元阵列150可以对与低逻辑的DM标志位DM_D#相对应的第四数据组DATA_D_BL#<0:7>执行写入操作。
即,根据包括根据当前实施例的DM单元230的存储系统的操作,由于无论第二数据组DATA_B_BL#<0:7>中是否出现单个错误DM单元230都能够操作,因此DM单元230能够独立于ECC单元110来操作。
具体地,DM单元230可以经由可能具有错误的第二数据组DATA_B_BL#<0:7>而非是错误校正后的数据的第三数据组DATA_C_BL#<0:7>来操作。即,DM单元230能够独立于ECC单元110来操作。结果,存储系统的整个操作速度可以得到提高。
图3图示了包括ECC单元110、DBI单元120和DM单元330的存储系统10。
DM单元330可以包括第一DM子单元(第一DM单元)331和第二DM子单元(第二DM单元)333。
第一DM子单元331可以基于第二数据DATA_B<0:127>来产生第一预DM标志1stPre_DM<0:15>和第二预DM标志2ndPre_DM<0:15>。
基于第一预DM标志1stPre_DM<0:15>、第二数据DATA_B<0:127>和第二数据错误标志EF_DATA_B<0:127>,第二DM子单元333可以通过校正第二预DM标志2ndPre_DM<0:15>来产生DM标志DM_D<0:15>。
第一预DM标志1stPre_DM<0:15>可以指示第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量是否与掩蔽值的边界相对应。
第二预DM标志2ndPre_DM<0:15>可以指示第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量是否等于或大于掩蔽值。
为了方便,已经描述了第二数据组DATA_B_BL#<2:7>中包括的多个比特位的数量为6(第2比特位到第7比特位)的情况,但是本发明不局限于第二数据组DATA_B_BL#<2:7>中包括的多个比特位的数量。此外,为了方便,已经描述了掩蔽值为5的情况,但是本发明不局限于掩蔽值“5”。
<表8>
表8示出了根据第一预DM比特位1stPRE_DM#的逻辑和第二预DM比特位2ndPRE_DM#的逻辑而产生的DM标志位DM_D#,第一预DM比特位1stPRE_DM#的逻辑和第二预DM比特位2ndPRE_DM#的逻辑根据第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量和第二数据组DATA_B_BL#<2:7>中包括的多个比特位中出现错误的比特位的逻辑来产生。
当第二数据组DATA_B_BL#<2:7>中包括的比特位的高逻辑的数量为4或5时,第一DM子单元331可以向第一预DM比特位1stPRE_DM#输入高逻辑。
当第二数据组DATA_B_BL#<2:7>中包括的比特位的高逻辑的数量为0至3或6时,第一DM子单元331可以向第一预DM比特位1stPRE_DM#输入低逻辑。
当第二数据组DATA_B_BL#<2:7>中包括的比特位的高逻辑的数量为4或更少时,第一DM子单元331可以向第二预DM比特位2ndPRE_DM#输入低逻辑。
当第二数据组DATA_B_BL#<2:7>中包括的比特位的高逻辑的数量为5或更多时,第一DM子单元331可以向第二预DM比特位2ndPRE_DM#输入高逻辑。
当第一预DM比特位1stPRE_DM#为高逻辑时,第二DM子单元333可以通过执行确定第二预DM比特位2ndPRE_DM#是否被校正的操作来产生DM标志位DM_D#。基于第二数据DATA_B<0:127>和第二数据错误标志EF_DATA_B<0:127>,第二DM子单元333可以检查第二数据组DATA_B_BL#<2:7>中包括的比特位中是否已经出现错误。
具体地,在第一预DM比特位1stPRE_DM#为高逻辑而第二预DM比特位2ndPRE_DM#为低逻辑的情况下,第二DM子单元333可以在第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为高逻辑时产生低逻辑的DM标志位DM_D#。当在第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为高逻辑时,出现错误的比特位本来是低逻辑,从而可以知道存储器控制器102意指的第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量为3。因此,第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量(4)比掩蔽值(5)小,且第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量(3)也比掩蔽值(5)小,DM标志位DM_D#的逻辑具有与第二预DM比特位2ndPRE_DM#相同的低逻辑。
此外,在第一预DM比特位1stPRE_DM#为高逻辑而第二预DM比特位2ndPRE_DM#为低逻辑的情况下,第二DM子单元333可以在第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为低逻辑时产生高逻辑的DM标志位DM_D#。当第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为低逻辑时,出现错误的比特位本来是高逻辑,从而可以知道存储器控制器102意指的第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量为5。因此,第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量(4)比掩蔽值(5)小,且第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量(5)等于或大于掩蔽值(5),DM标志位DM_D#的逻辑具有与第二预DM比特位2ndPRE_DM#不同的高逻辑。
此外,在第一预DM比特位1stPRE_DM#为高逻辑且第二预DM比特位2ndPRE_DM#为高逻辑的情况下,第二DM子单元333可以在第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为高逻辑时产生低逻辑的DM标志位DM_D#。当第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为高逻辑时,出现错误的比特位本来是低逻辑,从而可以知道存储器控制器102意指的第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量为4。因此,第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量(5)等于或大于掩蔽值(5),且第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量(4)小于掩蔽值(5),DM标志位DM_D#的逻辑具有与第二预DM比特位2ndPRE_DM#不同的低逻辑。
此外,在第一预DM比特位1stPRE_DM#为高逻辑且第二预DM比特位2ndPRE_DM#为高逻辑的情况下,第二DM子单元333可以在第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为低逻辑时产生高逻辑的DM标志位DM_D#。当第二数据组DATA_B_BL#<2:7>中包括的多个比特位之中的出现错误的比特位为低逻辑时,出现错误的比特位本来是高逻辑,从而可以知道存储器控制器102意指的第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量为6。因此,第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量(5)等于或大于掩蔽值(5),且第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量(6)等于或大于掩蔽值(5),DM标志位DM_D#的逻辑具有与第二预DM比特位2ndPRE_DM#的逻辑相同的高逻辑。
即使当第一预DM(5)位1stPRE_DM#为高逻辑时,如果在与第一预DM(5)位1stPRE_DM#相对应的第二数据组DATA_B_BL#<2:7>中包括的多个(5)位中不存在错误,则第二DM子单元333可以产生具有与第二预DM(5)位2ndPRE_DM#的逻辑相同的逻辑的DM标志位DM_D#。
当第一预DM比特位1stPRE_DM#为低逻辑时,第二DM子单元333可以产生具有与第二预DM比特位2ndPRE_DM#的逻辑相同的逻辑的DM标志位DM_D#。
当第一预DM比特位1stPRE_DM#为低逻辑时,第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量为0至3或6。
在第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量为5的情况下,即使当在单个错误的假设下第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量为4时,第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量(4)仍然小于掩蔽值(5)。因此,DM标志位DM_D#的逻辑可以与第二预DM比特位2ndPRE_DM#的逻辑相同。
在第二数据组DATA_B_BL#<2:7>中包括的多个比特位的高逻辑的数量为6的情况下,即使当在单个错误的假设下第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量为5,第一数据组DATA_A_BL#<2:7>中包括的多个比特位的高逻辑的数量(5)仍然等于或大于掩蔽值(5)。因此,DM标志位DM_D#的逻辑可以与第二预DM比特位2ndPRE_DM#的逻辑的相同。
因此,根据当前实施例,当DM单元330产生DM标志DM_D<0:15>时,第一DM子单元331独立于ECC单元操作。因此,存在降低产生DM标志DM_D<0:15>所必须的潜伏时间的效果。
图4A和图4B图示了在根据一个实施例的存储系统中反复执行DBI操作的存储系统。
图4A图示了存储系统10与存储器控制器102之间的响应于来自存储器控制器102的读取请求的数据传输过程。
根据一个实施例的存储器100可以包括DBI单元420、ECC单元410、子DBI单元425、子ECC单元415和DM单元230。
DM单元230的操作与参照图2和图3而描述的DM单元的操作原理相同。
已经描述了子DBI单元425和子ECC单元415被配置成与DBI单元420和ECC单元410分离的单元,但是这仅为为了方便说明的一个实施例。DBI单元420和子DBI单元425可以被配置成一个DBI单元,而ECC单元410和子ECC单元415也可以被配置成一个ECC单元。
<表9>
表9示出了储存在存储单元阵列中的第一数据DATA_F<0:127>。如参照表1所述,第一数据DATA_F<0:127>可以由第0比特位至第127比特位组成,即,总计128比特位。第一数据DATA_F<0:127>可以划分成BL0至BL15,即,总计16组。
除了表1的内容之外,表9还示出了第一数据DATA_F<0:127>的每个比特位的逻辑。在表9中,[1]可以意味着每个比特位的高逻辑。
DBI单元420可以确定构成第一数据DATA_F<0:127>的16个第一数据组DATA_F_BL#是否被反相,并且产生第二数据DATA_G_<0:127>和作为与第二数据DATA_G<0:127>有关的反相信息的第二DBI标志DBI_G<0:15>。
<表10>
表10示出了当DBI单元420对与表9相对应的第一数据DATA_F<0:127>应用反相操作时获得的结果。表10中的[0]可以意味着低逻辑。DBI单元420可以产生第二数据DATA_G<0:127>(其被应用DBI)和作为与第二数据DATA_G<0:127>有关的反相信息的第二DBI标志DBI_G<0:15>。
根据表9和表10中呈现的示例,DBI单元420可以确定针对每个第一数据组DATA_F_BL#的高逻辑的数量是否等于或大于大多数(5)。与第一数据组0DATA_F_BL0相对应的DATA_F0、DATA_F16、DATA_F32、DATA_F48、DATA_F64、DATA_F80、DATA_F96和DATA_F112中的高逻辑的比特位的数量为5或更多。因此,与第一数据组0DATA_F_BL0相对应的比特位的逻辑可以被反相。在已经对第一数据组0DATA_F_BL0执行了反相操作的情况下,高逻辑可以输入给DBI_G0。类似地,可以执行DBI操作直到第一数据组15DATA_F_BL15。
<表11>
表11示出了当ECC单元410对第二数据DATA_G<0:127>和第二DBI标志DBI_G<0:15>执行ECC操作时获得的结果。
ECC单元410可以关于第二数据DATA_G<0:127>和第二DBI标志DBI_G<0:15>而根据汉明码中定义的方案来产生第二奇偶校验码PARITY_G<0:8>。
在第二数据DATA_G<0:127>和第二DBI标志DBI_G<0:15>经由通道105传输给存储器控制器102时出现的错误可以经由第二奇偶校验码PARITY_G<0:8>来校正。
参见表11中呈现的示例,第二DBI标志DBI_G<0:15>和第二奇偶校验码PARITY_G<0:8>具有的高逻辑的数量为25。
这样,随着传输的数据位的数量增加,与数据相对应的DBI标志和奇偶校验码的数量也增加。因此,当DBI标志和奇偶校验码的比特位具有大量高逻辑时,需要大量功耗。
因此,实施例提供了反复执行DBI操作以减少DBI标志和奇偶校验码的比特位具有的高逻辑的数量的方法。
<表12>
表12示出了当子DBI单元425确定第二DBI标志DBI_G<0:127>和第二奇偶校验码PARITY<0:8>是否被反相时获得的结果。
子DBI单元425可以确定第二DBI标志DBI_G<0:127>和第二奇偶校验码PARITY<0:8>是否被反相,并且产生第三DBI标志DBI_H<0:15>和第三奇偶校验码PARITY<0:8>。此外,子DBI单元425可以产生作为与第三DBI标志DBI_H<0:15>和第三奇偶校验码PARITY_H<0:8>有关的反相信息的第三子DBI标志DBI_SUB_H<0:1>。
第三子DBI标志DBI_SUB_H<0:1>可以经由传输第三奇偶校验码PARITY_H<0:8>的PARITY通道来传输。如表12中所示,具有高逻辑的第三子DBI标志DBI_SUB_H<0:1>的每个比特位可以经由PARITY通道的PARITY_9和PARITY_10来传输。第三子DBI标志DBI_SUB_H<0:1>可以经由除PARITY通道之外的通道来传输,且本发明不局限于所使用的通道的类型。
以资参考,DBI单元420和子DBI单元425可以按照DBI DC、DBI AC或其他相似的DBI编码方案来操作。DBI DC致力于降低上述实施例中的每个数据组的高逻辑。DBI AC致力于降低每个数据组的高逻辑与低逻辑之间的变化。
<表13>
表13示出了子ECC单元415产生作为第三子DBI标志DBI_SUB_H<0:1>的错误校正奇偶校验码的第三子奇偶校验码PARITY_SUB_H<0:2>。
子ECC单元415可以关于第三子DBI标志DBI_SUB_H<0:1>而根据汉明码中定义的方案来产生第三子奇偶校验码PARITY_SUB_H<0:2>。
根据表13中所呈现的示例,构成第三子奇偶校验码PARITY_SUB_H<0:2>的每个比特位的逻辑可以为低逻辑、高逻辑和高逻辑的次序。即,第三子奇偶校验码0 PARITY_SUB_H0可以具有低逻辑、第三子奇偶校验码1PARITY_SUB_H1可以具有高逻辑以及第三子奇偶校验码PARITY_SUB_H2可以具有高逻辑。
第三子奇偶校验码PARITY_SUB_H<0:2>可以经由传输第三奇偶校验码PARITY_H<0:8>的PARITY通道来传输。如表12中所示,第三子奇偶校验码PARITY_SUB_H<0:2>的每个比特位可以经由PARITY通道的PARITY_11、PARITY_12和PARITY_13来传输。第三子奇偶校验码PARITY_SUB_H<0:2>可以经由除PARITY通道之外的通道来传输,且本发明不局限于所使用的通道的类型。
存储器100可以经由通道105向存储器控制器102传输第二数据DATA_G<0:127>、第三DBI标志DBI_H<0:15>、第三奇偶校验码PARITY_H<0:8>、第三子DBI标志DBI_SUB_H<0:1>和第三子奇偶校验码PARITY_SUB_H<0:2>。存储器控制器可以分别以第三数据DATA_I<0:127>、第四DBI标志DBI_I<0:15>、第四奇偶校验码PARITY_I<0:8>、第四子DBI标志DBI_SUB_I<0:1>和第四子奇偶校验码PARITY_SUB_I<0:2>的形式来接收第二数据DATA_G<0:127>、第三DBI标志DBI_H<0:15>、第三奇偶校验码PARITY_H<0:8>、第三子DBI标志DBI_SUB_H<0:1>和第三子奇偶校验码PARITY_SUB_H<0:2>。
如上所述,根据当前实施例的存储系统具有这样的效果:通过反复执行DBI操作来降低根据高逻辑的功耗。
图4B图示了存储系统10与存储器控制器102之间的响应于来自存储器控制器102的写入请求的数据传输。与参照图4A和表9至表13所描述的原理相同的原理可以应用于图4B中所示的存储系统10的操作。对于下面的图4B的更详细描述,可以查阅参照图4A和表9至表13所描述的内容。
根据一个实施例的存储器100可以包括DBI单元420、ECC单元410、子DBI单元425、子ECC单元415和DM单元230。
DM单元230的操作与参照图2和图3所描述的DM单元的操作原理相同。
存储器控制器102可以经由通道105向存储系统10的存储器100传输第一数据DATA_A<0:127>、第一DBI标志DBI_B<0:15>、第一奇偶校验码PARITY_A<0:8>、第一子DBI标志DBI_SUB_A<0:1>和第一子奇偶校验码PARITY_SUB_A<0:2>。
第一数据DATA_A<0:127>、第一DBI标志DBI_B<0:15>、第一奇偶校验码PARITY_A<0:8>、第一子DBI标志DBI_SUB_A<0:1>和第一子奇偶校验码PARITY_SUB_A<0:2>穿过通道105,然后可以以第二数据DATA_B<0:127>、第二DBI标志DBI_B<0:15>、第二奇偶校验码PARITY_B<0:8>、第二子DBI标志DBI_SUB_B<0:1>和第二子奇偶校验码PARITY_SUB_B<0:2>的形式输入到存储器100,这有出现错误的可能性。
存储器100可以经由与传输第二奇偶校验码PARITY_B<0:8>的通道相同的通道来接收第二子DBI标志DBI_SUB_B<0:1>和第二子奇偶校验码PARITY_SUB_B<0:2>。传输第二奇偶校验码PARITY_B<0:8>的通道可以为参照表11至表13所描述的PARITY通道。PARITY通道可以包括传输数据的PARITY引脚和接收数据的PARITY引脚。PARITY引脚可以具有与传输数据的DQ引脚的配置相同的配置。
第二子DBI标志DBI_SUB_B<0:1>和第二子奇偶校验码PARITY_SUB_B<0:2>可以经由除PARITY通道之外的通道来传输,且本发明不局限于所使用的通道的类型。
基于第二子奇偶校验码PARITY_SUB_B<0:2>,子ECC单元415可以通过校正第二子DBI标志DBI_SUB_B<0:1>来产生第三子DBI标志DBI_SUB_C<0:1>。子ECC单元415校正错误的方法可以包括包含汉明码的各种ECC方案。
子DBI单元425可以基于第三子DBI标志DBI_SUB_C<0:1>来确定第二DBI标志DBI_B<0:15>和第二奇偶校验码PARITY_B<0:8>是否被反相,并且产生第三DBI标志DBI_C<0:15>和第三奇偶校验码PARITY_C<0:8>。
ECC单元410可以基于第三奇偶校验码PARITY_C<0:8>通过校正第二数据DATA_B<0:127>和第三DBI标志DBI_C<0:15>的错误来产生第三数据DATA_D<0:127>和第四DBI标志DBI_D<0:15>。
DBI单元420可以基于第四DBI标志DBI_D<0:15>来确定第三数据DATA_D<0:127>是否被反相,并且产生第四数据DATA_E<0:127>。第四数据可以储存在存储单元阵列150中。
如上所述,根据当前实施例的存储系统具有这样的效果:通过反复执行DBI操作来降低根据高逻辑的功耗。
以资参考,已经描述了子DBI单元425和子ECC单元415被配置成与DBI单元420和ECC单元410分离的单元,但是这仅仅是为方便说明的一个实施例。DBI单元420和子DBI单元425可以被配置成一个DBI单元,并且ECC单元410和子ECC单元415也可以被配置成一个ECC单元。
以资参考,图4A的存储器控制器102可以以与参照图4B描述的存储系统10的写入操作相同的方式来操作。具体地,存储器控制器102可以通过包括DBI单元420、ECC单元410、子DBI单元425和子ECC单元415,以与存储系统10相同的方式来执行写入操作。按照相同的原理,图4B的存储器控制器102可以以与参照图4A描述的存储系统10的读取操作相同的方式操作。具体地,存储器控制器102可以通过包括DBI单元420、ECC单元410、子DBI单元425和子ECC单元415来执行读取操作。
图5图示了根据一个实施例的能够同时执行错误校正功能和数据反相功能的存储系统。
根据一个实施例的存储器100可以包括ECC单元510、DBI单元520和DM单元230。
DM单元230的操作与参照图2和图3所描述的DM单元的操作原理相同。
存储器控制器102可以向存储器100传输第一数据DATA_A<0:127>、第一DBI标志DBI_A<0:15>和第一奇偶校验码PARITY_A<0:8>。
穿过通道的第一数据DATA_A<0:127>、第一DBI标志DBI_A<0:15>和第一奇偶校验码PARITY_A<0:8>可以分别以第二数据DATA_B<0:127>、第二DBI标志DBI_B<0:15>和第二奇偶校验码PARITY_B<0:8>的形式输入。
第二数据DATA_B<0:127>、第二DBI标志DBI_B<0:15>和第二奇偶校验码PARITY_B<0:8>可以包括出现错误的比特位。
ECC单元510可以包括错误标志发生器511。错误标志发生器511可以基于第二奇偶校验码PARITY_B<0:8>来产生为第二数据DATA_B<0:127>和第二DBI标志DBI_B<0:15>的错误信息的第二数据错误标志EF_DATA_B<0:127>和第二DBI错误标志EF_DBI_B<0:15>。
错误标志发生器511产生第二数据错误标志EF_DATA_B<0:127>和第二DBI错误标志EF_DBI_B<0:15>的方法可以根据汉明码规则而被代表性地执行,或者可以按照各种ECC方案被执行。当根据汉明码规则来执行ECC单元510时,可以按照单错校正(SEC)方案或单错校正双错检测(SECDED)方案来执行ECC单元510。例如,ECC单元510可以按照SECDED方案而基于第二奇偶校验码PARITY_B<0:8>来产生作为第二数据DATA_B<0:127>和第二DBI标志DBI_B<0:15>的错误信息的第二数据错误标志EF_DATA_B<0:127>和第二DBI错误标志EF_DATA_B<0:127>。
根据当前实施例的DBI单元520可以经由第二数据DATA_B<0:127>、第二DBI标志DBI_B<0:15>、第二数据错误标志EF_DATA_B<0:127>和第二DBI标志EF_DATA_B<0:127>来产生反映有对第二数据DATA_B<0:127>的错误校正操作和DBI操作的结果的第三数据。
DBI单元520可以包括反相计算器521和反相单元523。
反相计算器521可以经由第二DBI标志DBI_B<0:15>、第二错误标志EF_DATA_B<0:127>和第二DBI错误标志EF_DBI_B<0:15>来产生作为与第二数据DATA_B<0:127>有关的最终反相信息的第二数据最终反相标志INV_DATA_B<0:127>。
第二数据最终反相标志INV_DATA_B<0:127>可以指示这样的结果:对第二数据DATA_B<0:127>的错误校正操作和DBI操作的结果全部都应用于该结果。例如,构成第二数据最终反相标志INV_DATA_B<0:127>的第二数据最终反相标志位之中的具有高逻辑的第二数据最终反相标志位是反映了全部的错误校正操作和DBI操作的结果的结果,并且可以将与第二数据最终反相标志位相对应的第二数据位反相。此外,构成第二数据最终反相标志INV_DATA_B<0:127>的第二数据最终反相标志位之中的具有低逻辑的第二数据最终反相标志位是反映了全部的错误校正操作和DBI操作的结果的结果,并且可以不将与第二数据最终反相标志位相对应的第二数据位反相。
<表14>
表14顺序地示出了用于产生第二数据最终反相标志INV_DATA_B<0:127>的第二数据错误标志EF_DATA_B<0:127>、第二DBI标志DBI_B<0:15>和第二DBI错误标志EF_DBI_B<0:15>。
第二数据错误标志可以包括多个第二数据错误标志组。如参照表1所述,第二数据错误标志可以由BL0至BL15组成,即,总计16个第二数据错误标志组。第二数据错误标志可以具有与第二数据相同的配置。
与第二数据位相对应的第二数据错误标志位可以指示在第二数据位中是否存在错误。例如,第二数据错误标志位为高逻辑的情况可以意味着在与第二数据错误标志位相对应的第二数据位中存在错误。类似地,第二数据错误标志位为低逻辑的情况可以意味着在与第二数据错误标志位相对应的第二数据位中不存在错误。
第二DBI标志DBI_B<0:15>可以包括多个第二DBI标志位,并且为了方便说明,假定其数量为16。
第二DBI错误标志EF_DBI_B<0:15>可以包括多个第二DBI错误标志位,并且为了方便说明,假定其数量为16。
对于每个BL组,第二DBI错误标志位可以与第二DBI标志位相对应。例如,与BL0组相对应的第二DBI标志位0可以对应于与BL0组相对应的第二DBI错误标志位0。此外,第二DBI标志位0和第二DBI错误标志位0可以对应于与BL0组相对应的第二数据错误标志组0EF_DATA_B0。
根据参照图1所描述的传统的ECC操作和DBI操作,在完成ECC操作之后已经执行DBI操作。在这种情况下,当根据ECC操作来校正错误时,反相可以在数据位中出现。然后,基于DBI操作,在已经出现了反相的数据位中可以再次出现反相。在这种情况下,在甚至未执行一次反相的情况下或者在执行了两次反相的情况下,对于数据位获得相同的结果。由于结果相等但是反相操作需要功耗,因此执行两次反相操作的情况比甚至未执行一次反相的情况需要更多的功耗。
因此,根据一个实施例,在诸如数据位的情况下,提出了在任何情况下都不执行两次或更多次反相,即,执行最多一次反相的DBI单元。
<表15>
表15示出了与BL0组相对应的第二数据错误标志组0EF_DATA_B0、EF_DATA_B16、EF_DATA_B32、EF_DATA_B48、EF_DATA_B64、EF_DATA_B80、EF_DATA_B96和EF_DATA_B112,以及第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0。在表15中,[1]可以意味着高逻辑,而[0]可以意味着低逻辑。
从表15可以看出:第二数据错误标志位0EF_DATA_B0具有高逻辑,第二DBI标志位0DBI_B0具有高逻辑,且第二DBI错误标志位0EF_DBI_B0具有高逻辑。
第二数据错误标志位0EF_DATA_B0具有高逻辑意味着在与第二数据错误标志位0EF_DATA_B0相对应的第二数据位0DATA_B0中存在错误。因此,第二数据位0DATA_B0必须被反相一次。
此外,由于第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0二者都为高逻辑,因此这意味着在第二DBI标志位0DBI_B0中存在错误,并且可以看出错误校正后的第二DBI标志位0DBI_B0的逻辑为低逻辑。因此,可以看出第二数据位0DATA_B0总计被反相仅一次。
此时,可以看出第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为3,即,奇数。
即,当第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为奇数时,根据当前实施例的反相计算器521可以产生高逻辑的第二数据最终反相标志INV_DATA_B0(其为将第二数据位DATA_B0反相仅一次的最终信号)。
第二数据最终反相标志位0INV_DATA_B0可以包括在第二数据最终反相标志INV_DATA_B<0:127>中,并且可以为与第二数据位0DATA_B0相对应的信号。
<表16>
表16示出了与BL0组相对应的第二数据错误标志组0EF_DATA_B0、EF_DATA_B16、EF_DATA_B32、EF_DATA_B48、EF_DATA_B64、EF_DATA_B80、EF_DATA_B96和EF_DATA_B112,以及第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0。在表16中,[1]可以意味着高逻辑,而[0]可以意味着低逻辑。
从表16可以看出,第二数据错误标志位0EF_DATA_B0具有高逻辑,第二DBI标志位0DBI_B0具有高逻辑,而第二DBI错误标志位0EF_DBI_B0具有低逻辑。
第二数据错误标志位0EF_DATA_B0为高逻辑意味着在与第二数据错误标志位0EF_DATA_B0相对应的第二数据位0DATA_B0中存在错误。因此,第二数据位0DATA_B0必须被反相一次。
此外,由于第二DBI标志位0DBI_B0为高逻辑而第二DBI错误标志位0EF_DBI_B0为低逻辑,因此这意味着在第二DBI标志位0DBI_B0中不存在错误。因此,可以看出,第二数据位0DATA_B0被高逻辑的第二DBI标志位0DBI_B0反相两次,从而具有现在的逻辑。
此时,可以看出,第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为2,即,偶数。
即,当第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为偶数时,根据当前实施例的反相计算器521可以产生低逻辑的第二数据最终反相标志INV_DATA_B0(其是不将第二数据位DATA_B0反相的最终信号)。
第二数据最终反相标志位0INV_DATA_B0可以包括在第二数据最终反相标志INV_DATA_B<0:127>中,并且可以为与第二数据位0DATA_B0相对应的信号。
<表17>
表17示出了与BL0组相对应的第二数据错误标志组0EF_DATA_B0、EF_DATA_B16、EF_DATA_B32、EF_DATA_B48、EF_DATA_B64、EF_DATA_B80、EF_DATA_B96和EF_DATA_B112,以及第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0。在表17中,[1]可以意味着高逻辑,而[0]可以意味着低逻辑。
从表17可以看出,第二数据错误标志位0EF_DATA_B0具有高逻辑,第二DBI标志位0DBI_B0具有低逻辑,以及第二DBI错误标志位0EF_DBI_B0具有高逻辑。
第二数据错误标志位0EF_DATA_B0为高逻辑意味着在与第二数据错误标志位0EF_DATA_B0相对应的第二数据位0DATA_B0中存在错误。因此,第二数据位0DATA_B0必须被反相一次。
此外,由于第二DBI标志位0DBI_B0为低逻辑而第二DBI错误标志位0EF_DBI_B0为高逻辑,因此这意味着在第二DBI标志位DBI_B0中存在错误。因此,错误校正后的第二DBI标志位0DBI_B0的逻辑为高逻辑。
因此,可以看出,第二数据位0DATA_B0被高逻辑的第二DBI标志位0DBI_B0反相两次,从而具有现在的逻辑。
此时,可以看出,第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为2,即,偶数。
即,当第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为偶数时,根据当前实施例的反相计算器521可以产生低逻辑的第二数据最终反相标志INV_DATA_B0(其是不将第二数据位DATA_B0反相的最终信号)。
第二数据最终反相标志位0INV_DATA_B0可以包括在第二数据最终反相标志INV_DATA_B<0:127>中,并且可以为与第二数据位0DATA_B0相对应的信号。
<表18>
表18示出了与BL0组相对应的第二数据错误标志组0EF_DATA_B0、EF_DATA_B16、EF_DATA_B32、EF_DATA_B48、EF_DATA_B64、EF_DATA_B80、EF_DATA_B96和EF_DATA_B112,以及第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0。在表18中,[1]可以意味着高逻辑,而[0]可以意味着低逻辑。
从表18可以看出,第二数据错误标志位0EF_DATA_B0具有高逻辑,第二DBI标志位0DBI_B0具有低逻辑,以及第二DBI错误标志位0EF_DBI_B0具有低逻辑。
第二数据错误标志位0EF_DATA_B0为高逻辑意味着在与第二数据错误标志位0EF_DATA_B0相对应的第二数据位0DATA_B0中存在错误。因此,第二数据位0DATA_B0必须被反相一次。
此外,由于第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0二者都为低逻辑,因此这意味着在第二DBI标志位0DBI_B0中不存在错误,并且可以看出第二DBI标志位0DBI_B0的逻辑为低逻辑。因此,可以看出,第二数据位0DATA_B0总计被反相仅一次。
此时,可以看出,第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为1,即,奇数。
即,当第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0的高逻辑的数量为奇数时,根据当前实施例的反相计算器521可以产生高逻辑的第二数据最终反相标志INV_DATA_B0(其是将第二数据位DATA_B0反相仅一次的最终信号)。
反相计算器521可以通过对第二数据错误标志位0EF_DATA_B0、第二DBI标志位0DBI_B0和第二DBI错误标志位0EF_DBI_B0执行异或运算来产生第二数据最终反相标志位0INV_DATA_B0。即,反相计算器521可以通过对包括在第二数据错误标志组EF_DATA_B_BL#中的第二数据错误标志位、与第二数据错误标志组EF_DATA_B_BL#相对应的第二DBI标志位以及与第二数据错误标志组EF_DATA_B_BL#相对应的第二DBI错误标志位执行异或运算来产生第二数据最终反相标志位。
这是因为:如参照表15至表18所述,反相计算器521在第二数据错误标志位、第二DBI标志位和第二DBI错误标志位的高逻辑的数量为奇数时输出高逻辑的第二数据最终反相标志位,并且在高逻辑的数量为偶数时输出低逻辑的第二数据最终反相标志位。
第二数据最终反相标志位0INV_DATA_B0可以包括在第二数据最终反相标志INV_DATA_B<0:127>中,并且可以是与第二数据位0DATA_B0相对应的信号。
参照表15至表18而描述的原理可以同等地应用到第二数据错误标志位0EF_DATA_B0为低逻辑的情况。
基于第二个数据最终反相标志INV_DATA_B<0:127>,反相单元523可以通过确定第二数据DATA_B<0:127>是否最终被反相来产生第三数据DATA_C<0:127>。
第二数据最终反相标志INV_DATA_B<0:127>可以包括多个第二数据最终反相标志位,并且第二数据最终反相标志位可以与第二数据位相对应。第三数据可以像第二数据中那样包括多个第三数据位,并且第三数据也可以与第二数据位和第二数据最终反相标志位相对应。
当第二数据最终反相标志位为高逻辑时,反相单元523可以通过将与第二数据最终反相标志位相对应的第二数据位的逻辑反相来产生第三数据位。
当第二数据最终反相标志位为低逻辑时,反相单元523可以产生这样的第三数据位,该第三数据位具有与对应于第二数据最终反相标志位的第二数据位的逻辑相同的逻辑。
存储单元阵列150可以储存第三数据DATA_C<0:127>。
如上所述,基于根据当前实施例的DBI单元520的操作,可以对构成第二数据DATA_B<0:127>的多个第二数据位不执行反相或仅执行一次反相。因此,可以使在将数据位反相的操作中的功耗最小化。
根据实施例,经由独立于ECC单元而操作的DM单元可以减少存储系统的整个潜伏时间。
根据实施例,通过使传输和接收的高逻辑的数据位最小化,可以降低存储系统中的功耗。
根据实施例,通过使冗余地应用有ECC单元的功能和DM单元的功能的器件和操作最小化和简化,可以降低存储系统的内部区域。
根据实施例,通过使数据反相的次数最小化,可以降低存储系统中的功耗。
虽然已经出于说明的目的而描述了各个实施例,但是对于本领域技术人员而言将明显的是,在不脱离所附权利要求书中限定的本发明的精神和范围的情况下,可以作出各种改变和修正。
Claims (56)
1.一种存储系统,包括:
ECC单元,其适用于:基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码,通过校正第二数据来产生第三数据以及通过校正第二DBI标志来产生第三DBI标志;
DBI单元,其适用于:基于第三数据和第三DBI标志,通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及
DM单元,其适用于:基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
2.如权利要求1所述的存储系统,其中,第二数据包括多个第二数据组,以及
DM单元在每个第二数据组中包括的多个比特位的高逻辑的数量等于或大于掩蔽值时产生高逻辑的DM标志位。
3.如权利要求2所述的存储系统,其中,DM单元在每个第二数据组中包括的所述多个比特位的高逻辑的数量小于掩蔽值时产生低逻辑的DM标志位。
4.如权利要求3所述的存储系统,其中,第一数据在第二数据穿过通道之前为原始数据,以及
第一数据包括多个第一数据组。
5.如权利要求4所述的存储系统,其中,掩蔽值比数据掩蔽模式边界值小,以及
数据掩蔽模式边界值是每个第一数据组中包括的多个比特位的高逻辑的数量的边界值,所述边界值用来无论每个第一数据组中包括的所述多个比特位是否出现单个错误都使能DM单元向DM标志输入高逻辑。
6.如权利要求5所述的存储系统,其中,掩蔽值比数据模式边界值大,以及
数据模式边界值是每个第一数据组中包括的所述多个比特位的高逻辑的数量的边界值,所述边界值用来无论每个第一数据组中包括的所述多个比特位是否出现单个错误都使能DM单元向DM标志输入低逻辑。
7.如权利要求6所述的存储系统,其中,与高逻辑的DM标志位相对应的第四数据组为不执行写入操作的数据组,以及
与低逻辑的DM标志位相对应的第四数据组为执行写入操作的数据组。
8.如权利要求7所述的存储系统,其中,掩蔽值为6,
数据掩蔽模式边界值为7,以及
数据模式边界值为4。
9.一种操作存储系统的方法,所述方法包括:
基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码而通过校正第二数据来产生第三数据以及通过校正第二DBI标志来产生第三DBI标志;
基于第三数据和第三DBI标志而通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及
基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
10.如权利要求9所述的方法,其中,第二数据包括多个第二数据组,以及
产生DM标志的步骤包括在每个第二数据组中包括的多个比特位的高逻辑的数量等于或大于掩蔽值时产生高逻辑的DM标志位。
11.如权利要求10所述的方法,其中,产生DM标志的步骤包括在每个第二数据组中包括的所述多个比特位的高逻辑的数量小于掩蔽值时产生低逻辑的DM标志位。
12.如权利要求11所述的方法,其中,第一数据在第二数据穿过通道之前为原始数据,以及
第一数据包括多个第一数据组。
13.如权利要求12所述的方法,其中,掩蔽值比数据掩蔽模式边界值小,以及
数据掩蔽模式边界值是每个第一数据组中包括的多个比特位的高逻辑的数量的边界值,所述边界值用来在产生DM标志的步骤中无论每个第一数据组中包括的所述多个比特位是否出现单个错误都向DM标志输入高逻辑。
14.如权利要求13所述的方法,其中,掩蔽值比数据模式边界值大,以及
数据模式边界值是每个第一数据组中包括的多个比特位的高逻辑的数量的边界值,所述边界值用来在产生DM标志的步骤中无论每个第一数据组中包括的所述多个比特位是否出现单个错误都向DM标志输入低逻辑。
15.如权利要求14所述的方法,还包括:
对与高逻辑的DM标志位相对应的第四数据组不执行写入操作;以及
对与低逻辑的DM标志位相对应的第四数据组执行写入操作。
16.如权利要求15所述的方法,其中,掩蔽值为6,
数据掩蔽模式边界值为7,以及
数据模式边界值为4。
17.一种存储系统,包括:
ECC单元,其适用于:基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码来产生第二数据错误标志和第二DBI错误标志,以及基于第二数据错误标志和第二DBI错误标志来产生错误校正后的第三数据和错误校正后的第三DBI标志;
DBI单元,其适用于:基于第三数据和第三DBI标志,通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及DM单元,其适用于:基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
18.如权利要求17所述的存储系统,其中,DM单元包括第一DM子单元和第二DM子单元,
第二数据包括多个第二数据组,以及
第一DM子单元产生:
第一预DM标志,其指示每个第二数据组中包括的多个比特位的高逻辑的数量是否处于掩蔽值的边界处;以及
第二预DM标志,其指示每个第二数据组中包括的所述多个比特位的高逻辑的数量是否等于或大于掩蔽值。
19.如权利要求18所述的存储系统,其中,第二DM子单元基于第一预DM标志、第二预DM标志、第二数据和第二数据错误标志来产生DM标志位。
20.如权利要求19所述的存储系统,其中,第二DM子单元:
在第一预DM标志为高逻辑时,基于第二数据和第二数据错误标志而通过确定第二预DM标志是否被校正来产生DM标志位;以及
在第一预DM标志为低逻辑时,产生具有与第二预DM标志的逻辑相同逻辑的DM标志位。
21.如权利要求20所述的存储系统,其中,当第一预DM标志为高逻辑时,如果在构成第二数据组的与第一预DM标志相对应的所述多个比特位中不存在错误,则第二DM子单元产生具有与第二预DM标志的逻辑相同的逻辑的DM标志位。
22.如权利要求20所述的存储系统,其中,当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为高逻辑,则第二DM子单元产生低逻辑的DM标志位。
23.如权利要求20所述的存储系统,其中,当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为低逻辑,则第二DM子单元产生高逻辑的DM标志位。
24.如权利要求20所述的存储系统,其中,当第一预DM标志为高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为高逻辑,则第二DM子单元产生低逻辑的DM标志位。
25.如权利要求20所述的存储系统,其中,当第一预DM标志为高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为低逻辑,则第二DM子单元产生高逻辑的DM标志位。
26.如权利要求25所述的存储系统,其中,第四数据包括多个第四数据组,
与高逻辑的DM标志位相对应的第四数据组为不执行写入操作的数据组,以及
与低逻辑的DM标志位相对应的第四数据组为执行写入操作的数据组。
27.一种操作存储系统的方法,所述方法包括:
基于经由通道提供的第二数据、第二DBI标志和第二奇偶校验码来产生第二数据错误标志和第二DBI错误标志,以及基于第二数据错误标志和第二DBI错误标志来产生错误校正后的第三数据和错误校正后的第三DBI标志;
基于第三数据和第三DBI标志,通过确定分别与构成第三DBI标志的多个DBI标志位相对应的多个第三数据位是否被反相来产生第四数据;以及
基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
28.如权利要求27所述的方法,其中,产生DM标志的步骤包括第一DM子过程和第二DM子过程,
第二数据包括多个第二数据组,以及
第一DM子过程包括产生:
第一预DM标志,其指示每个第二数据组中包括的多个比特位的高逻辑的数量是否处于掩蔽值的边界处;以及
第二预DM标志,其指示每个第二数据组中包括的所述多个比特位的高逻辑的数量是否等于或大于掩蔽值。
29.如权利要求28所述的方法,其中,第二DM子过程包括基于第一预DM标志、第二预DM标志、第二数据和第二数据错误标志来产生DM标志位。
30.如权利要求29所述的方法,其中,第二DM子过程包括:
当第一预DM标志为高逻辑时,基于第二数据和第二数据错误标志而通过确定第二预DM标志是否被校正来产生DM标志位;以及
当第一预DM标志为低逻辑时,产生具有与第二预DM标志的逻辑相同的逻辑的DM标志位。
31.如权利要求30所述的方法,其中,当第一预DM标志为高逻辑时,如果在构成第二数据组的与第一预DM标志相对应的所述多个比特位中不存在错误,则第二DM子过程包括产生具有与第二预DM标志的逻辑相同的逻辑的DM标志位。
32.如权利要求30所述的方法,其中,当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为高逻辑,则第二DM子过程包括产生低逻辑的DM标志位。
33.如权利要求30所述的方法,其中,当第一预DM标志为高逻辑且第二预DM标志为低逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为低逻辑,则第二DM子过程包括产生高逻辑的DM标志位。
34.如权利要求30所述的方法,其中,当第一预DM标志为高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中的出现错误的比特位为高逻辑,则第二DM子过程包括产生低逻辑的DM标志位。
35.如权利要求30所述的方法,其中,当第一预DM标志位高逻辑且第二预DM标志为高逻辑时,如果在第二数据组中包括的所述多个比特位之中出现错误的比特位为低逻辑,则第二DM子过程包括产生高逻辑的DM标志位。
36.如权利要求35所述的方法,其中,第四数据包括多个第四数据组,以及
所述方法还包括:
对与高逻辑的DM标志位相对应的第四数据组不执行写入操作,以及
对与低逻辑的DM标志位相对应的第四数据组执行写入操作。
37.一种存储系统,包括:
子ECC单元,其适用于基于经由通道提供的第二子奇偶校验码而通过校正第二子DBI标志的错误来产生第三DBI标志;
子DBI单元,其适用于基于第三子DBI标志而通过确定第二DBI标志和第二奇偶校验码是否被反相来产生第三DBI标志和第三标志;
ECC单元,其适用于基于第三奇偶校验码而通过校正第二数据的错误和第三DBI标志的错误来产生第三数据和第四DBI标志;
DBI单元,其适用于基于第四DBI标志而通过确定第三数据是否被反相来产生第四数据;以及
DM单元,其适用于基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
38.如权利要求37所述的存储系统,其中,存储系统经由与传输第二奇偶校验码的通道相同的通道来接收第二子DBI标志。
39.如权利要求37所述的存储系统,其中,存储系统经由与传输第二奇偶校验码的通道相同的通道来接收第二子奇偶校验码。
40.如权利要求37所述的存储系统,其中,DBI单元和子DBI单元按照DBI DC方案和DBIAC方案之一来操作。
41.一种操作存储系统的方法,所述方法包括:
基于经由通道提供的第二子奇偶校验码而通过校正第二子DBI标志的错误来产生第三DBI标志;
基于第三子DBI标志而通过确定第二DBI标志和第二奇偶校验码是否被反相来产生第三DBI标志和第三标志;
基于第三奇偶校验码而通过校正第二数据的错误和第三DBI标志的错误来产生第三数据和第四DBI标志;
基于第四DBI标志而通过确定第三数据是否被反相来产生第四数据;以及
基于第二数据来产生指示是否对构成第四数据的多个第四数据位执行写入操作的DM标志。
42.如权利要求41所述的方法,还包括经由与传输第二奇偶校验码的通道相同的通道来接收第二子DBI标志。
43.如权利要求41所述的方法,还包括经由与传输第二奇偶校验码的通道相同的通道来接收第二子奇偶校验码。
44.如权利要求41所述的方法,其中,产生第三DBI标志和第三奇偶校验码的步骤以及产生第四数据的步骤按照DBI DC方案和DBI AC方案之一来执行。
45.一种存储系统,包括:
ECC单元,其适用于:基于经由通道提供的第二奇偶校验码,产生分别作为与经由通道提供的第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志;
DBI单元,其适用于:基于第二DBI标志、第二数据错误标志和第二DBI错误标志来产生反映有对第二数据的错误校正操作和DBI操作二者的结果的第三数据;以及
DM单元,其适用于:基于第二数据来产生指示是否对构成第三数据的多个第三数据位执行写入操作的DM标志。
46.如权利要求45所述的存储系统,其中,DBI单元包括:
反相计算器,其适用于经由第二DBI标志、第二数据错误标志和第二DBI错误标志来产生作为与第二数据有关的最终反相信息的第二数据最终反相标志;以及
反相单元,其适用于基于第二数据反相标志而通过将第二数据反相来产生第三数据。
47.如权利要求46所述的存储系统,其中,第二数据错误标志包括多个第二数据错误标志组,
第二DBI标志包括多个第二DBI标志位,
第二DBI错误标志包括多个第二DBI错误标志位,以及
反相计算器通过对第二数据错误标志组中包括的第二数据错误标志位、与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI标志位以及与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI错误标志位执行异或运算来产生第二数据最终反相标志。
48.如权利要求46所述的存储系统,其中,第二数据包括多个第二数据位,
第二数据最终反相标志包括多个第二数据最终反相标志位,
第三数据包括多个第三数据位,以及
当第二数据最终反相标志位为高逻辑时,反相单元通过将与第二数据最终反相标志位相对应的第二数据位的逻辑反相来产生第三数据位。
49.如权利要求48所述的存储系统,其中,当第二数据最终反相标志位为低逻辑时,反相单元产生具有与对应于第二数据最终反相标志位的第二数据位的逻辑相同的逻辑的第三数据位。
50.如权利要求45所述的存储系统,其中,ECC单元包括错误标志发生器,以及
错误标志发生器根据SECDED方案而基于第二奇偶校验码来产生分别作为与第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志。
51.一种操作存储系统的方法,所述方法包括:
基于经由通道提供的第二奇偶校验码,产生分别作为与经由通道提供的第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志;
基于第二DBI标志、第二数据错误标志和第二DBI错误标志来产生反映有对第二数据的错误校正操作和DBI操作二者的结果的第三数据;以及
基于第二数据来产生指示是否对构成第三数据的多个第三数据位执行写入操作的DM标志。
52.如权利要求51所述的方法,其中,产生第三数据的步骤包括:
第一子过程:经由第二DBI标志、第二数据错误标志和第二DBI错误标志来产生作为与第二数据有关的最终反相信息的第二数据最终反相标志;以及
第二子过程:基于第二数据反相标志而通过将第二数据反相来产生第三数据。
53.如权利要求52所述的方法,其中,第二数据错误标志包括多个第二数据错误标志组,
第二DBI标志包括多个第二DBI标志位,
第二DBI错误标志包括多个第二DBI错误标志位,以及
第一子过程包括通过对第二数据错误标志组中包括的第二数据错误标志位、与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI标志位以及与包括第二数据错误标志位的第二数据错误标志组相对应的第二DBI错误标志位执行异或运算来产生第二数据最终反相标志。
54.如权利要求52所述的方法,其中,第二数据包括多个第二数据位,
第二数据最终反相标志包括多个第二数据最终反相标志位,
第三数据包括多个第三数据位,以及
当第二数据最终反相标志位为高逻辑时,第二子过程包括通过将与第二数据最终反相标志位相对应的第二数据位的逻辑反相来产生第三数据位。
55.如权利要求54所述的方法,其中,当第二数据最终反相标志位为低逻辑时,第二子过程包括产生具有与对应于第二数据最终反相标志位的第二数据位的逻辑相同的逻辑的第三数据位。
56.如权利要求51所述的方法,其中,产生第二数据错误标志和第二DBI错误标志的步骤包括根据SECDED方案而基于第二奇偶校验码来产生分别作为与第二数据和第二DBI标志有关的错误信息的第二数据错误标志和第二DBI错误标志。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0050011 | 2017-04-18 | ||
KR20170050011 | 2017-04-18 | ||
KR1020180040551A KR102457144B1 (ko) | 2017-04-18 | 2018-04-06 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2018-0040551 | 2018-04-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108847269A true CN108847269A (zh) | 2018-11-20 |
CN108847269B CN108847269B (zh) | 2022-05-31 |
Family
ID=64099046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810349212.9A Active CN108847269B (zh) | 2017-04-18 | 2018-04-18 | 存储系统及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11216331B2 (zh) |
KR (1) | KR102457144B1 (zh) |
CN (1) | CN108847269B (zh) |
TW (3) | TWI793116B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113454602A (zh) * | 2019-02-19 | 2021-09-28 | 美光科技公司 | 具有可配置内部错误校正模式的存储器装置 |
CN114116530A (zh) * | 2021-12-06 | 2022-03-01 | 海光信息技术股份有限公司 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112712832B (zh) * | 2019-10-25 | 2024-09-20 | 长鑫存储技术(上海)有限公司 | 写操作电路、半导体存储器和写操作方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435807A (en) * | 1980-06-26 | 1984-03-06 | Scott Edward W | Orchard error correction system |
CN1538298A (zh) * | 2003-04-17 | 2004-10-20 | 国际商业机器公司 | 计算机系统中的纠错方法和装置 |
CN1627283A (zh) * | 2003-12-13 | 2005-06-15 | 三星电子株式会社 | 具有多位预取结构的数据反相电路的集成电路及操作方法 |
US20070110224A1 (en) * | 2005-11-14 | 2007-05-17 | Accenture Global Services Gmbh | Data masking application |
US7366971B2 (en) * | 2004-12-21 | 2008-04-29 | Fujitsu Limited | Semiconductor memory having sub-party cell array error correction |
US7894227B2 (en) * | 2008-02-13 | 2011-02-22 | Renesas Electronics Corporation | Content addressable memory |
CN102142270A (zh) * | 2009-12-22 | 2011-08-03 | 三星电子株式会社 | 半导体器件、关联的控制器、包括其的系统以及操作方法 |
US20130061102A1 (en) * | 2011-09-06 | 2013-03-07 | Samsung Electronics Co., Ltd. | Semiconductor memory device |
US20130082736A1 (en) * | 2011-09-29 | 2013-04-04 | Elpida Memory, Inc. | Semiconductor device including multiple-input logic circuit with operation rate balanced with driving ability |
CN104835534A (zh) * | 2014-02-10 | 2015-08-12 | 爱思开海力士有限公司 | 半导体存储装置及其操作方法 |
US20150356047A1 (en) * | 2014-06-06 | 2015-12-10 | Micron Technology, Inc. | Apparatuses and methods for performing a databus inversion operation |
US20160173128A1 (en) * | 2014-12-10 | 2016-06-16 | Rambus Inc. | Memory controller and method of data bus inversion using an error detection correction code |
CN106021636A (zh) * | 2015-03-31 | 2016-10-12 | 阿尔特拉公司 | 将错误校正码嵌入存储器单元中的方法和设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI609371B (zh) * | 2013-03-15 | 2017-12-21 | 積佳半導體股份有限公司 | 涉及群組成10位元之資料信號的動態隨機存取記憶體(dram)裝置及其操作方法 |
US9501352B2 (en) * | 2014-03-05 | 2016-11-22 | Kabushiki Kaisha Toshiba | Memory device |
KR20160058503A (ko) * | 2014-11-17 | 2016-05-25 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
KR102697887B1 (ko) | 2016-08-17 | 2024-08-22 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
JP6606039B2 (ja) | 2016-09-09 | 2019-11-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10489243B2 (en) | 2017-03-13 | 2019-11-26 | Toshiba Memory Corporation | Memory controller and memory system |
US10606689B2 (en) * | 2017-04-18 | 2020-03-31 | SK Hynix Inc. | Memory system and operating method thereof |
-
2018
- 2018-04-06 KR KR1020180040551A patent/KR102457144B1/ko active IP Right Grant
- 2018-04-16 TW TW107112873A patent/TWI793116B/zh active
- 2018-04-16 TW TW112100872A patent/TWI827438B/zh active
- 2018-04-16 TW TW112122358A patent/TWI843602B/zh active
- 2018-04-18 CN CN201810349212.9A patent/CN108847269B/zh active Active
-
2020
- 2020-02-26 US US16/802,168 patent/US11216331B2/en active Active
- 2020-02-26 US US16/802,215 patent/US11200111B2/en active Active
- 2020-02-26 US US16/802,194 patent/US11221909B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435807A (en) * | 1980-06-26 | 1984-03-06 | Scott Edward W | Orchard error correction system |
CN1538298A (zh) * | 2003-04-17 | 2004-10-20 | 国际商业机器公司 | 计算机系统中的纠错方法和装置 |
CN1627283A (zh) * | 2003-12-13 | 2005-06-15 | 三星电子株式会社 | 具有多位预取结构的数据反相电路的集成电路及操作方法 |
US7366971B2 (en) * | 2004-12-21 | 2008-04-29 | Fujitsu Limited | Semiconductor memory having sub-party cell array error correction |
US20070110224A1 (en) * | 2005-11-14 | 2007-05-17 | Accenture Global Services Gmbh | Data masking application |
US7894227B2 (en) * | 2008-02-13 | 2011-02-22 | Renesas Electronics Corporation | Content addressable memory |
CN102142270A (zh) * | 2009-12-22 | 2011-08-03 | 三星电子株式会社 | 半导体器件、关联的控制器、包括其的系统以及操作方法 |
US20130061102A1 (en) * | 2011-09-06 | 2013-03-07 | Samsung Electronics Co., Ltd. | Semiconductor memory device |
US20130082736A1 (en) * | 2011-09-29 | 2013-04-04 | Elpida Memory, Inc. | Semiconductor device including multiple-input logic circuit with operation rate balanced with driving ability |
CN104835534A (zh) * | 2014-02-10 | 2015-08-12 | 爱思开海力士有限公司 | 半导体存储装置及其操作方法 |
US20150356047A1 (en) * | 2014-06-06 | 2015-12-10 | Micron Technology, Inc. | Apparatuses and methods for performing a databus inversion operation |
US20160173128A1 (en) * | 2014-12-10 | 2016-06-16 | Rambus Inc. | Memory controller and method of data bus inversion using an error detection correction code |
CN106021636A (zh) * | 2015-03-31 | 2016-10-12 | 阿尔特拉公司 | 将错误校正码嵌入存储器单元中的方法和设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113454602A (zh) * | 2019-02-19 | 2021-09-28 | 美光科技公司 | 具有可配置内部错误校正模式的存储器装置 |
CN113454602B (zh) * | 2019-02-19 | 2022-09-30 | 美光科技公司 | 具有可配置内部错误校正模式的存储器装置 |
US11663075B2 (en) | 2019-02-19 | 2023-05-30 | Micron Technology, Inc. | Memory device with configurable error correction modes |
CN114116530A (zh) * | 2021-12-06 | 2022-03-01 | 海光信息技术股份有限公司 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
CN114116530B (zh) * | 2021-12-06 | 2022-09-13 | 海光信息技术股份有限公司 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200192746A1 (en) | 2020-06-18 |
US11200111B2 (en) | 2021-12-14 |
TW201839609A (zh) | 2018-11-01 |
KR102457144B1 (ko) | 2022-10-20 |
KR20180117041A (ko) | 2018-10-26 |
US11216331B2 (en) | 2022-01-04 |
TWI827438B (zh) | 2023-12-21 |
TW202340951A (zh) | 2023-10-16 |
US11221909B2 (en) | 2022-01-11 |
CN108847269B (zh) | 2022-05-31 |
US20200192747A1 (en) | 2020-06-18 |
US20200192748A1 (en) | 2020-06-18 |
TWI793116B (zh) | 2023-02-21 |
TWI843602B (zh) | 2024-05-21 |
TW202318195A (zh) | 2023-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107403646B (zh) | 闪存装置及闪存存储管理方法 | |
US10510430B2 (en) | Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips | |
US10769013B1 (en) | Caching error checking data for memory having inline storage configurations | |
CN108847269A (zh) | 存储系统及其操作方法 | |
CN111710358B (zh) | 闪存装置、闪存控制器及闪存存储管理方法 | |
CN110362420A (zh) | 存储系统和存储系统的操作方法 | |
CN112463433B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
US10860518B2 (en) | Integrated circuit system | |
US10606689B2 (en) | Memory system and operating method thereof | |
US10642684B1 (en) | Memory command interleaving | |
CN109949854A (zh) | 存储系统及其操作方法 | |
US10579470B1 (en) | Address failure detection for memory devices having inline storage configurations | |
US11928027B1 (en) | System and method for error checking and correction with metadata storage in a memory controller | |
CN102034537A (zh) | 数据存取装置及数据存取方法 | |
TWI692767B (zh) | 具有錯誤更正功能的記憶體及相關記憶體系統 | |
CN111679787A (zh) | 闪存装置、闪存控制器及闪存存储管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |