WO2015074514A1 - 存储设备的写入方法及写入装置 - Google Patents
存储设备的写入方法及写入装置 Download PDFInfo
- Publication number
- WO2015074514A1 WO2015074514A1 PCT/CN2014/091069 CN2014091069W WO2015074514A1 WO 2015074514 A1 WO2015074514 A1 WO 2015074514A1 CN 2014091069 W CN2014091069 W CN 2014091069W WO 2015074514 A1 WO2015074514 A1 WO 2015074514A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bits
- group
- fault
- bit
- written
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 239000007787 solid Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 101100049754 Archaeoglobus fulgidus (strain ATCC 49558 / DSM 4304 / JCM 9628 / NBRC 100126 / VC-16) wtpB gene Proteins 0.000 description 4
- 101100457845 Azotobacter vinelandii modA gene Proteins 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 101150033385 modB gene Proteins 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0035—Evaluating degradation, retention or wearout, e.g. by counting writing cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/41—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 static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- 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
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Definitions
- Embodiments of the present invention relate to the field of computer storage, and more particularly, to a writing method and a writing device of a storage device.
- the resistive memory device stores information of "0" and "1", respectively, through different impedance states of the medium.
- most impedance storage devices have problems with write life, and frequent write operations can result in stuck-at faults.
- the Hamming code-based multi-bit error correction mechanism in the existing memory system can be used to correct such stuck-at faults, but the Hamming code-based multi-bit error correction mechanism is write-intensive and will aggravate the system's stuck. -at fault occurred.
- Embodiments of the present invention provide a method for writing a storage device, which can solve the problem of a write error of a storage device in which a fixed type of failure occurs.
- a write method of a storage device includes: acquiring n values to be written; determining n bits corresponding to the n values to be written, and The information of the fixed type fault included in the n bits, the information of the fixed type fault includes a position of the fixed type fault in the n bits and a value of a bit in which the fixed type fault is located; Dividing the n bits into B sets of bits such that the B sets of bits satisfy a grouping condition and such that when the n bits are represented as a two-dimensional array of B rows and A columns, the n Any two bits belonging to the same group in the same bit are different in row and different columns, or any two bits belonging to the same group of the n bits are in the same row.
- the grouping condition is for defining a fixed type fault included in each of the group B bits; according to the information of the fixed type fault included in each of the group B bits and The bit corresponding to the fixed fault The value to be written, the n value corresponding to the written, to the n bits, wherein, n, A and B are positive integers, n ⁇ A ⁇ B.
- the dividing the n bits into B groups of bits, so that the B group of bits meet a grouping condition includes: using the n bits
- the bits are divided into B sets of bits such that when the n bits are represented as a two-dimensional array of the B rows and A columns, the jth bit of the i th group of the B sets of bits
- the value of k is such that the B sets of bits satisfy the grouping condition, wherein p i,j is the jth bit of the i th group of bits in the B set of bits in the two-dimensional array
- the number of columns, q i,j is the number of rows of the j-th bit of the i-th bit in the B-group of bits in the two
- the grouping condition includes: each of the group B bits includes no more than one fixed type of fault.
- the grouping condition includes: a fixed type included in each group of the B group of bits
- the type of the fault is the same, and the type of the fixed fault includes a positive fixed fault or a reverse fixed fault, and the positive fixed fault is a value of the first bit where the fixed fault is located and the first bit Corresponding values to be written are equal, and the value of the second bit in which the inverse type fault is located in the fixed type of fault is opposite to the value to be written corresponding to the second bit.
- the fixed fault included according to each of the B groups of bits The information and the value to be written corresponding to the bit in which the fixed type of fault is located, and the n values to be written are correspondingly written into the n bits, including: according to the B group of bits The information of the fixed type fault included in each group of bits and the value to be written corresponding to the bit where the fixed type of fault is located, determining the fixedness of each group of bits in the group B bits Type of a type of fault; correspondingly writing the n values to be written to the n according to the type of fixed fault included in each of the B group of bits and the set of B bits Bits.
- the fixed type included according to each of the B group of bits and the B group of bits The type of the fault, the n values to be written are correspondingly written into the n bits, including: when the type ith of the B group of bits contains a fixed type of fault is anti-fixed In the case of a type fault, the value to be written corresponding to the ith group of bits is correspondingly written in the ith group of bits, where i is a positive integer not greater than B.
- the fixed type included according to each of the B group of bits and the B group of bits The type of the fault, the n values to be written are correspondingly written into the n bits, including: assigning an identifier bit m i to the i-th bit in the B group of bits, the mi a type for indicating a fixed type of fault included in an ith group of bits of the B group of bits; according to the flag bit m i , a value to be written corresponding to the ith group of bits is correspondingly written The ith group of bits is entered, where i is a positive integer not greater than B.
- the value corresponding to the ith group of bits corresponding to the written bit is corresponding to the identifier bit m i
- a second aspect provides a writing device of a storage device, the writing device comprising: an obtaining unit, configured to acquire n values that need to be written; and a first determining unit, configured to determine that the writing needs to be performed n bits corresponding to n values, and information of the fixed type faults contained in the n bits, the information of the fixed type faults including the position of the fixed type of faults in the n bits a value of a bit in which the fixed type of failure is located; a grouping unit for dividing the n bits into B groups of bits such that the group B bits satisfy a grouping condition and such that when the n When a bit is represented as a two-dimensional array of B rows and A columns, any two of the n bits belonging to the same group are different in row and different columns, or in the n bits The same is true for any two bits belonging to the same group, the grouping condition is used to define a fixed type of fault included in each of the group B bits; the writing unit is used to Each group of bits in the B group of
- the grouping unit is specifically configured to:
- the grouping condition is: a fixed part of each group of the B group of bits The number of types of faults does not exceed one.
- the grouping condition is: a fixed one of each group of the B group of bits
- the type of the type of fault is the same
- the type of the fixed type of fault includes a positive fixed type fault or a reverse fixed type fault
- the positive fixed type fault is a value of the first bit where the fixed type fault is located and the first bit
- the values corresponding to the bits to be written are equal
- the value of the second bit in which the inverse type of the fault is located is opposite to the value to be written corresponding to the second bit.
- the writing unit includes: a second determining unit, configured to perform, according to the B group of bits Each set of bits in the bit contains information of a fixed type of fault and a value to be written corresponding to a bit in which the fixed type of fault is located, and determines each set of bits included in the group B of bits a type of fixed type of failure; a first writing unit, configured to write the required type according to a type of fixed type fault included in each of the group B bit and the group B bit n The values correspond to the n bits.
- the first writing unit is specifically configured to: when the ith group of the B group of bits When the type of the fixed type fault included is an anti-fixed type fault, the value to be written corresponding to the ith group of bits is correspondingly written in the ith group of bits, wherein i is not greater than A positive integer of B.
- the writing unit further includes an allocating unit, where the allocation unit is configured to be in the B group of bits the i-th group allocation flag bits i m, i m for the stuck-at fault type in the i-th group of bits B group contains bits representation; the first write unit, particularly with And according to the identifier bit m i , the value to be written corresponding to the ith group of bits is correspondingly written into the ith group of bits, where i is a positive integer not greater than B.
- the type of fault is an anti-fixed fault.
- the n bits are divided into B groups, and the information needs to be written according to the information of the fixed fault in each group of the B group.
- the value is written corresponding to n bits, and thus it is possible to effectively prevent a write error caused by a fixed type failure in the resistive memory device.
- FIG. 1 is a flow chart of a method of writing a memory device in accordance with an embodiment of the present invention.
- FIG. 2 is a flow chart of a method of writing a memory device according to another embodiment of the present invention.
- FIG. 3 is a flow chart of a method of writing a memory device according to another embodiment of the present invention.
- FIG. 4 is a schematic diagram of a specific example of a writing method of a storage device according to another embodiment of the present invention.
- Figure 5 is a block diagram of a writing device of a memory device in accordance with one embodiment of the present invention.
- Figure 6 is a block diagram of a writing device of a memory device in accordance with one embodiment of the present invention.
- FIG. 1 is a flow chart of a method of writing a memory device in accordance with an embodiment of the present invention.
- the writing method shown in Figure 1 includes:
- n bits Divide the n bits into B groups of bits such that the B groups of bits satisfy a grouping condition, and when the n bits are represented as a two-dimensional array of B rows and A columns, the n bits Any two bits belonging to the same group in the bit are in different rows and different columns, or the rows of any two bits belonging to the same group of the n bits are the same.
- a fixed type of fault contained in each of the set of B bits is defined.
- n A and B are positive integers, n ⁇ A ⁇ B.
- the n bits are divided into B groups, and the information needs to be written according to the information of the fixed fault in each group of the B group.
- the value is written corresponding to n bits, and thus it is possible to effectively prevent a write error caused by a fixed type failure in the resistive memory device.
- the n bits are the positions at which n values in step 101 need to be correspondingly written. And while determining n bits, the information of the fixed type fault included in the n bits can also be determined.
- the information of the fixed type of failure may include the number of fixed type faults included in n bits, the position of the fixed type of fault in n bits, and the value of the bit in which the fixed type of fault is located.
- n bits determined in step 102 may be sequentially numbered 1 through n, which may also be understood as the position number of n bits.
- n bits are first initially grouped.
- the initial grouping may be: dividing n bits in turn to divide each A bit into groups, such that the initial packet divides n bits into B groups of bits, wherein the first B-1 group bits of the B group of bits
- Each set of bits contains A bits, and the B-th bit, that is, the last set of bits, contains nA x (B-1) bits.
- the n bits are divided into B groups of bits, such that when the n bits are represented as a two-dimensional array of B rows and A columns, the B groups of bits
- the value of k can be adjusted such that the B group of bits satisfies the grouping condition.
- p i,j is the number of columns of the jth bit of the i th group of bits in the B group of bits in the two-dimensional array
- q i,j is the i-th bit of the B group of bits
- the number of rows of the jth bit in the two-dimensional array, i and q i,j are positive integers not greater than B, j and p i,j are positive integers not greater than A, and k is a non-negative integer less than B
- the adjusting the value of the k includes increasing the value of k by 1, and B is not less than Minimum number of primes, and
- the n bits may correspond to the two-dimensional array according to the initial grouping.
- k corresponding to the initial packet may also be other integers smaller than B, such as 1, or 2, or B-1, and the like.
- the invention is not limited thereto.
- the n bits are divided into B groups of bits such that two adjacent bits in each of the B groups of bits are in the n bits.
- the difference between the position numbers in the middle is k ⁇ A + 1, or it can be said that the bits of the interval x k ⁇ A + 1 among the n bits are located in the same group.
- the next bit of the nth bit of n bits can be considered as the first bit of n bits, or it can be considered that n bits are connected end to end. Looped, grouped by interval.
- n+1th bit to the A ⁇ B bit position is empty, and the next bit of the nth bit of the n bits is empty n+1th
- the bit, the next bit of the A ⁇ B bit is the first bit of n bits, or it may be considered that A ⁇ B bits are connected end to end in a ring shape and grouped at intervals.
- n bits are divided into B groups of bits, so that when n bits are mapped to n data points in the two-dimensional Cartesian coordinate system, Two data points corresponding to any two bits of the same group have the same ordinate in the two-dimensional Cartesian coordinate system, or two data points corresponding to any two bits belonging to the same group, in two-dimensional flute
- the abscissa in the Carl coordinate system is different and the ordinate is also different.
- multiple lines with equal slopes can be made, and all data points on the same line belong to the same group.
- the slope of the plurality of straight lines is k.
- the correspondence between the n bits and the n data points in the two-dimensional Cartesian coordinate system can be referred to the correspondence between the n bits and the points in the two-dimensional array.
- two-dimensional Descartes sits
- the k corresponding to the initial group may also be another integer of B-1, which is not limited in the present invention.
- k the position interval of two adjacent bits in the same group in n bits is k ⁇ A+1. It can also be understood as the difference between the rows of two adjacent bits in the same group in the two-dimensional array. It can also be understood as the slope of the line in which the bits in the same group are located in a two-dimensional Cartesian coordinate system.
- the new packet can be determined by adjusting the value of k.
- the value of k is adjusted, and the value of k may be increased by 1, for example, from 0 to 1, from 1 to 2, and so on. Where k ranges from 0 to B integers between B and 1.
- the grouping condition in step 103 may be a first grouping condition: each group of the B group of bits includes no more than one fixed type of fault.
- the grouping condition in step 103 may be a second grouping condition: each group of the B group of bits includes the same type of fixed fault, and the type of the fixed fault Including positive fixed type and anti-fixed type faults, the positive fixed type fault is that the value of the first bit where the fixed type fault is located is equal to the value that needs to be written corresponding to the first bit, and the fixed type fault is a fixed type fault. The value of the second bit is opposite to the value that needs to be written corresponding to the second bit.
- the number of fixed faults included in the same group is zero or one.
- the number of fixed faults included in the same group may be zero or one or more.
- step 104 information about a fixed type of fault included in each group of bits in the B group of bits and a write corresponding to a bit in which the fixed type of fault is located are required to be written.
- the value entered determines the type of fixed fault included in each of the B bits.
- n values to be written are correspondingly written to n bits according to the type of fixed type fault included in each of the B group of bits and the B group of bits.
- the type of the fixed type fault included in the ith group of the B group bits is an anti-fixed type fault
- the value to be written corresponding to the ith group of bits may be inverted and then written.
- the ith group of bits where i is a positive integer not greater than B.
- i is a positive integer not greater than B.
- a group of bits can be assigned a vector m having B components, the ith component of the vector corresponding to the identification bit m i of the ith group of bits in the B group of bits. And it can be set that the initial value of the vector m is 0.
- the corresponding identifier position of the group is 1. At the time of writing, for the group whose flag bit is 1, the value to be written corresponding to the group is inversely written.
- the specific manner of writing is not limited.
- writing can be performed based on the determined packet.
- the value to be written corresponding to the first group of bits in the determined packet may be first written, and the value to be written corresponding to the second group of bits in the determined packet may be written to In this way, the writing of n values of the B group bits is completed.
- it may be written in the order of the position numbers of n bits or in reverse order.
- the group in which the first bit of the n bits is located may be determined first, and the identifier corresponding to the group in which the first bit is located is written, and then the second bit of the n bits is determined.
- the determined number of groups of packets is fixed, that is, for n bits, the number of groups of the packets remains unchanged in the B group.
- the value of k is B integers from 0 to B-1, and the maximum number of times k is determined to be a packet is B times. In this way, the efficiency of the grouping can be guaranteed.
- this grouping method is relatively simple to implement.
- FIG. 2 is a flow chart of a method of writing a memory device according to another embodiment of the present invention.
- the writing method shown in Figure 2 includes:
- n bits can be initially divided into B groups of bits, and each of the first B-1 group bits includes A bits, and the B group bits include nA ⁇ (B-1) bits. Bit. For example, the first bit to the Ath bit of the n bits are divided into the first group, the A+1th bit to the 2Ath bit are divided into the second group, and so on.
- the description of k is as described above, and to avoid repetition, it will not be described again here.
- k corresponding to the initial group may also be other integers of B-1, which is not limited by the present invention.
- step 204 Determine whether the packet satisfies the first grouping condition. When not satisfied, step 205 is performed; when satisfied, step 206 is performed.
- step 202 if it is judged in step 202 that the number of occurrences of fixed faults among the n bits is greater than B, then grouping by this method makes it impossible to satisfy the first grouping condition. Or, on the other hand, when it is determined in step 204 that the first grouping condition is not satisfied, step 205 is performed. When k is increased from 0 to B-1, the grouping of k at any of the B values does not satisfy the first grouping condition.
- the value of 205,k is increased by 1, and the grouping is performed again.
- the value of k is increased by 1, and the manner of re-determining the packet is as described above. To avoid repetition, it will not be repeated here.
- the value of the bit where the fixed type of fault occurs is compared with the value of the bit that needs to be written on the bit to determine the type of the fixed type of fault.
- the type of the fixed type of failure is a positive fixed type of failure.
- the type of the fixed type of failure is an anti-fixed type of failure.
- the identification bit of the group in which it is located can be assigned to 1, and the type of the group that does not include the fixed type of fault and the type of the fixed type fault are those in which the fixed type fault is located.
- the group's flag is assigned a value of 0.
- the group whose flag bit is 1 is correspondingly written in reverse.
- the group whose flag bit is 0 is normally written normally.
- the n bits are divided into B groups, and the information needs to be written according to the information of the fixed fault in each group of the B group.
- the value is written corresponding to n bits, and thus it is possible to effectively prevent a write error caused by a fixed type failure in the resistive memory device.
- FIG. 3 is a flow chart of a method of writing a memory device according to another embodiment of the present invention.
- the writing method shown in FIG. 3 includes:
- the value of the bit where the fixed type of fault occurs is compared with the value of the bit that needs to be written on the bit to determine the type of the fixed type of fault.
- the type of the fixed type of failure is a positive fixed type of failure.
- the type of the fixed type of failure is an anti-fixed type of failure.
- n bits can be initially divided into B groups of bits, and each of the first B-1 group bits includes A bits, and the B group bits include nA ⁇ (B-1) Bits.
- the first bit to the Ath bit of the n bits are divided into the first group, the A+1th bit to the 2Ath bit are divided into the second group, and so on.
- the description of k is as described above, and to avoid repetition, it will not be described again here.
- k corresponding to the initial group may also be other integers of B-1, which is not limited by the present invention.
- step 304 Determine whether the packet satisfies the second grouping condition. When not satisfied, step 305 is performed; when satisfied, step 306 is performed.
- k takes a value of 1, and re-groups.
- the n bits are divided into B groups, and the information needs to be written according to the information of the fixed fault in each group of the B group.
- the value is written corresponding to n bits, and thus it is possible to effectively prevent a write error caused by a fixed type failure in the resistive memory device.
- FIG. 4 is a schematic diagram of a specific example of a writing method of a storage device according to another embodiment of the present invention.
- Each of the 32 bits of the behavior shown in Figure 4 is a value.
- the broken line in Fig. 4 indicates the position at which a fixed type of failure occurs.
- n 32 bits.
- the value of the 32 bits is shown in the first line in Figure 4: before n values are written.
- the position where the 32 bits are located is sequentially numbered from 1 to 32, and the position numbers and corresponding values of the 32 bits are as shown in Table 1. Among them, the position number of the stack-at fault in the 32 bits is 7, 9, 16, 17, 27.
- the position number refers to the sequence number generated by sequentially numbering the n bits of the data block.
- n values to be written The 32 position numbers and the corresponding 32 values to be written are shown in Table 2.
- the two-dimensional array shown in Table 3 is a position number corresponding to the numerical value shown in Table 1.
- one row of the two-dimensional value represents a group, that is, the rows of any two bits belonging to the same group are the same.
- the embodiment of the present invention imaginarily supplements the position numbers 33, 34, 35 in Table 3.
- the imaginary position number is 33, 34, and the bit of the bit is empty.
- Table 3 is only a schematic description, and is not a unique representation of the 32-position number sequence represented as a two-dimensional array of 7 rows and 5 columns.
- the invention is not limited thereto.
- each of the grouping methods includes five position numbers.
- the 32 position numbers are divided into 7 groups. From the first point of view, this grouping can be understood as: the position of the jth position number of the i-th group in the 7 groups in the two-dimensional array (q i,j ,p i,j ) satisfies:
- q i,j is the number of rows of the jth position number of the i-th group in the 7 groups in the two-dimensional array
- p i,j is the j-th position number of the i-th group in the 7 groups The number of columns in the two-dimensional array.
- the position in the two-dimensional array refers to the position information of the rows and columns in the two-dimensional array.
- this grouping method is that the difference between the position numbers of two adjacent ones in each group is 1. That is to say, the position number of the adjacent two in each group has an interval of 1. And, the interval may correspond to k ⁇ A+1 of the first angle.
- this grouping method is: when n bits are mapped to n data points in the two-dimensional Cartesian coordinate system, any two bits belonging to the same group correspond to The two data points have the same ordinate in the two-dimensional Cartesian coordinate system.
- the 32 data points corresponding to the 32 bits are located on the 7 straight lines in the two-dimensional Cartesian coordinate system, and the data points on each straight line are located in the same group. And the slope of these 7 straight lines is 0. Also, the slope of the line may correspond to k of the first angle.
- the grouping condition may be a first grouping condition: the number of fixed type faults included in each group is no more than one.
- the position numbers of the fixed faults among the 32 bits shown in Table 1 are 7, 9, 16, 17, 27. Referring to Table 3, it can be found that the position numbers of the fixed type faults are 7 and 9 are located in the second group, and the position numbers of the fixed type faults are 16 and 17 are located in the fourth group. That is, in the above-mentioned grouping, the number of fixed type faults included in the second group and the fourth group exceeds one, and the first grouping condition is not satisfied. In this case, the above packet mode needs to be adjusted, and the 32 bits are re-grouped.
- the new grouping manner is: the corresponding position number of the first group is 1, 7, 13, 19, 25; the corresponding position number of the second group is 6, 12, 18, 24, 30; the corresponding position of the third group
- the serial numbers are 11, 17, 23, 29, ⁇ ; the corresponding position numbers of the fourth group are 16, 22, 28, ⁇ , 5; the corresponding position numbers of the fifth group are 21, 27, ⁇ , 4, 10;
- the corresponding position numbers of the group are 26, 32, 3, 9, and 15; the corresponding position numbers of the seventh group are 31, 2, 8, 14, and 20.
- ⁇ , ⁇ , and ⁇ indicate null, and sequentially represent the imaginary position numbers 33, 34, and 35 in Table 3.
- this new grouping method is that the difference between the position numbers of two adjacent ones in each group is 6. That is to say, the position number of the adjacent two in each group has an interval of 6. And, the interval may correspond to k ⁇ A+1 of the first angle.
- the fourth group in the new group as an example, the interval between the two of the first three position numbers 16, 22, 28 of the fourth group is 6, and the fourth position number ⁇ represents the hypothesis.
- the position number 34, and the interval between 34 and 28 is 6, and the fifth position number 5 can be understood as: the next position number of 35 is 1, that is, it can be assumed that the position numbers from 1 to 35 are arranged in a head-to-tail phase.
- the ring is connected so that the next position number with the interval of 6 is 34.
- the five fingers include the case of the imaginary position number, and the fifth one in the fourth group has been determined as the position number 5, so The fourth group of grouping methods can be determined.
- the position numbers in other groups corresponding to the second angle described above can be similarly understood. To avoid repetition, details are not described herein again.
- the new packet satisfies the first grouping condition.
- the position numbers of the fixed faults among the 32 bits shown in Table 1 are 7, 9, 16, 17, 27.
- the location numbers of the fixed faults are 7, 9, 16, 17, and 27 located in the first group, the sixth group, the fourth group, the third group, and the new group respectively.
- the fifth group That is to say, the new grouping method satisfies the first grouping condition: no more than one fixed type of fault is included in each group. Thereby, it is determined that the 7 groups satisfying the grouping condition are the new packet.
- k may be incremented by one to obtain another new packet, and it is further determined whether the other new packet satisfies the first packet condition.
- the grouping condition may be a second grouping condition: in each group
- the types of fixed faults included are the same.
- the types of fixed faults include positive fixed faults or reverse fixed faults.
- Positive fixed faults are the values of the first bit where the fixed fault is located and the first bit needs to be written.
- the values entered are equal, and the value of the second bit where the anti-fixed fault is the fixed fault is the opposite of the value that needs to be written on the second bit.
- the position numbers of the fixed faults among the 32 bits shown in Table 1 are 7, 9, 16, 17, 27. Referring to Table 1 and Table 2, it can be seen that the value in the bit position number 7 in Table 1 is "0", which is equal to the value "0" to be written at the position in Table 2, so the position number is fixed at 7.
- the type of fault is a positive fixed fault.
- the type of fixed type fault with position number 9 is a positive fixed type fault
- the type of fixed type fault with position number 16 is an anti-fixed type fault
- the type of fixed type fault with position number 17 is positive fixed type.
- Type fault the type of fixed fault with position number 27 is anti-fixed fault.
- the positions numbers 7 and 9 belong to the second group
- the types of the fixed type faults of the position numbers 7 and 9 are positive fixed type faults, and the second grouping condition is satisfied.
- the location numbers 16 and 17 belong to the fourth group, but the types of fixed faults with position numbers 7 and 9 are different, and the second grouping condition is not satisfied. Therefore, at this time, it is also necessary to adjust the above-described grouping method, and re-group the 32 bits.
- the method for determining the re-grouping is similar to the method for re-grouping according to the foregoing determination according to the first grouping condition. To avoid repetition, details are not described herein again. It can be seen from the foregoing analysis that the new grouping method is: the corresponding position number of the first group is 1, 7, 13, 19, 25; the corresponding position number of the second group is 6, 12, 18, 24, 30; the third group The corresponding position numbers are 11, 17, 23, 29, ⁇ ; the corresponding position numbers of the fourth group are 16, 22, 28, ⁇ , 5; the corresponding position numbers of the fifth group are 21, 27, ⁇ , 4, 10 The corresponding position numbers of the sixth group are 26, 32, 3, 9, and 15; the corresponding position numbers of the seventh group are 31, 2, 8, 14, and 20. Among them, ⁇ , ⁇ , and ⁇ indicate null, and sequentially represent the imaginary position numbers 33, 34, and 35 in Table 3.
- the new packet satisfies the second grouping condition.
- the position numbers of the fixed faults among the 32 bits shown in Table 1 are 7, 9, 16, 17, 27.
- the location numbers of the fixed faults are 7, 9, 16, 17, and 27 respectively located in the new grouping.
- the first group, the sixth group, the fourth group, the third group and the fifth group are the same. Thereby, it is determined that the 7 groups satisfying the grouping condition are the new packet.
- k may be incremented by one to obtain another new packet, and it is further determined whether the other new packet satisfies the second packet condition.
- the grouping manner determined according to the first grouping condition and the grouping manner determined according to the second grouping condition are independent of each other.
- the grouping method determined by the two grouping conditions may be the same or different.
- 32 values to be written in Table 2 are correspondingly written into the 32 bits of Table 1 according to the information of the fixed type failure included in each group of the new packet.
- the information of the fixed fault here includes the position number of the fixed fault and the type of the fixed fault.
- the type of the fixed type of fault included in each group is first. Since the position numbers of the fixed type faults are 7, 9, 16, 17, 27 are respectively located in the first group, the sixth group, the fourth group, the third group, and the fifth group in the new group. Combined with the analysis of Tables 1 and 2, it can be seen that the types of fixed faults with position numbers 7, 9 and 17 are positive fixed faults, and the types of fixed faults with position numbers 16 and 27 are reverse fixed faults. The values to be written in the group in which the anti-fixed type fault is located, the fourth group and the fifth group are written in reverse; the values to be written corresponding to the other groups are normally written. The value of the 32 bits after writing is shown in the third line in Figure 4: after n values are written. Thus, the 32 position numbers after completion of writing and the corresponding written values can be as shown in Table 5.
- each group of the new packet may be assigned an identification bit m i , i representing an ith group in the 7 group, and i is a positive integer not greater than 7.
- the seven groups have seven flag bits, which are used to indicate the type of fixed faults included in the group. For example, 0 can be used to indicate a positive fixed type fault, and 1 can be used to indicate a reverse fixed type fault.
- the identifier bits corresponding to the new packet are 0001100 in order.
- writing can be performed according to the identifier bits corresponding to each group. Specifically, when the identification bit of a certain group is 1, the value corresponding to the group to be written is reversed; when the identification bit of a certain group is 0, the corresponding record corresponding to the group is required to be written. The value is normally written.
- the flag bit may be a vector m having B components whose i-th component corresponds to the flag bit m i of the i-th bit bit in the B group of bits. And you can set the initial value of this vector to be 0. Where i is a positive integer not greater than B.
- the specific manner of writing is not limited. Alternatively, writing can be performed based on the determined packet. For example, if the location number of the first group is 1, 7, 13, 19, 25, and the type of fixed fault included in the first group is a positive fixed fault, or the identifier of the first group is 0, then The values corresponding to the position numbers 1, 7, 13, 19, 25 are normally written. The writing is then completed in the order of the second to seventh groups. Alternatively, it may be written in the order of the position number.
- location number 1 For example, for location number 1, first determine that the group in which it is located is the first group, and the type of the fixed type fault included in the first group is a positive fixed type fault, or the flag of the first group is 0, then The value corresponding to the position number 1 is normally written. After that, for the position number 2, it is first determined that the group in which it is located is the seventh group, and the seventh group does not include a fixed type fault, or the flag of the first group is 0, the value corresponding to the position number 2 is normal. Write. The writing is then completed in the order of position numbers 3 to 32. Or can also be rooted Write according to the position number in reverse order. It is also possible to complete the writing in other ways. Those skilled in the art will appreciate that writing in other ways is still within the scope of embodiments of the present invention.
- the types of fixed faults included in the fourth group and the fifth group in the new group are inverse fixed type faults
- Other types of fixed faults included in the other groups are positive fixed faults or do not contain fixed faults.
- the value to be written corresponding to the group in which the anti-fixed type fault is located is reverse-written; the value to be written corresponding to the other group is normally written.
- the value of the 32 bits after completion of writing can be as shown in Table 5.
- the identification bits corresponding to each group can also be introduced and further written according to the identification bits.
- the identifier refer to the description above for the first grouping condition. To avoid repetition, details are not described herein again.
- FIG. 5 is a block diagram of a writing device of a memory device in accordance with one embodiment of the present invention.
- the writing device 500 shown in FIG. 5 includes an acquisition unit 501, a first determination unit 502, a grouping unit 503, and a writing unit 504.
- the obtaining unit 501 is configured to acquire n values that need to be written.
- a first determining unit 502 configured to determine n bits corresponding to the n values to be written, and information of the fixed fault included in the n bits, where the information of the fixed fault includes the fixed fault The position in the n bits and the value of the bit in which the fixed type of fault is located.
- a grouping unit 503 configured to divide the n bits into B groups of bits such that the B groups of bits satisfy a grouping condition, and when the n bits are represented as a two-dimensional array of B rows and A columns, Any two of the n bits belonging to the same group are different in row and different columns, or any of the n bits belonging to the same group are in the same row,
- the grouping condition is used to define a fixed type of fault contained in each of the set of B bits.
- the writing unit 504 is configured to: according to the information of the fixed type fault included in each group of the B group of bits and the value to be written corresponding to the bit where the fixed type of the fault is located, The n values to be written correspond to the n bits,
- n A and B are positive integers, n ⁇ A ⁇ B.
- the n bits are divided into B groups, and the information that needs to be written may be written according to the information of the fixed fault in each group of the B group.
- the value is written in n bits, and the writing error caused by the fixed type failure in the resistive memory device can be effectively prevented.
- p i,j is the number of columns of the jth bit of the i th group of bits in the B group of bits in the two dimensional array
- q i,j is the i th group of the B group of bits
- the number of rows of the jth bit of the bit in the two-dimensional array, i and q i,j are positive integers not greater than B
- j and p i,j are positive integers not greater than A
- k is less than B
- the value of the adjustment k includes the value of k increasing by 1, and B being not less than Minimum prime number
- the grouping condition is that each of the group B bits includes no more than one fixed type of fault.
- the grouping condition is: each of the B groups of bits includes the same type of fixed fault, and the type of the fixed fault includes a positive fixed fault or an inverse fixed type.
- the positive fixed fault is that the value of the first bit where the fixed fault is located is equal to the value to be written corresponding to the first bit
- the inverse fixed fault is the second bit of the fixed fault The value of the bit is opposite to the value of the second bit that needs to be written.
- the writing unit 504 includes a second determining unit 505 and a first a writing unit 506, wherein the second determining unit 505 is configured to: according to the information of the fixed type fault included in each of the group B bits, and the value to be written corresponding to the bit where the fixed type fault is located, A type of fixed type of fault included in each of the set of B bits is determined.
- the first writing unit 506 is configured to write the n values to be written into the n according to the type of the fixed type fault included in each of the B group of bits and the B group of bits. Bit.
- the first writing unit 506 is specifically configured to: when the type of the fixed type fault included in the ith group of the B group of bits is an anti-fixed type fault, The value to be written corresponding to the ith group of bits is correspondingly written in the ith group of bits, where i is a positive integer not greater than B.
- the writing unit 504 further includes an allocating unit 507, configured to allocate an identifier bit m i for the i-th group of the B group of bits, where the mi is used to represent The type of fixed fault included in the i-th bit of the B sets of bits.
- the first writing unit 506 is specifically configured to write, according to the identifier m i , a value to be written corresponding to the ith group bit to the ith group bit. Where i is a positive integer not greater than B.
- the identifier bit indicates that the type of the fixed type fault included in the ith group of the group B is an anti-fixed type fault
- the value corresponding to the ith group corresponding to the write is inverted.
- the identifier bit m i 1
- the type of fixed fault included in the i-th bit of the B group of bits is an anti-fixed fault.
- the writing device 500 can implement the various processes implemented by the writing device in the embodiment of FIG. 2 to FIG. 4, and to avoid repetition, details are not described herein again.
- FIG. 6 is a block diagram of a writing device of a memory device in accordance with one embodiment of the present invention.
- the writing device 600 shown in FIG. 6 includes a processor 601, a memory 602, and a transceiver circuit 603.
- the transceiver circuit 603 is configured to acquire n values that need to be written.
- a processor 601 configured to determine n bits corresponding to the n values that need to be written, and
- the n bits contain information of a fixed type of fault, and the information of the fixed type of fault includes a position of the fixed type of fault in the n bits and a value of a bit in which the fixed type of fault is located.
- n bits are written, where n, A, and B are positive integers, n ⁇ A ⁇ B.
- the n bits are divided into B groups, and the information that needs to be written may be written according to the information of the fixed fault in each group of the B group.
- the value is written in n bits, and the writing error caused by the fixed type failure in the resistive memory device can be effectively prevented.
- bus system 604 which in addition to the data bus includes a power bus, a control bus, and a status signal bus.
- bus system 604 various buses are labeled as bus system 604 in FIG.
- Processor 601 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 601 or an instruction in a form of software.
- the processor 601 may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or the like. Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA Field Programmable Gate Array
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like. Knot The steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read only memory or an electrically erasable programmable memory, a register, etc. In the storage medium.
- the storage medium is located in the memory 602, and the processor 601 reads the information in the memory 602 and completes the steps of the above method in combination with its hardware.
- p i,j is the number of columns of the jth bit of the i th group of bits in the B group of bits in the two dimensional array
- q i,j is the i th group of the B group of bits
- the number of rows of the jth bit of the bit in the two-dimensional array, i and q i,j are positive integers not greater than B
- j and p i,j are positive integers not greater than A
- k is less than B
- the value of the adjustment k includes the value of k increasing by 1, and B being not less than Minimum prime number
- the grouping condition is that each of the group B bits includes no more than one fixed type of fault.
- each group of the B group of bits includes the same type of fixed fault, and the type of the fixed fault includes a positive fixed fault or an inverse fixed fault.
- the positive fixed type fault is that the value of the first bit where the fixed type fault is located is equal to the value to be written corresponding to the first bit
- the inverse fixed type fault is the second bit of the fixed type fault. The value of the second bit is opposite to the value to be written corresponding to the second bit.
- the processor 601 is specifically configured to: according to the B group of bits Each set of bits contains information of a fixed type of fault and a value to be written corresponding to a bit in which the fixed type of fault is located, and determines a fixed type of fault included in each of the set of bits of the group B of bits Types of. And according to the type of the fixed type fault included in the B group of bits and each of the B groups of bits, the n values to be written are correspondingly written into the n bits.
- the processor 601 is configured to: when the type of the fixed type fault included in the ith group of the B group of bits is an anti-fixed type fault, The value corresponding to the bit to be written is correspondingly written in the ith group of bits, where i is a positive integer not greater than B.
- the processor 601 is specifically configured to: allocate an identifier bit m i for the i-th group of the B group of bits, where the mi is used to represent the first of the B groups of bits The type of the fixed type of fault included in the i group of bits; according to the flag m i , the value to be written corresponding to the ith group of bits is correspondingly written to the ith group of bits.
- i is a positive integer not greater than B.
- the identifier bit indicates that the type of the fixed type fault included in the ith group of the group B is an anti-fixed type fault
- the value corresponding to the ith group corresponding to the write is inverted.
- the identifier bit m i 1
- the type of fixed fault included in the i-th bit of the B group of bits is an anti-fixed fault.
- the writing device 600 can implement the various processes implemented by the writing device in the embodiment of FIG. 2 to FIG. 4, and to avoid repetition, details are not described herein again.
- the disclosed systems, devices, and methods may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
- the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
- the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Optical Recording Or Reproduction (AREA)
Abstract
Description
1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 0 |
1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 0 |
1 | 2 | 3 | 4 | 5 |
0 | ||||
Claims (16)
- 一种存储设备的写入方法,其特征在于,所述写入方法包括:获取需要写入的n个数值;确定与所述需要写入的n个数值对应的n个比特位,以及所述n个比特位包含的固定型故障的信息,所述固定型故障的信息包括所述固定型故障在所述n个比特位中的位置和所述固定型故障所在的比特位的数值;将所述n个比特位分成B组比特位,以使得所述B组比特位满足分组条件,并且使得当将所述n个比特位表示为B行A列的二维数组时,所述n个比特位中的属于同一个组的任何两个比特位所在的行不同且所在的列不同,或者所述n个比特位中的属于同一个组的任何两个比特位所在的行相同,所述分组条件用于限定所述B组比特位中的每一组比特位包含的固定型故障;根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,其中,n、A和B为正整数,n≤A×B。
- 根据权利要求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)mod B;调整所述k的取值,使得所述B组比特位满足分组条件,
- 根据权利要求1或2所述的写入方法,其特征在于,所述分组条件包括:所述B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
- 根据权利要求1或2所述的写入方法,其特征在于,所述分组条件包括:所述B组比特位中的每一组比特位包含的固定型故障的类型相同,所述固定型故障的类型包括正固定型故障或者反固定型故障,所述正固定型故障为所述固定型故障所在的第一比特位的数值与所述第一比特位对应的需要写入的数值相等,所述反固定型故障为所述固定型故障所在的第二比特位的数值与所述第二比特位对应的需要写入的数值相反。
- 根据权利要求1至4任一项所述的写入方法,其特征在于,所述根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,将所述需要写入的n个数值对应写入所述n个比特位,包括:根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,确定所述B组比特位中的每一组比特位包含的固定型故障的类型;根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位。
- 根据权利要求5所述的写入方法,其特征在于,所述根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位,包括:当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固 定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
- 根据权利要求5所述的写入方法,其特征在于,所述根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位,包括:为所述B组比特位中的第i组比特位分配标识位mi,所述mi用于表示所述B组比特位中的第i组比特位包含的固定型故障的类型;根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,其中,i为不大于B的正整数。
- 根据权利要求7所述的写入方法,其特征在于,所述根据所述标识位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。
- 根据权利要求9所述的写入装置,其特征在于,所述分组单元,具体用于:将所述n个比特位分成B组比特位,以使得当将所述n个比特位表示为所述B行A列的二维数组时,所述B组比特位中的第i组比特位的第j个比特位在所述B行A列的二维数组中的位置满足:pi,j+1=pi,j+1,qi,j+1=(qi,j+k)mod B;调整所述k的取值,使得所述B组比特位满足分组条件,
- 根据权利要求9或10所述的写入装置,其特征在于,所述分组条件为:所述B组比特位中的每一组比特位包含的固定型故障的个数不超过一个。
- 根据权利要求9或10所述的写入装置,其特征在于,所述分组条件为:所述B组比特位中的每一组比特位包含的固定型故障的类型相同, 所述固定型故障的类型包括正固定型故障或者反固定型故障,所述正固定型故障为所述固定型故障所在的第一比特位的数值与所述第一比特位对应的需要写入的数值相等,所述反固定型故障为所述固定型故障所在的第二比特位的数值与所述第二比特位对应的需要写入的数值相反。
- 根据权利要求9至12所述的写入装置,其特征在于,所述写入单元,包括:第二确定单元,用于根据所述B组比特位中的每一组比特位包含的固定型故障的信息和与所述固定型故障所在的比特位对应的需要写入的数值,确定所述B组比特位中的每一组比特位包含的固定型故障的类型;第一写入单元,用于根据所述B组比特位和所述B组比特位中的每一组比特位包含的固定型故障的类型,将所述需要写入的n个数值对应写入所述n个比特位。
- 根据权利要求13所述的写入装置,其特征在于,所述第一写入单元,具体用于:当所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障时,将与所述第i组比特位对应的需要写入的数值对应地取反写入所述第i组比特位,其中,i为不大于B的正整数。
- 根据权利要求13所述的写入装置,其特征在于,所述写入单元,还包括分配单元,所述分配单元,用于为所述B组比特位中的第i组比特位分配标识位mi,所述mi用于表示所述B组比特位中的第i组比特位包含的固定型故障的类型;所述第一写入单元,具体用于根据所述标识位mi,将与所述第i组比特位对应的需要写入的数值对应写入所述第i组比特位,其中,i为不大于B的正整数。
- 根据权利要求15所述的写入装置,其特征在于,所述第一写入单 元,具体用于:当所述标识位mi=1时,将与所述第i组比特位对应的需要写入的数值取反写入所述第i组比特位,所述标识位mi=1表示所述B组比特位中的第i组比特位包含的固定型故障的类型为反固定型故障。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18161384.5A EP3428922B1 (en) | 2013-11-22 | 2014-11-14 | Write method and write apparatus for storage device |
RU2016124766A RU2640294C1 (ru) | 2013-11-22 | 2014-11-14 | Способ записи и записывающий аппарат для запоминающего устройства |
KR1020167015471A KR101810029B1 (ko) | 2013-11-22 | 2014-11-14 | 스토리지 장치용 기록 방법 및 기록 장치 |
EP14864332.3A EP3073492B1 (en) | 2013-11-22 | 2014-11-14 | Write method and write apparatus for storage device |
JP2016533651A JP6236720B2 (ja) | 2013-11-22 | 2014-11-14 | 記憶デバイスに対する書き込み方法および書き込み装置 |
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 (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310597968.2A CN104658608B (zh) | 2013-11-22 | 2013-11-22 | 存储设备的写入方法及写入装置 |
CN201310597968.2 | 2013-11-22 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/159,613 Continuation US9898228B2 (en) | 2013-11-22 | 2016-05-19 | Write method and write apparatus for storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2015074514A1 true WO2015074514A1 (zh) | 2015-05-28 |
WO2015074514A4 WO2015074514A4 (zh) | 2015-11-05 |
Family
ID=53178926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/091069 WO2015074514A1 (zh) | 2013-11-22 | 2014-11-14 | 存储设备的写入方法及写入装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9898228B2 (zh) |
EP (2) | EP3073492B1 (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 (3)
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 | 北京新忆科技有限公司 | 存储器的写入方法和装置 |
TWI759799B (zh) * | 2020-07-17 | 2022-04-01 | 華邦電子股份有限公司 | 用於執行深度神經網路運算的記憶體及其操作方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040199816A1 (en) * | 2003-03-19 | 2004-10-07 | International Business Machines Corporation | Test method for guaranteeing full stuck-at-fault coverage of a memory array |
CN101447234A (zh) * | 2007-11-27 | 2009-06-03 | 旺宏电子股份有限公司 | 存储器模块及其写入及读取方法 |
US20130124942A1 (en) * | 2011-11-16 | 2013-05-16 | HGST Netherlands B.V. | Techniques For Storing Data in Stuck and Unstable Memory Cells |
Family Cites Families (23)
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 |
CN1143218C (zh) * | 1999-03-03 | 2004-03-24 | 索尼公司 | 记录设备、记录方法、再现设备和再现方法 |
US6671837B1 (en) * | 2000-06-06 | 2003-12-30 | Intel Corporation | Device and method to test on-chip memory in a production environment |
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 |
EP2671155B1 (en) | 2011-01-31 | 2017-10-11 | 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 |
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 |
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 |
US9274884B2 (en) * | 2012-10-10 | 2016-03-01 | HGST Netherlands B.V. | Encoding and decoding data 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 |
-
2013
- 2013-11-22 CN CN201310597968.2A patent/CN104658608B/zh active Active
- 2013-11-22 CN CN201810109412.7A patent/CN108196799B/zh active Active
-
2014
- 2014-11-14 JP JP2016533651A patent/JP6236720B2/ja active Active
- 2014-11-14 EP EP14864332.3A patent/EP3073492B1/en active Active
- 2014-11-14 WO PCT/CN2014/091069 patent/WO2015074514A1/zh active Application Filing
- 2014-11-14 EP EP18161384.5A patent/EP3428922B1/en active Active
- 2014-11-14 RU RU2016124766A patent/RU2640294C1/ru active
- 2014-11-14 KR KR1020167015471A patent/KR101810029B1/ko active IP Right Grant
-
2016
- 2016-05-19 US US15/159,613 patent/US9898228B2/en active Active
-
2018
- 2018-01-17 US US15/873,634 patent/US10789012B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040199816A1 (en) * | 2003-03-19 | 2004-10-07 | International Business Machines Corporation | Test method for guaranteeing full stuck-at-fault coverage of a memory array |
CN101447234A (zh) * | 2007-11-27 | 2009-06-03 | 旺宏电子股份有限公司 | 存储器模块及其写入及读取方法 |
US20130124942A1 (en) * | 2011-11-16 | 2013-05-16 | HGST Netherlands B.V. | Techniques For Storing Data in Stuck and Unstable Memory Cells |
Non-Patent Citations (2)
Title |
---|
FAN, JIE ET AL.: "Aegis: Partitioning Data Block for Efficient Recovery of Stuck-at-Faults in Phase Change Memory", MICRO-46, 11 December 2013 (2013-12-11), XP058036264 * |
See also references of EP3073492A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN104658608A (zh) | 2015-05-27 |
EP3073492B1 (en) | 2018-05-30 |
US10789012B2 (en) | 2020-09-29 |
EP3073492A4 (en) | 2016-12-21 |
RU2640294C1 (ru) | 2017-12-27 |
KR20160085320A (ko) | 2016-07-15 |
KR101810029B1 (ko) | 2017-12-18 |
EP3073492A1 (en) | 2016-09-28 |
CN104658608B (zh) | 2018-03-06 |
CN108196799A (zh) | 2018-06-22 |
EP3428922A1 (en) | 2019-01-16 |
WO2015074514A4 (zh) | 2015-11-05 |
EP3428922B1 (en) | 2020-06-03 |
JP2017501483A (ja) | 2017-01-12 |
JP6236720B2 (ja) | 2017-11-29 |
US20180143787A1 (en) | 2018-05-24 |
US9898228B2 (en) | 2018-02-20 |
CN108196799B (zh) | 2021-03-30 |
US20160266847A1 (en) | 2016-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713357B1 (en) | Systems and methods for detailed error reporting in data storage systems | |
US20160357456A1 (en) | Memory device that divides write data into a plurality of data portions for data writing | |
TWI768763B (zh) | 用於在儲存伺服器中進行儲存控制的方法、記憶裝置及其記憶體控制器、以及儲存伺服器 | |
US8417879B2 (en) | Method for suppressing errors, and associated memory device and controller thereof | |
EP3474282A2 (en) | Method and apparatus for adjusting demarcation voltages based on cycle count metrics | |
US20130060992A1 (en) | Data compression method | |
EP3494478A1 (en) | Proactive corrective actions in memory based on a probabilistic data structure | |
WO2015074514A4 (zh) | 存储设备的写入方法及写入装置 | |
EP4202704A1 (en) | Interleaving of heterogeneous memory targets | |
US20160071607A1 (en) | Memory system | |
WO2020028801A1 (en) | Error correction with scatter-gather list data management | |
TWI514141B (zh) | 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置 | |
CN112181274B (zh) | 提升存储设备性能稳定性的大块的组织方法及其存储设备 | |
CN113424262B (zh) | 一种存储校验方法及装置 | |
CN113419688B (zh) | 一种mlc芯片的错误率分析方法、系统及装置 | |
US20150128000A1 (en) | Method of operating memory system | |
CN211454576U (zh) | 随机数种子生成器及随机化加扰器 | |
CN109840163B (zh) | 一种Nand-Flash错误数据冗余替换方法 | |
WO2017218170A1 (en) | Method and apparatus for programming wordlines of nand flash memory using alternating encoding schemes | |
US20200264953A1 (en) | Error correction in data storage devices | |
TWI617138B (zh) | 時間解交錯電路與方法 | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
JP6244362B2 (ja) | チャネル回転エラー訂正コード | |
WO2016177083A1 (zh) | 一种数据存储方法、存储装置和计算机存储介质 | |
CN117409844A (zh) | 数据恢复方法、存储器存储装置及存储器控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14864332 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016533651 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2014864332 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014864332 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20167015471 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2016124766 Country of ref document: RU Kind code of ref document: A |