CN104658608B - 存储设备的写入方法及写入装置 - Google Patents

存储设备的写入方法及写入装置 Download PDF

Info

Publication number
CN104658608B
CN104658608B CN201310597968.2A CN201310597968A CN104658608B CN 104658608 B CN104658608 B CN 104658608B CN 201310597968 A CN201310597968 A CN 201310597968A CN 104658608 B CN104658608 B CN 104658608B
Authority
CN
China
Prior art keywords
bit
group
stuck
fault
write
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
Application number
CN201310597968.2A
Other languages
English (en)
Other versions
CN104658608A (zh
Inventor
舒继武
范捷
朱冠宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Huawei Technologies Co Ltd
Original Assignee
Tsinghua University
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to CN201810109412.7A priority Critical patent/CN108196799B/zh
Application filed by Tsinghua University, Huawei Technologies Co Ltd filed Critical Tsinghua University
Priority to CN201310597968.2A priority patent/CN104658608B/zh
Priority to JP2016533651A priority patent/JP6236720B2/ja
Priority to PCT/CN2014/091069 priority patent/WO2015074514A1/zh
Priority to EP14864332.3A priority patent/EP3073492B1/en
Priority to KR1020167015471A priority patent/KR101810029B1/ko
Priority to RU2016124766A priority patent/RU2640294C1/ru
Priority to EP18161384.5A priority patent/EP3428922B1/en
Publication of CN104658608A publication Critical patent/CN104658608A/zh
Priority to US15/159,613 priority patent/US9898228B2/en
Priority to US15/873,634 priority patent/US10789012B2/en
Application granted granted Critical
Publication of CN104658608B publication Critical patent/CN104658608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Abstract

本发明实施例提供了一种存储设备的写入方法及写入装置,该写入方法包括:获取需要写入的n个数值;确定与其对应的n个比特位,以及n个比特位包含的固定型故障的信息;将n个比特位分成B组比特位,以使得满足分组条件,并且使得当将n个比特位表示为B行A列的二维数组时,属于同一个组的任何两个比特位所在的行和列均不同或所在的行相同;根据B组比特位中的每一组比特位包含的固定型故障的信息和与之对应的需要写入的数值,将n个数值对应写入。本发明实施例通过调整同一组中相邻两个比特位的间隔,确定分组,并根据每一组包含的固定型故障的信息,将需要写入的n个数值对应写入,能够有效地防止阻抗性存储设备中的固定型故障导致的写入错误。

Description

存储设备的写入方法及写入装置
技术领域
本发明实施例涉及计算机存储领域,并且更具体地,涉及一种存储设备的写入方法及写入装置。
背景技术
阻抗性存储设备通过介质不同的阻抗状态来分别存储“0”和“1”的信息。但是,绝大多数的阻抗性存储设备都存在写寿命的问题,频繁的写操作会导致产生固定型故障(stuck-at fault)。
当阻抗性存储设备产生stuck-at fault的硬件错误时,发生错误的存储单元保持在一个固定的值“0”或“1”不变,并且此单元的值将永远不能再继续被改写。并且,stuck-atfault发生的概率远高于短暂性错误(transient error),成为了阻抗性内存中的一种主要故障错误。
现有的内存系统下基于汉明码的多位纠错机制虽然可以用于纠正此类stuck-atfault,但是这种基于汉明码的多位纠错机制是写密集型的,会加重系统的stuck-at fault的发生。
发明内容
本发明实施例提供一种存储设备的写入方法,能够解决发生固定型故障的存储设备写入错误的问题。
第一方面,提供了一种存储设备的写入方法,所述写入方法包括:获取需要写入的n个数值;确定与所述需要写入的n个数值对应的n个比特位,以及所述n个比特位包含的固定型故障的信息,所述固定型故障的信息包括所述固定型故障在所述n个比特位中的位置和所述固定型故障所在的比特位的数值;将所述n个比特位分成B组比特位,以使得所述B组比特位满足分组条件,并且使得当将所述n个比特位表示为B行A列的二维数组时,所述n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者所述n个比特位中的属于同一个组的任何两个比特位所在的行相同,所述分组条件用于限定所述B组比特位中的每一组比特位包含的固定型故障;根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,其中,n、A和B为正整数,n≤A×B。
结合第一方面,在第一种可能的实现方式中,所述将所述n个比特位分成B组比特位,以使得所述B组比特位满足分组条件,包括:将所述n个比特位分成B组比特位,以使得当将所述n个比特位表示为所述B行A列的二维数组时,所述B组比特位中的第i组比特位的第j个比特位在所述B行A列的二维数组中的位置满足:pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB;调整所述k的取值,使得所述B组比特位满足分组条件,其中,pi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的列数,qi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的行数,i和qi,j为不大于B的正整数,j和pi,j为不大于A的正整数,k为小于B的非负整数,所述调整所述k的取值包括所述k的取值增加1,B为不小于的最小素数,且
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述分组条件包括:所述B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
结合第一方面或者第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述分组条件包括:所述B组比特位中的每一组比特位包含的固定型故障的类型相同,所述固定型故障的类型包括正固定型故障或者反固定型故障,所述正固定型故障为所述固定型故障所在的第一比特位的数值与所述第一比特位对应的需要写入的数值相等,所述反固定型故障为所述固定型故障所在的第二比特位的数值与所述第二比特位对应的需要写入的数值相反。
结合第一方面或者或者上述第一方面的任一种可能的实现方式,在第四种可能的实现方式中,所述根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,包括:根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,确定所述B组比特位中的每一组比特位包含的固定型故障的类型;根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位,包括:当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
结合第一方面的第四种可能的实现方式,在第六种可能的实现方式中,所述根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位,包括:为所述B组比特位中的第i组比特位分配标识位mi,所述mi用于表示所述B组比特位中的第i组比特位包含的固定型故障的类型;根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,其中,i为不大于B的正整数。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,包括:当所述标识位mi=1时,将与所述第i组比特位对应的需要写入的数值取反写入所述第i组比特位,所述标识位mi=1表示所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。
第二方面,提供了一种存储设备的写入装置,所述写入装置包括:获取单元,用于获取需要写入的n个数值;第一确定单元,用于确定与所述需要写入的n个数值对应的n个比特位,以及所述n个比特位包含的固定型故障的信息,所述固定型故障的信息包括所述固定型故障在所述n个比特位中的位置和所述固定型故障所在的比特位的数值;分组单元,用于将所述n个比特位分成B组比特位,以使得所述B组比特位满足分组条件,并且使得当将所述n个比特位表示为B行A列的二维数组时,所述n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者所述n个比特位中的属于同一个组的任何两个比特位所在的行相同,所述分组条件用于限定所述B组比特位中的每一组比特位包含的固定型故障;写入单元,用于根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,其中n、A和B为正整数,n≤A×B。
结合第二方面,在第一种可能的实现方式中,所述分组单元,具体用于:
将所述n个比特位分成B组比特位,以使得当将所述n个比特位表示为所述B行A列的二维数组时,所述B组比特位中的第i组比特位的第j个比特位在所述B行A列的二维数组中的位置满足:pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB;调整所述k的取值,使得所述B组比特位满足分组条件,其中,pi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的列数,qi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的行数,i和qi,j为不大于B的正整数,j和pi,j为不大于A的正整数,k为小于B的非负整数,所述调整所述k的取值包括所述k的取值增加1,B为不小于的最小素数,且
结合第二方面或者第二方面的第一种可能的实现方式中,在第二种可能的实现方式中,所述分组条件为:所述B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
结合第二方面或者第二方面的第一种可能的实现方式中,在第三种可能的实现方式中,所述分组条件为:所述B组比特位中的每一组比特位包含的固定型故障的类型相同,所述固定型故障的类型包括正固定型故障或者反固定型故障,所述正固定型故障为所述固定型故障所在的第一比特位的数值与所述第一比特位对应的需要写入的数值相等,所述反固定型故障为所述固定型故障所在的第二比特位的数值与所述第二比特位对应的需要写入的数值相反。
结合第二方面或者上述第二方面的任一种可能的实现方式中,在第四种可能的实现方式中,所述写入单元,包括:第二确定单元,用于根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,确定所述B组比特位中的每一组比特位包含的固定型故障的类型;第一写入单元,用于根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位。
结合第二方面的第四种可能的实现方式中,在第五种可能的实现方式中,所述第一写入单元,具体用于:当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
结合第二方面的第四种可能的实现方式中,在第六种可能的实现方式中,所述写入单元,还包括分配单元,所述分配单元,用于为所述B组比特位中的第i组比特位分配标识位mi,所述mi用于表示所述B组比特位中的第i组比特位包含的固定型故障的类型;所述第一写入单元,具体用于根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,其中,i为不大于B的正整数。
结合第二方面的第六种可能的实现方式中,在第七种可能的实现方式中,所述第一写入单元,具体用于:当所述标识位mi=1时,将与所述第i组比特位对应的需要写入的数值取反写入所述第i组比特位,所述标识位mi=1表示所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。
本发明实施例通过调整同一分组中相邻两个比特位的间隔,确定将n个比特位分成B组,可以根据所述B组的每一组中的固定型故障的信息,将需要写入的数值对应写入n个比特位,进而能够有效地防止阻抗性存储设备中的固定型故障导致的写入错误。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的存储设备的写入方法的流程图。
图2是本发明另一个实施例的存储设备的写入方法的流程图。
图3是本发明另一个实施例的存储设备的写入方法的流程图。
图4是本发明另一个实施例的存储设备的写入方法的具体例子的示意图。
图5是本发明一个实施例的存储设备的写入装置的框图。
图6是本发明一个实施例的存储设备的写入装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明一个实施例的存储设备的写入方法的流程图。图1所示的写入方法包括:
101,获取需要写入的n个数值。
102,确定与该需要写入的n个数值对应的n个比特位,以及该n个比特位包含的固定型故障的信息,该固定型故障的信息包括固定型故障在该n个比特位中的位置和固定型故障所在的比特位的数值。
103,将该n个比特位分成B组比特位,以使得该B组比特位满足分组条件,并且使得当将该n个比特位表示为B行A列的二维数组时,该n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者该n个比特位中的属于同一个组的任何两个比特位所在的行相同,该分组条件用于限定B组比特位中的每一组比特位包含的固定型故障。
104,根据该B组比特位中的每一组比特位包含的固定型故障的信息和与固定型故障所在的比特位对应的需要写入的数值,将该需要写入的n个数值对应写入该n个比特位。
其中n、A和B为正整数,n≤A×B。
本发明实施例通过调整同一分组中相邻两个比特位的间隔,确定将n个比特位分成B组,可以根据所述B组的每一组中的固定型故障的信息,将需要写入的数值对应写入n个比特位,进而能够有效地防止阻抗性存储设备中的固定型故障导致的写入错误。
在步骤102中,n个比特位是步骤101中的n个数值需要对应写入的位置。并且在确定n个比特位的同时,也可确定该n个比特位所包含的固定型故障的信息。固定型故障的信息可包括n个比特位所包含的固定型故障的个数、固定型故障在n个比特位中的位置以及固定型故障所在的比特位的数值。
为了方便理解,可将在步骤102中确定的n个比特位顺序编号1至n,也可理解为n个比特位的位置序号。
在步骤103中,首先将n个比特位进行初始分组。初始分组可以为:将n个比特位依次将每A个比特位分为一组,这样初始分组将n个比特位分为B组比特位,其中B组比特位的前B-1组比特位中每一组比特位包含A个比特位,第B组比特位,也就是最后一组比特位中包含n-A×(B-1)个比特位。
可选地,在步骤103中,可理解为,将n个比特位分成B组比特位,以使得当将n个比特位表示为B行A列的二维数组时,所述B组比特位中的第i组比特位的第j个比特位在该B行A列的二维数组中的位置应满足:
pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB。并且可通过调整k的取值,使得所述B组比特位满足分组条件,
其中,pi,j为B组比特位中的第i组比特位的第j个比特位在二维数组中的列数,qi,j为B组比特位中的第i组比特位的第j个比特位在二维数组中的行数,i和qi,j为不大于B的正整数,j和pi,j为不大于A的正整数,k为小于B的非负整数,所述调整所述k的取值包括k的取值增加1,B为不小于的最小素数,且
具体地,该n个比特位可以是根据初始分组与二维数组相互对应的。例如,二维数组的一行可以对应初始分组的一组,即k=0。或者,假设一个比特位在n个比特位中的位置序号为x,该比特位对应在二维数组中的行为a,列为b,则应满足x=(b-1)×A+a。
应注意,初始分组对应的k也可以为小于B的其他的整数,如1,或2,或B-1等。本发明对此不作限定。
可选地,在步骤103中,也可理解为,将n个比特位分成B组比特位,以使得B组比特位中的每一组中的相邻的两个比特位在n个比特位中的位置序号的差为k×A+1,或者,也可以说,n个比特位中每间隔k×A+1的比特位位于同一组中。具体地,若n=A×B,可认为n个比特位的第n个比特位的下一个比特位为n个比特位的第一个比特位,或者也可认为将n个比特位首尾相连成环状,按间隔进行分组。若n<A×B,可认为将第n+1个比特位至第A×B个比特位置空,n个比特位的第n个比特位的下一个比特位为空的第n+1个比特位,第A×B个比特位的下一个比特位为n个比特位的第一个比特位,或者也可认为将A×B个比特位首尾相连成环状,按间隔进行分组。
可选地,在步骤102中,也可理解为,将n个比特位分成B组比特位,以使得当将n个比特位对应到二维笛卡尔坐标系中的n个数据点时,属于同一组的任何两个比特位对应的两个数据点在二维笛卡尔坐标系中的纵坐标都相同,或者,属于同一组的任何两个比特位对应的两个数据点,在二维笛卡尔坐标系中的横坐标不同且纵坐标也不同。并且,可作出斜率相等的多条直线,位于同一条直线上的所有数据点均属于同一组。并且,该多条直线的斜率为k。
具体地,该n个比特位与二维笛卡尔坐标系中的n个数据点的对应关系,可参见上述n个比特位与二维数组中的点的对应关系。例如,二维笛卡尔坐标系中的n个数据点中的纵坐标相同的数据点可对应n个比特位的初始分组中的一组,即斜率k=0。可选地,该初始分组对应的k也可为B-1的其他的整数,本发明对此不作限定。
应注意,以上所描述的只是从不同的数学角度进行的分组分析。其共同的参数为k。可以理解为同一组中相邻的两个比特位在n个比特位中的位置间隔为k×A+1。也可以理解为在二维数组中,同一组中列相邻的两个比特位所在的行的差。也可以理解为在二维笛卡尔坐标系中,同一组中的比特位所在的直线的斜率。进一步调整分组时,都可通过调整k的取值,确定新的分组。这里调整k的取值,可以是k的取值增加1,例如从0增加至1,从1增加至2,等等。其中,k的取值范围为0至B-1之间的B个整数。
本领域技术人员能够理解,只要可以表示为通过参数k的取值变化来确定分组的方式,即使运用其他的数学手段或方法进行分析,仍然落入本发明实施例的范围内。
可选地,作为一个实施例,步骤103中所说的分组条件可以为第一分组条件:B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
可选地,作为另一个实施例,步骤103中所说的分组条件可以为第二分组条件:B组比特位中的每一组比特位包含的固定型故障的类型相同,固定型故障的类型包括正固定型故障和反固定型故障,正固定型故障为固定型故障所在的第一比特位的数值与该第一比特位对应地需要写入的数值相等,反固定型故障为固定型故障所在的第二比特位的数值与该第二比特位对应地需要写入的数值相反。
其中,满足第一分组条件的分组方式中,同一个组中包含的固定型故障的个数为零个或者一个。满足第二分组条件的分组方式中,同一个组中包含的固定型故障的个数可以是零个,也可以是一个或者多个。
可选地,作为一个实施例,在步骤104中,根据B组比特位中的每一组比特位包含的固定型故障的信息和与固定型故障所在的比特位对应的需要写入的数值,确定B组比特位中的每一组比特位包含的固定型故障的类型。随后,根据B组比特位和B组比特位中的每一组比特位包含的固定型故障的类型,将需要写入的n个数值对应写入n个比特位。
具体地,当B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,可将与第i组比特位对应的需要写入的数值取反后再写入该第i组比特位。其中,i为不大于B的正整数。
具体地,作为另一个实施例,可为B组比特位中的第i组比特位分配对应的标识位mi,mi用于表示该第i组比特位包含的固定型故障的类型;进一步根据标识位mi,将与第i组比特位对应的需要写入的数值对应写入该第i组比特位。其中,i为不大于B的正整数。
例如,可用mi=1表示B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。并且,当mi=1时,将与第i组比特位对应的需要写入的数值对应地取反写入第i组比特位。
例如,可为B组比特位分配一个具有B个分量的矢量m,该矢量的第i个分量对应于B组比特位中的第i组比特位的标识位mi。并且可设置该矢量m的初始值均为0。当可确定某一组包含的固定型故障为反固定型故障时,将该组对应的标识位置为1。在写入时,对标识位为1的组,将与该组对应的需要写入的数值对应地取反写入。
应注意,本发明实施例中,对写入的具体方式不作限定。可选地,可根据所确定的分组进行写入。例如,可先将与确定的分组中的第一组比特位对应的需要写入的数值写入,再将与确定的分组中的第二组比特位对应的需要写入的数值写入,以此类推,完成B组比特位的n个数值的写入。或者,也可根据n个比特位的位置序号顺序或逆序写入。例如,可先确定n个比特位的第一个比特位所在的组,并根据该第一个比特位所在的组对应的标识位进行写入,再确定n个比特位的第二个比特位所在的组,并根据该第二个比特位所在的组对应的标识位进行写入,以此类推,完成n个数值的写入。本领域技术人员能够理解,运用其他的方式完成写入,仍然落入本发明实施例的范围内。
本发明实施例中,所确定的分组的组数是固定不变的,即对于n个比特位,分组的组数保持B组不变。并且,k的取值为从0至B-1的B个整数,调整k确定分组的最多次数为B次。这样,能够保证分组的效率。并且,这种分组方式在实现上比较简单。
本发明实施例中,每一次写入都需要进行分组条件的判断。例如,当第一次写入确定的分组对应的k=k1。第二次写入时进行分组条件判断的初始分组对应的k=k1,可在k=k1的基础上进行分组调整,并确定第二次写入时满足分组条件的对应的k。
图2是本发明另一个实施例的存储设备的写入方法的流程图。图2所示的写入方法包括:
201,获取需要写入的n个数值。
202,确定与该需要写入的n个数值对应的n个比特位,以及该n个比特位包含的固定型故障的信息,该固定型故障的信息包括固定型故障在该n个比特位中的位置和固定型故障所在的比特位的数值。
203,确定初始分组,以及固定型故障所在的组。
具体地,可将n个比特位初始分成B组比特位,并且前B-1组比特位中每一组比特位包含A个比特位,第B组比特位包含n-A×(B-1)个比特位。例如,将n个比特位的第一个比特位至第A个比特位分在第一组,将第A+1个比特位至第2A个比特位分在第二组,以此类推。
这种分组方式对应k=0,关于k的描述如前所述,为避免重复,这里不再赘述。
应注意,初始分组对应的k也可为B-1的其他整数,本发明对此不作限定。
204,判断分组是否满足第一分组条件。当不满足时,执行步骤205;当满足时,执行步骤206。
应注意,若在步骤202中判断发现n个比特位中发生固定型故障的个数大于B,那么运用该方式分组,不可能满足第一分组条件。或者,另一方面,当步骤204判断发现不满足第一分组条件,即执行步骤205。当k从0增加至B-1,k在这B个取值的任一个时的分组都不满足第一分组条件。
205,k的取值增加1,重新进行分组。
k的取值增加1,重新确定的分组的方式如前所述,为避免重复,这里不再赘述。
206,确定分组中的每一组所包含的固定型故障的类型。
具体地,对比发生固定型故障所在的比特位的数值与该比特位上对应的需要写入的数值,以确定固定型故障的类型。当该比特位的数值与该比特位上对应的需要写入的数值相同时,固定型故障的类型为正固定型故障。当该比特位的数值与该比特位上对应的需要写入的数值相反时,固定型故障的类型为反固定型故障。
207,根据步骤206中确定的类型为每一组分配一个标识位。
具体地,若固定型故障的类型为反固定型故障,可将其所在的组的标识位分配为1,并将不包含固定型故障的组和固定型故障的类型为正固定型故障所在的组的标识位分配为0。
208,根据确定的分组以及对应的标识位,将n个数值进行写入。
具体地,将标识位为1的组,对应地取反写入。将标识位为0的组,对应地正常写入。
本发明实施例通过调整同一分组中相邻两个比特位的间隔,确定将n个比特位分成B组,可以根据所述B组的每一组中的固定型故障的信息,将需要写入的数值对应写入n个比特位,进而能够有效地防止阻抗性存储设备中的固定型故障导致的写入错误。
图3是本发明另一个实施例的存储设备的写入方法的流程图。图3所示的写入方法包括:
301,获取需要写入的n个数值。
302,确定与该需要写入的n个数值对应的n个比特位,以及该n个比特位包含的固定型故障的信息,该固定型故障的信息包括固定型故障在该n个比特位中的位置、固定型故障所在的比特位的数值、以及固定型故障的类型。
具体地,对比发生固定型故障所在的比特位的数值与该比特位上对应的需要写入的数值,以确定固定型故障的类型。当该比特位的数值与该比特位上对应的需要写入的数值相同时,固定型故障的类型为正固定型故障。当该比特位的数值与该比特位上对应的需要写入的数值相反时,固定型故障的类型为反固定型故障。
303,确定初始分组,以及固定型故障所在的组。
具体地,可将n个比特位初始分成B组比特位,并且前B-1组比特位中每一组比特位中包含A个比特位,第B组比特位包含n-A×(B-1)个比特位。例如,将n个比特位的第一个比特位至第A个比特位分在第一组,将第A+1个比特位至第2A个比特位分在第二组,以此类推。
这种分组方式对应k=0,关于k的描述如前所述,为避免重复,这里不再赘述。
应注意,初始分组对应的k也可为B-1的其他整数,本发明对此不作限定。
304,判断分组是否满足第二分组条件。当不满足时,执行步骤305;当满足时,执行步骤306。
305,k的取值增加1,重新进行分组。
306,根据确定分组中的每一组所包含的固定型故障的类型,为每一组分配分配一个标识位。
307,根据确定的分组以及对应的标识位,将n个数值进行写入。
本发明实施例通过调整同一分组中相邻两个比特位的间隔,确定将n个比特位分成B组,可以根据所述B组的每一组中的固定型故障的信息,将需要写入的数值对应写入n个比特位,进而能够有效地防止阻抗性存储设备中的固定型故障导致的写入错误。
图4是本发明另一个实施例的存储设备的写入方法的具体例子的示意图。图4所示的方法以n=32作为一个具体的例子描述本发明的实施例。
图4所示的每一行为32个比特位中的数值。图4中的虚线表示发生固定型故障的位置。
应注意,图4的实施例中,以n=32为例进行描述。但本领域技术人员能够理解,n可以为其他正整数,这样的变化仍落入本发明实施例的范围内。
假设数据块包含n=32个比特位。该32个比特位的数值见图4中的第一行:n个数值写入之前。为该32个比特位所在的位置顺序编号为1至32,32个比特位所在的位置序号与对应的数值如表1所示。其中,32个比特位中发生stack-at fault的位置序号为7,9,16,17,27。
表1
位置序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
数值 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1
位置序号 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
数值 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 0
应注意,本发明实施例中,位置序号是指将数据块的n个比特位进行顺序编号所产生的序号。
与该32个比特位对应的需要写入的数值见图4中的第二行:需要写入的n个数值。该32个位置序号与对应的需要写入的32个数值如表2所示。
表2
取B为大于等于的最小素数,即B=7;取即A=5。
将表1所示的n=32个比特位表示为B=7行A=5列的二维数组,如表3所示。为了方便描述,表3中示出的二维数组中为与表1所示的数值对应的位置序号。并且该二维数值的一行代表一组,即属于同一个组的任何两个比特位所在的行都相同。为了描述方便,本发明实施例假想地在表3中补充了位置序号33,34,35。并相对应地,假想位置序号为33,34,35的比特位为空。
表3
31 32 33 34 35
26 27 28 29 30
21 22 23 24 25
16 17 18 19 20
11 12 13 14 15
6 7 8 9 10
1 2 3 4 5
在表3中,假设位置序号x在该二维数组中的行数为a,列数为b,则表3中位置序号的排布满足:x=(b-1)×A+a。
应注意,表3只是示意性的描述,不是该32个位置序号表示为7行5列的二维数组的唯一表示。例如,该32个位置序号还可以竖向排列,即满足x=(b-1)×B+a。本发明对此不作限定。
将32个比特位分为B=7组,并且如表3所示的二维数组的每一行相应地作为一个组,即将该二维数组的行数作为组数,第一组对应的位置序号为1,2,3,4,5;第二组对应的位置序号为6,7,8,9,10;第三组对应的位置序号为11,12,13,14,15;第四组对应的位置序号为16,17,18,19,20;第五组对应的位置序号为21,22,23,24,25;第六组对应的位置序号为26,27,28,29,30;第七组对应的位置序号为31,32。
应注意,对n=32的比特位来说,分成了7组,并且每组所包含的比特位的个数不超多A=5个。假如包含三个假想的位置序号33,34,35,那么可以认为上述分组方式中,每一个组中均含有5个位置序号。
这样,便将该32个位置序号分成了7组。从第一个角度,这种分组方式可以理解为:这7组中的第i组的第j个的位置序号在该二维数组中的位置(qi,j,pi,j)满足:
pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB (1)
这里k=0,B=7。qi,j为这7组中的第i组的第j个的位置序号在该二维数组中的行数,pi,j为这7组中的第i组的第j个的位置序号在该二维数组中的列数。
应注意,本发明实施例中,在二维数组中的位置是指在二维数组中的行和列的位置信息。
例如,以上述分组中的第四组为例,即i=4,该第四组中的位置序号与其在二维数组中的位置(qi,j,pi,j)的对应关系如表4所示。可发现,(qi,j,pi,j)与i和j的对应关系满足上述(1)式。
表4
从第二个角度,也可理解为,这种分组方式是:每一个组中的相邻的两个的位置序号的差为1。也就是说,每一个组中的相邻两个的位置序号的间隔为1。并且,该间隔可对应于第一个角度的k×A+1。
从第三个角度,也可理解为,这种分组方式是:当将n个比特位对应到二维笛卡尔坐标系中的n个数据点时,属于同一个组的任何两个比特位对应的两个数据点在二维笛卡尔坐标系中的纵坐标都相同。与32个比特位对应的32个数据点在该二维笛卡尔坐标系中位于7条直线上,并且每条直线上的数据点位于同一个分组中。并且这7条直线的斜率为0。并且,该直线的斜率可对应于第一个角度的k。
应注意,上述所述的第一角度至第三角度,只是对当前分组的不同的数学理解。本领域技术人员能够理解,运用其他的数学手段或方法分析对该分组方式的分析,仍然落入本发明实施例的范围内。
对表3所示的分组方式,首先要判断该分组是否满足分组条件。
可选地,作为一个实施例,分组条件可以为第一分组条件:每一组中包含的固定型故障个数不超过一个。由于表1所示的32个比特位中发生固定型故障的位置序号为7,9,16,17,27。对照表3,可发现,固定型故障的位置序号为7和9同位于第二组,固定型故障的位置序号为16和17同位于第四组。即上述的分组中,第二组和第四组中包含的固定型故障个数都超过了一个,不满足第一分组条件。此时需要对上述分组方式进行调整,对该32个比特位进行重新分组。
对应于上述第一个角度,重新分组的方式可以是k增加1。即前述k=0,重新分组的k=1。则,新的分组方式为:第一组对应的位置序号为1,7,13,19,25;第二组对应的位置序号为6,12,18,24,30;第三组对应的位置序号为11,17,23,29,○;第四组对应的位置序号为16,22,28,□,5;第五组对应的位置序号为21,27,◎,4,10;第六组对应的位置序号为26,32,3,9,15;第七组对应的位置序号为31,2,8,14,20。其中,◎,□和○表示空,依次代表表3中的假想的位置序号33,34和35。
参考表3,可见,这样的新的分组方式中,属于同一个组的任何两个比特位所在的行不同且所在的列不同。并且,对应于上述第一个角度,这种新的分组方式中,这7组中的第i组的第j个的位置序号在该二维数组中的位置(qi,j,pi,j)仍然满足上述(1)式,此时k=1。为避免重复,这里不再赘述。
对应于上述第二个角度,也可理解为,这种新的分组方式是:每一个组中的相邻的两个的位置序号的差为6。也就是说,每一个组中的相邻两个的位置序号的间隔为6。并且,该间隔可对应于第一个角度的k×A+1。以该新的分组中的第四组为例进行分析,其中,第四组的前三个位置序号16,22,28的两两之间的间隔均为6,第四个位置序号□代表假想的位置序号34,且34与28之间的间隔为6,第五个位置序号5可以理解为:35的下一个位置序号为1,即可以假想从1至35的位置序号排成一个首尾相接的圆环,这样与34的间隔为6的下一个位置序号即为5。另外,由于每个组中所包含的位置序号的个数为5个,该5个指包括假想的位置序号的情形,而在第四组中的第五个已经确定为位置序号5,因此该分组方式的第四组即可确定。对应于上述第二个角度的其他几个组中的位置序号可类似理解,为避免重复,这里不再赘述。
对应于上述第三个角度,也可理解为,这种新的分组方式是:当将32个比特位对应到二维笛卡尔坐标系中的32个数据点时,属于同一个组的任何两个比特位对应的两个数据点,在二维笛卡尔坐标系中的横坐标不同且纵坐标也不同。并且,可作出斜率相等的多条直线,位于同一条直线上的所有数据点均属于同一个组。并且,该多条直线的斜率可对应于第一个角度的k=1。
进一步地,要判断该新的分组是否满足第一分组条件。由于表1所示的32个比特位中发生固定型故障的位置序号为7,9,16,17,27。结合该新的分组方式,可发现,发生固定型故障的位置序号为7,9,16,17,27分别位于新的分组中的第一组,第六组,第四组,第三组和第五组。也就是说,该新的分组方式满足第一分组条件:每一组中包含的固定型故障个数不超过一个。从而可确定满足分组条件的7组为该新的分组。
应注意,假设如果该新的分组仍然不满足第一分组条件,可将k继续增加1,得到另一新的分组,并进一步判断该另一新的分组是否满足第一分组条件。
可选地,作为另一个实施例,分组条件可以为第二分组条件:每一组中包含的固定型故障的类型相同,固定型故障的类型包括正固定型故障或者反固定型故障,正固定型故障为固定型故障所在的第一比特位的数值与该第一比特位上需要写入的数值相等,反固定型故障为固定型故障所在的第二比特位的数值与该第二比特位上需要写入的数值相反。
由于表1所示的32个比特位中发生固定型故障的位置序号为7,9,16,17,27。结合表1和表2,可知表1中位置序号为7的比特位上的数值为“0”,与表2中该位置上需要写入的数值“0”相等,因此位置序号为7的固定型故障的类型为正固定型故障。类似地,可知,位置序号为9的固定型故障的类型为正固定型故障,位置序号为16的固定型故障的类型为反固定型故障,位置序号为17的固定型故障的类型为正固定型故障,位置序号为27的固定型故障的类型为反固定型故障。
对于上述分组方式,虽然位置序号为7和9同属于第二组,但是位置序号为7和9的固定型故障的类型均为正固定型故障,满足第二分组条件。位置序号为16和17同属于第四组,但是位置序号为7和9的固定型故障的类型不相同,不满足第二分组条件。因此,此时也需要对上述分组方式进行调整,对该32个比特位进行重新分组。
确定重新分组的方法与前述根据第一分组条件判断后进行重新分组的方法类似,为避免重复,这里不再赘述。由前述分析可知,新的分组方式为:第一组对应的位置序号为1,7,13,19,25;第二组对应的位置序号为6,12,18,24,30;第三组对应的位置序号为11,17,23,29,○;第四组对应的位置序号为16,22,28,□,5;第五组对应的位置序号为21,27,◎,4,10;第六组对应的位置序号为26,32,3,9,15;第七组对应的位置序号为31,2,8,14,20。其中,◎,□和○表示空,依次代表表3中的假想的位置序号33,34和35。
进一步地,要判断该新的分组是否满足第二分组条件。由于表1所示的32个比特位中发生固定型故障的位置序号为7,9,16,17,27。结合该新的分组方式,可发现,发生固定型故障的位置序号为7,9,16,17,27分别位于新的分组中的第一组,第六组,第四组,第三组和第五组。也就是说,该新的分组方式满足第二分组条件:每一组中包含的固定型故障的类型相同。从而可确定满足分组条件的7组为该新的分组。
应注意,假设如果该新的分组仍然不满足第二分组条件,可将k继续增加1,得到另一新的分组,并进一步判断该另一新的分组是否满足第二分组条件。
应注意,本发明实施例中,根据第一分组条件所确定的分组方式,和根据第二分组条件所确定的分组方式,是相互独立的。两种分组条件确定的分组方式可以是相同的,也可以是不同的。
更进一步地,根据该新的分组的每一组中包含的固定型故障的信息,将表2中需要写入的32个数值对应写入表1的32个比特位中。这里的固定型故障的信息包括固定型故障的位置序号和固定型故障的类型。
可选地,作为一个实施例,根据第一分组条件确定的新的分组之后,首先每一组中包含的固定型故障的类型。由于发生固定型故障的位置序号为7,9,16,17,27分别位于新的分组中的第一组,第六组,第四组,第三组和第五组。结合表1和表2分析,可知,位置序号为7,9和17的固定型故障的类型为正固定型故障,位置序号为16和27的固定型故障的类型为反固定型故障。将与反固定型故障所在的组,第四组和第五组,对应的需要写入的数值取反写入;将其他组对应的需要写入的数值正常写入。写入之后的32个比特位的数值见图4中的第三行:n个数值写入之后。这样,完成写入之后的32个位置序号与对应的写入的数值可如表5所示。
表5
或者,也可为该新的分组的每个组指定标识位mi,i代表7组中的第i组,且i为不大于7的正整数。对应地,7个组有7个标识位,标识位用来表示该组所包含的固定型故障的类型。例如,可用0表示正固定型故障,用1表示反固定型故障。这样,上述新的分组对应的标识位依次为0001100。进一步地,可根据各个组对应的标识位进行写入。具体地,当某一组的标识位为1时,将与该组对应的需要写入的数值取反写入;当某一组的标识位为0时,将与该组对应的需要写入的数值正常写入。
应注意,本发明对标识位的形式不作限定。例如,该标识位可以是具有B个分量的矢量m,该矢量的第i个分量对应于B组比特位中的第i组比特位的标识位mi。并且可设置该矢量的初始值均为0。其中,i为不大于B的正整数。
应注意,本发明实施例中,对写入的具体方式不作限定。可选地,可根据所确定的分组进行写入。例如,第一组的位置序号为1,7,13,19,25,且第一组中所包含的固定型故障的类型为正固定型故障,或者第一组的标识位为0,则将与位置序号1,7,13,19,25对应的数值正常写入。之后再按照第二组至第七组的顺序完成写入。可选地,也可根据位置序号顺序写入。例如,对于位置序号1,首先判断其所在的组为第一组,且第一组中所包含的固定型故障的类型为正固定型故障,或者第一组的标识位为0,则将与该位置序号1对应的数值正常写入。之后,对于位置序号2,首先判断其所在的组为第七组,且第七组中不包含固定型故障,或者第一组的标识位为0,则将与该位置序号2对应的数值正常写入。之后再按照位置序号3至32的顺序完成写入。或者也可根据位置序号逆序写入。也可以其他的方式完成写入。本领域技术人员能够理解,运用其他的方式完成写入,仍然落入本发明实施例的范围内。
可选地,作为另一个实施例,根据第二分组条件确定的新的分组之后,可知,该新的分组中的第四组和第五组所包含的固定型故障的类型反固定型故障,其他组所包含的固定型故障的类型为正固定型故障或者不包含固定型故障。将与反固定型故障所在的组对应的需要写入的数值取反写入;将其他组对应的需要写入的数值正常写入。这样,完成写入之后的32个比特位的数值可如表5所示。
类似地,也可引入与每组对应的标识位,并进一步根据标识位进行写入。该标识位的具体描述可参见上述针对第一分组条件的描述,为避免重复,这里不再赘述。
图5是本发明一个实施例的存储设备的写入装置的框图。图5所示的写入装置500包括获取单元501、第一确定单元502、分组单元503和写入单元504。
获取单元501,用于获取需要写入的n个数值。
第一确定单元502,用于确定与该需要写入的n个数值对应的n个比特位,以及该n个比特位包含的固定型故障的信息,该固定型故障的信息包括该固定型故障在该n个比特位中的位置和该固定型故障所在的比特位的数值。
分组单元503,用于将该n个比特位分成B组比特位,以使得该B组比特位满足分组条件,并且使得当将该n个比特位表示为B行A列的二维数组时,该n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者该n个比特位中的属于同一个组的任何两个比特位所在的行相同,该分组条件用于限定该B组比特位中的每一组比特位包含的固定型故障。
写入单元504,用于根据该B组比特位中的每一组比特位包含的固定型故障的信息和与该固定型故障所在的比特位对应的需要写入的数值,将该需要写入的n个数值对应写入该n个比特位,
其中n、A和B为正整数,n≤A×B。
本发明实施例通过调整同一分组中相邻两个比特位的间隔,确定将n个比特位分成B组,可以根据该B组的每一组中的固定型故障的信息,将需要写入的数值对应写入n个比特位,进而能够有效地防止阻抗性存储设备中的固定型故障导致的写入错误。
可选地,作为一个实施例,分组单元502具体用于:将该n个比特位分成B组比特位,以使得当将该n个比特位表示为该B行A列的二维数组时,该B组比特位中的第i组比特位的第j个比特位在该B行A列的二维数组中的位置满足:pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB;调整该k的取值,使得该B组比特位满足分组条件。
其中,pi,j为该B组比特位中的第i组比特位的第j个比特位在该二维数组中的列数,qi,j为该B组比特位中的第i组比特位的第j个比特位在该二维数组中的行数,i和qi,j为不大于B的正整数,j和pi,j为不大于A的正整数,k为小于B的非负整数,该调整该k的取值包括该k的取值增加1,B为不小于的最小素数,且
可选地,作为一个实施例,分组条件为:该B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
可选地,作为另一个实施例,分组条件为:该B组比特位中的每一组比特位包含的固定型故障的类型相同,该固定型故障的类型包括正固定型故障或者反固定型故障,该正固定型故障为该固定型故障所在的第一比特位的数值与该第一比特位对应的需要写入的数值相等,该反固定型故障为该固定型故障所在的第二比特位的数值与该第二比特位对应的需要写入的数值相反。
可选地,作为一个实施例,写入单元504包括第二确定单元505和第一写入单元506,第二确定单元505用于根据该B组比特位中的每一组比特位包含的固定型故障的信息和与该固定型故障所在的比特位对应的需要写入的数值,确定该B组比特位中的每一组比特位包含的固定型故障的类型。第一写入单元506用于根据该B组比特位和该B组比特位中的每一组比特位包含的固定型故障的类型,将该需要写入的n个数值对应写入该n个比特位。
可选地,作为另一个实施例,第一写入单元506具体用于:当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
可选地,作为另一个实施例,写入单元504还包括分配单元507,分配单元507用于为该B组比特位中的第i组比特位分配标识位mi,该mi用于表示该B组比特位中的第i组比特位包含的固定型故障的类型。第一写入单元506具体用于根据该标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入该第i组比特位。其中,i为不大于B的正整数。
具体地,当该标识位表示该B组的第i组包含的固定型故障的类型为反固定型故障时,将与该第i组对应的需要写入的数值取反写入。
或者,具体地,当该标识位mi=1时,将与该第i组比特位对应的需要写入的数值取反写入该第i组比特位,该标识位mi=1表示该B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。
写入装置500能够实现图2至图4的实施例中由写入装置实现的各个过程,为避免重复,这里不再赘述。
图6是本发明一个实施例的存储设备的写入装置的框图。图6所示的写入装置600包括处理器601、存储器602和收发电路603。
收发电路603,用于获取需要写入的n个数值。
处理器601,用于确定与该需要写入的n个数值对应的n个比特位,以及该n个比特位包含的固定型故障的信息,该固定型故障的信息包括该固定型故障在该n个比特位中的位置和该固定型故障所在的比特位的数值。用于将该n个比特位分成B组比特位,以使得该B组比特位满足分组条件,并且使得当将该n个比特位表示为B行A列的二维数组时,该n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者该n个比特位中的属于同一个组的任何两个比特位所在的行相同,该分组条件用于限定该B组比特位中的每一组比特位包含的固定型故障。并用于根据该B组比特位中的每一组比特位包含的固定型故障的信息和与该固定型故障所在的比特位对应的需要写入的数值,将该需要写入的n个数值对应写入该n个比特位,其中n、A和B为正整数,n≤A×B。
本发明实施例通过调整同一分组中相邻两个比特位的间隔,确定将n个比特位分成B组,可以根据该B组的每一组中的固定型故障的信息,将需要写入的数值对应写入n个比特位,进而能够有效地防止阻抗性存储设备中的固定型故障导致的写入错误。
写入装置600中的各个组件通过总线系统604耦合在一起,其中总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。
上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成上述方法的步骤。
可选地,作为一个实施例,处理器601具体用于:将该n个比特位分成B组比特位,以使得当将该n个比特位表示为该B行A列的二维数组时,该B组比特位中的第i组比特位的第j个比特位在该B行A列的二维数组中的位置满足:pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB;调整该k的取值,使得该B组比特位满足分组条件。
其中,pi,j为该B组比特位中的第i组比特位的第j个比特位在该二维数组中的列数,qi,j为该B组比特位中的第i组比特位的第j个比特位在该二维数组中的行数,i和qi,j为不大于B的正整数,j和pi,j为不大于A的正整数,k为小于B的非负整数,该调整该k的取值包括该k的取值增加1,B为不小于的最小素数,且
可选地,作为一个实施例,分组条件为:该B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
可选地,作为另一个实施例,分组条件为:该B组比特位的每一组比特位包含的固定型故障的类型相同,该固定型故障的类型包括正固定型故障或者反固定型故障,该正固定型故障为该固定型故障所在的第一比特位的数值与该第一比特位对应的需要写入的数值相等,该反固定型故障为该固定型故障所在的第二比特位的数值与该第二比特位对应的需要写入的数值相反。
可选地,作为一个实施例,处理器601具体用于:根据该B组比特位中的每一组比特位包含的固定型故障的信息和与该固定型故障所在的比特位对应的需要写入的数值,确定该B组比特位中的每一组比特位包含的固定型故障的类型。并根据该B组比特位和该B组比特位中的每一组比特位包含的固定型故障的类型,将该需要写入的n个数值对应写入该n个比特位。
可选地,作为另一个实施例,处理器601用于当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
可选地,作为另一个实施例,处理器601具体用于:为该B组比特位中的第i组比特位分配标识位mi,该mi用于表示该B组比特位中的第i组比特位包含的固定型故障的类型;根据该标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入该第i组比特位。其中,i为不大于B的正整数。
具体地,当该标识位表示该B组的第i组包含的固定型故障的类型为反固定型故障时,将与该第i组对应的需要写入的数值取反写入。
或者,具体地,当该标识位mi=1时,将与该第i组比特位对应的需要写入的数值取反写入该第i组比特位,该标识位mi=1表示该B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。
写入装置600能够实现图2至图4的实施例中由写入装置实现的各个过程,为避免重复,这里不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种存储设备的写入方法,其特征在于,所述写入方法包括:
获取需要写入的n个数值;
确定与所述需要写入的n个数值对应的n个比特位,以及所述n个比特位包含的固定型故障的信息,所述固定型故障的信息包括所述固定型故障在所述n个比特位中的位置和所述固定型故障所在的比特位的数值;
将所述n个比特位分成B组比特位,以使得所述B组比特位满足分组条件,并且使得当将所述n个比特位表示为B行A列的二维数组时,所述n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者所述n个比特位中的属于同一个组的任何两个比特位所在的行相同,所述分组条件用于限定所述B组比特位中的每一组比特位包含的固定型故障;
根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,
其中,n、A和B为正整数,n≤A×B。
2.根据权利要求1所述的写入方法,其特征在于,所述将所述n个比特位分成B组比特位,以使得所述B组比特位满足分组条件,包括:
将所述n个比特位分成B组比特位,以使得当将所述n个比特位表示为所述B行A列的二维数组时,所述B组比特位中的第i组比特位的第j个比特位在所述B行A列的二维数组中的位置满足:
pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB;
调整所述k的取值,使得所述B组比特位满足分组条件,
其中,pi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的列数,qi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的行数,i和qi,j为不大于B的正整数,j和pi,j为不大于A的正整数,k为小于B的非负整数,所述调整所述k的取值包括所述k的取值增加1,B为不小于的最小素数,且
3.根据权利要求1或2所述的写入方法,其特征在于,所述分组条件包括:所述B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
4.根据权利要求1或2所述的写入方法,其特征在于,所述分组条件包括:所述B组比特位中的每一组比特位包含的固定型故障的类型相同,所述固定型故障的类型包括正固定型故障或者反固定型故障,所述正固定型故障为所述固定型故障所在的第一比特位的数值与所述第一比特位对应的需要写入的数值相等,所述反固定型故障为所述固定型故障所在的第二比特位的数值与所述第二比特位对应的需要写入的数值相反。
5.根据权利要求1或2所述的写入方法,其特征在于,所述根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,包括:
根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,确定所述B组比特位中的每一组比特位包含的固定型故障的类型;
根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位。
6.根据权利要求5所述的写入方法,其特征在于,所述根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位,包括:
当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
7.根据权利要求5所述的写入方法,其特征在于,所述根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位,包括:
为所述B组比特位中的第i组比特位分配标识位mi,所述mi用于表示所述B组比特位中的第i组比特位包含的固定型故障的类型;
根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,
其中,i为不大于B的正整数。
8.根据权利要求7所述的写入方法,其特征在于,所述根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,包括:
当所述标识位mi=1时,将与所述第i组比特位对应的需要写入的数值取反写入所述第i组比特位,所述标识位mi=1表示所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。
9.一种存储设备的写入装置,其特征在于,所述写入装置包括:
获取单元,用于获取需要写入的n个数值;
第一确定单元,用于确定与所述需要写入的n个数值对应的n个比特位,以及所述n个比特位包含的固定型故障的信息,所述固定型故障的信息包括所述固定型故障在所述n个比特位中的位置和所述固定型故障所在的比特位的数值;
分组单元,用于将所述n个比特位分成B组比特位,以使得所述B组比特位满足分组条件,并且使得当将所述n个比特位表示为B行A列的二维数组时,所述n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者所述n个比特位中的属于同一个组的任何两个比特位所在的行相同,所述分组条件用于限定所述B组比特位中的每一组比特位包含的固定型故障;
写入单元,用于根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,
其中n、A和B为正整数,n≤A×B。
10.根据权利要求9所述的写入装置,其特征在于,所述分组单元,具体用于:
将所述n个比特位分成B组比特位,以使得当将所述n个比特位表示为所述B行A列的二维数组时,所述B组比特位中的第i组比特位的第j个比特位在所述B行A列的二维数组中的位置满足:
pi,j+1=pi,j+1,qi,j+1=(qi,j+k)modB;
调整所述k的取值,使得所述B组比特位满足分组条件,
其中,pi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的列数,qi,j为所述B组比特位中的第i组比特位的第j个比特位在所述二维数组中的行数,i和qi,j为不大于B的正整数,j和pi,j为不大于A的正整数,k为小于B的非负整数,所述调整所述k的取值包括所述k的取值增加1,B为不小于的最小素数,且
11.根据权利要求9或10所述的写入装置,其特征在于,所述分组条件为:所述B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
12.根据权利要求9或10所述的写入装置,其特征在于,所述分组条件为:所述B组比特位中的每一组比特位包含的固定型故障的类型相同,所述固定型故障的类型包括正固定型故障或者反固定型故障,所述正固定型故障为所述固定型故障所在的第一比特位的数值与所述第一比特位对应的需要写入的数值相等,所述反固定型故障为所述固定型故障所在的第二比特位的数值与所述第二比特位对应的需要写入的数值相反。
13.根据权利要求9或10所述的写入装置,其特征在于,所述写入单元,包括:
第二确定单元,用于根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,确定所述B组比特位中的每一组比特位包含的固定型故障的类型;
第一写入单元,用于根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位。
14.根据权利要求13所述的写入装置,其特征在于,所述第一写入单元,具体用于:
当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
15.根据权利要求13所述的写入装置,其特征在于,所述写入单元,还包括分配单元,
所述分配单元,用于为所述B组比特位中的第i组比特位分配标识位mi,所述mi用于表示所述B组比特位中的第i组比特位包含的固定型故障的类型;
所述第一写入单元,具体用于根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,
其中,i为不大于B的正整数。
16.根据权利要求15所述的写入装置,其特征在于,所述第一写入单元,具体用于:
当所述标识位mi=1时,将与所述第i组比特位对应的需要写入的数值取反写入所述第i组比特位,所述标识位mi=1表示所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。
CN201310597968.2A 2013-11-22 2013-11-22 存储设备的写入方法及写入装置 Active CN104658608B (zh)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN201310597968.2A CN104658608B (zh) 2013-11-22 2013-11-22 存储设备的写入方法及写入装置
CN201810109412.7A CN108196799B (zh) 2013-11-22 2013-11-22 存储设备的写入方法及写入装置
PCT/CN2014/091069 WO2015074514A1 (zh) 2013-11-22 2014-11-14 存储设备的写入方法及写入装置
EP14864332.3A EP3073492B1 (en) 2013-11-22 2014-11-14 Write method and write apparatus for storage device
KR1020167015471A KR101810029B1 (ko) 2013-11-22 2014-11-14 스토리지 장치용 기록 방법 및 기록 장치
RU2016124766A RU2640294C1 (ru) 2013-11-22 2014-11-14 Способ записи и записывающий аппарат для запоминающего устройства
JP2016533651A JP6236720B2 (ja) 2013-11-22 2014-11-14 記憶デバイスに対する書き込み方法および書き込み装置
EP18161384.5A EP3428922B1 (en) 2013-11-22 2014-11-14 Write method and write apparatus for storage device
US15/159,613 US9898228B2 (en) 2013-11-22 2016-05-19 Write method and write apparatus for storage device
US15/873,634 US10789012B2 (en) 2013-11-22 2018-01-17 Write method and write apparatus for storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310597968.2A CN104658608B (zh) 2013-11-22 2013-11-22 存储设备的写入方法及写入装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810109412.7A Division CN108196799B (zh) 2013-11-22 2013-11-22 存储设备的写入方法及写入装置

Publications (2)

Publication Number Publication Date
CN104658608A CN104658608A (zh) 2015-05-27
CN104658608B true CN104658608B (zh) 2018-03-06

Family

ID=53178926

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310597968.2A Active CN104658608B (zh) 2013-11-22 2013-11-22 存储设备的写入方法及写入装置
CN201810109412.7A Active CN108196799B (zh) 2013-11-22 2013-11-22 存储设备的写入方法及写入装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810109412.7A Active CN108196799B (zh) 2013-11-22 2013-11-22 存储设备的写入方法及写入装置

Country Status (7)

Country Link
US (2) US9898228B2 (zh)
EP (2) EP3428922B1 (zh)
JP (1) JP6236720B2 (zh)
KR (1) KR101810029B1 (zh)
CN (2) CN104658608B (zh)
RU (1) RU2640294C1 (zh)
WO (1) WO2015074514A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018126051A1 (de) * 2018-01-12 2019-07-18 Taiwan Semiconductor Manufacturing Co. Ltd. Neuartige Speichervorrichtung
CN111176561B (zh) * 2019-12-20 2024-02-06 北京新忆科技有限公司 存储器的写入方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447234A (zh) * 2007-11-27 2009-06-03 旺宏电子股份有限公司 存储器模块及其写入及读取方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604751A (en) * 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors
US5533194A (en) * 1994-12-28 1996-07-02 International Business Machines Corporation Hardware-assisted high speed memory test apparatus and method
US6216241B1 (en) * 1998-10-08 2001-04-10 Agere Systems Guardian Corp. Method and system for testing multiport memories
WO2000052684A1 (fr) * 1999-03-03 2000-09-08 Sony Corporation Dispositif d'enregistrement, procede d'enregistrement, dispositif de reproduction et procede de reproduction
US6671837B1 (en) * 2000-06-06 2003-12-30 Intel Corporation Device and method to test on-chip memory in a production environment
US7073106B2 (en) * 2003-03-19 2006-07-04 International Business Machines Corporation Test method for guaranteeing full stuck-at-fault coverage of a memory array
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7281114B2 (en) * 2003-12-26 2007-10-09 Tdk Corporation Memory controller, flash memory system, and method of controlling operation for data exchange between host system and flash memory
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
CN101217349A (zh) * 2007-01-05 2008-07-09 中兴通讯股份有限公司 一种混合自动重传请求中比特收集的装置与方法
CN101251580A (zh) * 2008-04-17 2008-08-27 中国科学院计算技术研究所 一种可诊断扫描链故障的电路装置及其诊断方法
US8037775B2 (en) 2008-10-17 2011-10-18 Raytheon Company Passive hit locator system comprising carbon nanotube arrays
KR101529880B1 (ko) * 2008-10-31 2015-06-19 삼성전자주식회사 에러 추정 방법 및 정정 방법
US8543863B2 (en) 2009-11-18 2013-09-24 Microsoft Corporation Efficiency of hardware memory access using dynamically replicated memory
US8612828B2 (en) 2009-12-22 2013-12-17 Intel Corporation Error correction mechanisms for 8-bit memory devices
RU2455712C2 (ru) * 2009-12-24 2012-07-10 Государственное образовательное учреждение высшего профессионального образования "Воронежский государственный технический университет" Способ тестирования оперативных запоминающих устройств
US8839053B2 (en) 2010-05-27 2014-09-16 Microsoft Corporation Error correcting pointers for non-volatile storage
US8516315B2 (en) 2010-09-03 2013-08-20 Stmicroelectronics International N.V. Testing of non stuck-at faults in memory
US9112536B2 (en) 2011-01-31 2015-08-18 Everspin Technologies, Inc. Method of reading and writing to a spin torque magnetic random access memory with error correcting code
US8589762B2 (en) 2011-07-05 2013-11-19 International Business Machines Corporation Adaptive multi-bit error correction in endurance limited memories
US8996955B2 (en) * 2011-11-16 2015-03-31 HGST Netherlands B.V. Techniques for storing data in stuck and unstable memory cells
US9235465B2 (en) * 2012-06-06 2016-01-12 University of Pittsburgh—of the Commonwealth System of Higher Education Recursively determined invertible set approach to correct multiple stuck-at faults in rewritable memory
US9274884B2 (en) * 2012-10-10 2016-03-01 HGST Netherlands B.V. Encoding and decoding data to accommodate memory cells having stuck-at faults
US9070483B2 (en) 2012-10-10 2015-06-30 HGST Netherlands B.V. Encoding and decoding redundant bits to accommodate memory cells having stuck-at faults
US8812934B2 (en) 2012-12-12 2014-08-19 HGST Netherlands B.V. Techniques for storing bits in memory cells having stuck-at faults

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447234A (zh) * 2007-11-27 2009-06-03 旺宏电子股份有限公司 存储器模块及其写入及读取方法

Also Published As

Publication number Publication date
EP3428922A1 (en) 2019-01-16
WO2015074514A4 (zh) 2015-11-05
EP3073492B1 (en) 2018-05-30
CN108196799A (zh) 2018-06-22
CN104658608A (zh) 2015-05-27
US10789012B2 (en) 2020-09-29
US20160266847A1 (en) 2016-09-15
CN108196799B (zh) 2021-03-30
EP3073492A4 (en) 2016-12-21
RU2640294C1 (ru) 2017-12-27
US20180143787A1 (en) 2018-05-24
EP3428922B1 (en) 2020-06-03
US9898228B2 (en) 2018-02-20
EP3073492A1 (en) 2016-09-28
KR101810029B1 (ko) 2017-12-18
JP6236720B2 (ja) 2017-11-29
WO2015074514A1 (zh) 2015-05-28
KR20160085320A (ko) 2016-07-15
JP2017501483A (ja) 2017-01-12

Similar Documents

Publication Publication Date Title
CN102208210B (zh) 闪存设备及其数据存储方法
CN102282544B (zh) 存储系统
CN104658608B (zh) 存储设备的写入方法及写入装置
CN103176913B (zh) 硬盘动态映射方法与应用其的服务器
CN101625673B (zh) 一种二维网格片上网络的任务映射方法
CN108062235A (zh) 数据处理方法及装置
CN110277131A (zh) 基于nand flash存储器的校验方法、终端设备及存储介质
CN103605478A (zh) 存储地址标示、配置方法和数据存取方法及系统
CN116959540A (zh) 具有写掩码的数据校验系统
CN106708445A (zh) 链路选择方法及装置
CN106878128A (zh) 一种标识符接收滤波器的配置方法及装置
CN114330212B (zh) 芯片管脚的排布方法、装置、计算机设备及存储介质
CN105939218A (zh) 网络流量的统计方法及装置
CN105760310A (zh) 地址分配方法及ddr控制器
CN1189822C (zh) 一种异常逻辑业务仿真测试装置
CN105335747A (zh) 一种数据处理方法及电子设备
CN104298596A (zh) 一种测试方案随机分配方法、装置及服务器
CN109614528A (zh) 一种跳线图形化管理方法
CN110471791A (zh) 一种对闪存的坏块信息的存储方法和装置以及设备
CN105243807A (zh) 一种数据传输系统及方法
CN107908502A (zh) 一种基于大型系统拓扑结构的容错节点分配方法
CN110391929A (zh) 一种容错控制方法、装置及容错构件
CN110364207A (zh) 解码方法以及储存控制器
CN109150198A (zh) 一种极化码的交织处理方法及装置
CN108023663B (zh) 一种基于可配置删余表的删余方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant