TWI352354B - Method for preventing read-disturb happened in non - Google Patents

Method for preventing read-disturb happened in non Download PDF

Info

Publication number
TWI352354B
TWI352354B TW96151575A TW96151575A TWI352354B TW I352354 B TWI352354 B TW I352354B TW 96151575 A TW96151575 A TW 96151575A TW 96151575 A TW96151575 A TW 96151575A TW I352354 B TWI352354 B TW I352354B
Authority
TW
Taiwan
Prior art keywords
block
read
count value
stored
volatile memory
Prior art date
Application number
TW96151575A
Other languages
Chinese (zh)
Other versions
TW200929227A (en
Inventor
Tan-Yap Chen
Original Assignee
Phison Electronics Corp
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
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW96151575A priority Critical patent/TWI352354B/en
Publication of TW200929227A publication Critical patent/TW200929227A/en
Application granted granted Critical
Publication of TWI352354B publication Critical patent/TWI352354B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation

Description

PSPD-2007-0026 25292twf.doc/p IX. Description of the Invention: [Technical Field] The present invention relates to a mastering technique for storing media from the right rib, and particularly relates to a Prevent non-volatile memory ^ ^ ^ ^ ^ controller. The method of taking the whistle to take the interference and its [previous technique] and the digital subtraction, (4) 4 mesh power (4) mobile phone side, the demand is also + points quickly 'the caller's dragon _ save the media drama increased. Looking at all the storage media today, because of the non-volatile, power-saving, physical and mechanical structure of the materials, Fhsh Me Li y is the most suitable for the above two types. Portable multimedia device. In addition, because the small memory card and disc-connected products are also in great demand for modern people, the manufacturers of the 豕 豕 flash memory are all facing the volume of the flash memory. And try to use the development direction of stability improvement. _ In general, the types of flash memory can be roughly divided into two according to the degree of precision of the process. What is well known is that the single level memory cell (SLC) is produced by the lower precision level process, and the process is made by a higher precision process. day. Multi Level Cell (MLC) flash memory. Among them, the memory capacity of the multi-layered memory cell will be higher than that of the single-layer memory cell flash memory, but the stability of the multi-layer memory cell flash memory will be faster than that of the single-layer memory cell. The memory usage stability is low. However, whether the data stored in the same block of the multi-layer memory cell flash memory or the single-layer memory 1352354 PSPD-2007-0026 25292twf.doc/p cell flash memory is read multiple times, For example, the number of readings between 100,000 and a million times, the report may occur that the data taken is wrong 'even even the data stored in the block is read abnormally or lost. Such phenomena are commonly referred to as "reading interference" by those having knowledge of the field of the invention. There are also such phenomena, which have driven manufacturers to develop technologies that prevent read interference, effectively suppressing the probability of read interference. SUMMARY OF THE INVENTION In view of the above, an object of the present invention is to provide a method for preventing non-volatile f-study from occurring, and a controller thereof, which can effectively suppress occurrence of interference and probability of occurrence, and positively Read all data stored in non-volatile memory. Based on the above and the objects to be achieved, the present invention provides a method for preventing read disturb of non-volatile S-resonance, which is suitable for non-volatile memory, and its non-volatile memory has There are a plurality of blocks, and thus the blocks are divided into at least one data group and one standby group, and each block has a plurality of pages. The method for preventing read disturb of non-volatile memory proposed by the present invention comprises the following steps: First, the number of times at least - the first block of the beta blocks of the data group is read. Then, when the number of f purchases of the first block is greater than a preset value, the original stored data in the first block is updated. In an alternative embodiment of the invention, the step of recording the number of times the first block is read includes n reading the money record to record the number of times the block is read 6 1352354 PSPD-2007-0026 25292 twf.doc/p. The read count table has a first count value corresponding to the first block and the first count value is used to indicate the number of times the first block is read. In another optional embodiment of the present invention, the step of recording the number of times the first block is read includes: recording, by using a read times table, the number of times at least one of the pages of the first block is read. . Wherein the read count table has a first count value corresponding to the first page, and the first count value is used to indicate the number of times the first block is read.
In an optional embodiment of the present invention, the step of updating the data stored in the first block includes: firstly, copying the original data stored in the first block to a second block in the standby group. The read count table further has a second count value corresponding to the second block, and the second count value is used to indicate the number of times the second block is read. Next, the first block is replaced with the second block' and the first count value is updated. In an optional embodiment of the present invention, the step of updating the originally stored data in the first block further comprises: first, at least adjacent to the first block.
The data stored in the second block is copied to the fourth block in the standby group. The read count table further has a second count value corresponding to the third block and the fourth block. The four count values, and the third count value and the fourth juice value are respectively indicated as the number of times the third block and the first block are read. Next, the third block is replaced with the fourth block, and the third count value is updated. In another optional embodiment of the present invention, the step of updating the original-before-in-the-bean in the first block includes: first, copying the original stored data in the first block to the standby group. a second block, wherein said read times 7 1352354 PSPD-2007-0026 25292 twf.doc/p number table further has a second count value corresponding to at least one of the plurality of pages of the plurality of pages of the second block And the second count value is used to indicate the number of times the second block is read. Next, the first block is replaced with the second block, and the first count value is updated. In another optional embodiment of the present invention, the step of updating the originally stored data in the first block further comprises: first, copying the original stored data in the at least one third block adjacent to the first block. And a fourth block in the standby group, wherein the read count table further has a third count value corresponding to at least one third of the pages of the third block and the fourth block A fourth count value of at least one fourth page of the page, and the third count value and the fourth count value are respectively used to indicate the number of times the third block and the fourth block are read. The receiver replaces the third block with the fourth block and updates the third count value. In another optional embodiment of the present invention, the step of updating the originally stored data in the first block includes: firstly, reading the original stored data in the first block and temporarily storing the data in the non-volatile memory. The body stores the buffer memory of the farm controller. Next, erase the first block. After that, the buffered memory is temporarily written back to the first block in the first block stored in the first block. Finally, the first count value is updated. In still another optional embodiment of the present invention, the step of updating the originally stored data in the first block further comprises: first reading: the original stored information in the at least one second block adjacent to the first block. And being temporarily stored in the buffer memory, wherein the read count table further has a first count value corresponding to the second block, and the first leaf value is used to indicate that the second block is read. 8 1352354 PSPD-2007-0026 25292twf.doc/p Number of fetches. Then, 'Erase the second store in the second block to store the material in the second block', then update the second count value. e Ghost from the other side to see 'this turn offer - lion field volatile # body Seven students read the interference method 'Applicable to - non-volatile ^ count hidden:: Volatile memory has a majority of blocks, and each: area =
Preventing non-volatile memory from being emitted; Storage and Broadcasting (4) 'L TH hundred first, the transferable memory is set to control the execution of the poetic memory storage device, and the program touches the female block. At least - the first block. Then, when the device is switched to the non-volatile memory storage device, the code of the storage in the first block is copied to at least one of the second blocks. In an optional embodiment of the present invention, the method for preventing read interference caused by the non-seven memory of the present invention further includes the following steps: recording - the number of times a block is read, and when the second When the number of readings of the block is greater than a preset value, the code stored in the second block is updated. In an alternative embodiment of the present invention, 'recording the second block to be read, the step of: recording a second block read-under number using a read count table, wherein the read count table There is a first count value corresponding to the second block, and the first count value is used to indicate the number of times the second block is read. In another optional embodiment of the present invention, the step of recording the second-block read-under-number includes: recording, by using a read times table, at least one of the first pages of the second block is read The number of times, wherein the read count table has a first count value corresponding to the first page, and the first count value is represented by 9 1352354 PSPD-2007-0026 25292 twf.doc/p to indicate that the second block is The number of reads. In an optional embodiment of the present invention, the step of updating the code stored in the second block includes: first, copying the code stored in the second block to at least one third of the blocks a block, wherein the read count table further has a second count value corresponding to the third block, and the second count value is used to indicate the number of times the third block is read. Next, the second block is replaced with the third block, and the first count value is updated. In an alternative embodiment of the present invention, the step of updating the stored code of the second block includes: first, copying the original stored data in at least the fourth block adjacent to the second block. a fifth block in the blocks, wherein the read count table further has a third count value and a fourth count value corresponding to the fourth block and the fifth block, and the third count The value and the fourth juice value are used to indicate the number of times the fourth block and the fifth block are read. The fourth block is then replaced by the fifth block and the third count value is updated. In another alternative embodiment of the present invention, the step of updating the code stored in the second block includes: first, copying the code stored in the second block to at least one of the blocks a third block, wherein the read count table further has a first count value corresponding to at least one second page of the plurality of pages of the third block, and the second count value is used to represent the third block The number of times that it was read. Next, the second block is replaced with the third block, and the first count value is updated. In the selected embodiment of the present invention, the step of updating the stored procedures in the second block further includes: first, at least 1352354 PSPD-2007-0026 25292 twf.doc/p adjacent to the second block. The data stored in the fourth block is copied to a fifth block of the blocks, wherein the read count table further has one of the at least one third page of the pages corresponding to the fourth block. a third count value and a fourth count value of at least one of the plurality of pages of the fifth block, and the third count value and the fourth count value are respectively represented as the fourth block and the fifth The number of times the block was read. The fourth block is then replaced with a fifth block and the third count value is updated. In still another optional embodiment of the present invention, the step of updating the code stored in the second block includes: first, reading the code stored in the second block and temporarily storing the code in the controller Buffer memory. Next, erase the second block. After that, the code stored in the second block of the buffer memory is written back to the second block. Finally, the first count value is updated. In a further alternative embodiment of the present invention, the step of updating the code stored in the second block further comprises: first reading the information originally stored in at least the third block adjacent to the second block. Out and temporarily stored in the buffer memory, wherein the read count table further has a second count value corresponding to the third block, and the second count value is used to read the third block The number of times. Next, erase the third block. After that, the previously stored data in the third block of the buffer memory is written back to the third block. Finally, the second count value is updated. In an alternative embodiment of the invention, the read order table is stored internally or externally to the non-volatile memory. In an alternative embodiment of the invention, the #volatile memory is a single layer memory cell flash filter or a # layer memory cell fast' 1352354 PSPD-2007-0026 25292twf.d〇c/p From another point of view, the present invention provides a type of memory storage device, the controller package "two single-mode electrical surface, slow touch memory, sigh Memory management, pepper, /, medium, micro-processing I is used to control the overall operation of the controller. It is suitable for riding the electric vehicle to the micro-section, and is used to ί itn, (4) 'shooting volatile record (four) with a few district ghosts and the I block is divided into at least one data group and
S memory is connected to the micro-processing unit, and is used for temporary storage; 0 0 0. The memory management module is electrically connected to the micro-processing unit, and is used for the storage of non-volatile memory. The ticket management module performs a method for preventing read disturb of the non-volatile memory. The method includes the following steps. First, at least the first block of the record data group is read. Take the seam. Then, when the number of readings of the first block is greater than a preset value, the original stored data in the first block is updated. In the present invention, in the embodiment, the step of reading the first block is recorded, and the step of: recording the number of times the first block is read by using a reading number table, wherein the reading times table has a corresponding A first count value of the first block 'and the first count value is used to indicate the number of times the first block is read. In an optional embodiment of the present invention, the step of updating the originally stored data in the first block includes: first, rewriting the originally stored data in the first block back to the first block, and updating the first a count value; or, copying the originally stored data in the first block to a second block in the spare group and replacing the first block with the second block, and updating the first 12 1352354 PSPD-2007-0026 25292twf.d〇c/p value. The read count table further has a second count value corresponding to the second block, and the second count value is used to indicate the number of times the second block is read.
In an alternative embodiment of the present invention, the step of updating the previously stored data in the first block is further included: simultaneously updating the data originally stored in the at least one third block adjacent to the first block. The read count table further has a third count value corresponding to the third block, and the third count value is used to indicate that the second block is bought for the number of times 0 dan 攸 force---- ------«TM...eight K —^ caliper for non-volatile memory storage devices, including micro-locations, non-volatile memory media, buffer memory, and Memory, group. The micro-processing unit is configured to control the overall non-volatile memory interface of the controller to be electrically connected to the micro-processing unit to access non-volatile memory, wherein the volatile memory is in/out of block. The buffering notes will be electrically connected to the bribe unit/and the number of areas to store the data. , and used for the time being
Management = yuan, and the heart of the non-volatile memory occurs to read two 1 to perform a stop step: First, the controller field: method, the method includes the following storage device code stored in the [block two, biographer it Stored in the body, when powered to the non-volatile 呓 乂 - the first block. Copying the stored code to the same; in the first block, in the present invention - in the selected embodiment, the memory management 1 仏 1352354 PSP D-2007-0026 25292 twf.doc / p prevents the non-volatile memory from occurring The method for reading interference further includes the steps of: recording the number of times the second block is read, and updating the code stored in the second block when the number of readings of the second block is greater than a preset value. In an optional embodiment of the present invention, the step of recording the number of times the second block is read includes: recording the number of times the second block is read by using a reading number table, wherein the reading times table has corresponding A first count value of the second block, and the first count value is used to indicate the number of times the second block is read. In an optional embodiment of the present invention, the step of updating the code stored in the second block includes: rewriting the code stored in the second block back to the second block, and updating the first meter a value; or, copying the code stored in the second block to at least one third block of the blocks, replacing the second block with the third block, and updating the first count value . The read count table further has a second count value corresponding to the third block and the second count value is used to indicate the number of times the third block is read. In an optional embodiment of the present invention, the step of updating the code stored in the second block further comprises: simultaneously updating the data stored in the at least one fourth block adjacent to the second block. Therefore, the read count table further has a third count value corresponding to the fourth block, and the third count value is used to indicate the number of times the fourth block is read. In order to prevent the occurrence of read disturb, the method for preventing read disturb of the non-volatile memory proposed by the present invention mainly uses a read count table to record at least one/each block in the non-volatile memory or The number of times the page was read. Therefore, when a certain block or page in the non-volatile memory is read by the 1352354 PSPD-2007-0026 25292twf.doc/p is greater than the preset value, the block or the area to which the page belongs is The data stored in the block is updated. Therefore, the method for preventing read disturb of the non-volatile memory of the present invention can not only effectively suppress the probability of occurrence of read interference, but also correctly read all stored in the non-volatile memory. data. ▲In order to make the above and other objects, features and advantages of the present invention more apparent
BRIEF DESCRIPTION OF THE DRAWINGS The preferred embodiments of the present invention are described in detail below with reference to the accompanying drawings. [Embodiment] The technical effect to be achieved by the present invention is to effectively suppress the probability of occurrence of read disturb, thereby achieving accurate reading of all the data stored in the non-volatile memory. The following content will be described in detail for the technical features of the case and the technical effects achieved by the slave, and will be provided to the technical personnel of the relevant fields of the present invention. FIG. 1 is a schematic diagram of a system of a non-volatile memory storage device. Referring to Fig. 1 'non-volatile memory storage device 1 〇〇 general package; controller 101 and non-volatile memory 103. Wherein, the controller 101 }, the non-volatile & memory storage device (10) overall operation, such as ^ ^ storage, 4 fetch and erase. In the present embodiment, the controller ^ blue memory management module 101a, the non-volatile memory interface 1 〇 1 slow system L body 101c and ^ ^ processing unit 1 〇 ld. In the middle, the memory management module is used to manage non-volatile memory (8), for example, to perform the present invention. 防=Protective memory, read disturb, white-damaged block management, maintenance mapping table (dislocation) _ just e) and so on. 15 PSPD-2007-0026 25292twf.doc/p 103 machine, camera, punching;; two can be (10) any system for storing data) to write a two-video player such as the storage interface 101b converted to non-volatile body ^ Via non-volatile memory. The mouth of the body is 1 〇 3 can accept the data buffer memory l 〇 lc for the table) or the host wants to read # data (for example, the Π 料 写入 写入 。 。 。 。. , heart & ^ is 阼 '% random access memory (static mnd〇m aCC: SSm_ry, SRAM). However, the state of random access memory (10) 鸠), magnetoresistive memory. Phase (4) (pRAM) or other suitable memory can also be used in the present invention. The microprocessor unit (4) is used to control the operation of the controller. The local and local embodiment controller 101 further includes a host transmission interface, a fault correction module l〇1f, a power management module 1〇lg, and a program s memory 101h. The host transmission interface is configured to communicate with the host. The host transmission interface l lc can be a USB interface, an IEEE 1394 interface, a SATA interface, a PCI Express interface, a SAS interface, an MS interface, an MMC interface, an SD interface, a CF interface, or an ide interface. The error correction module l〇lf is used to calculate an error correcting code, and the data read or written by the host is checked and corrected. The power management module 101g is for managing the power of the non-volatile memory storage device 100. The program memory 101h is used to store the controller 1〇1. 1352354 PSPD-2007-0026 25292twf.doc/p The code for controlling the non-volatile memory storage device is configured. Non-volatile memory 1〇3 is used to store data. In this embodiment, the non-volatile memory 1〇3 is a flash memory, and the flash memory may be an early memory cell (SLC) flash memory or a multi-layer memory cell (m flash memory). It is well known that non-volatile memory blocks and each real area = SiriL (page). In this embodiment, 'non-volatile record= has a recorded block Β Β _ way It is not restricted as shown in the figure of if), and each block will have a majority of solid pages PG~Pm like block B (the arrangement is not limited as shown by circle i). Each of the pages usually includes (4) records of the fish, and the data memory area D is used to store the user's data for storing the system data, such as the above error correction code (ECC). 'Poor in order to efficiently deal with non-volatile memory, volatile, _ 1G3 block B. ~& logically, 2, = is a poor group and _ group. - Body 1 Fresh: The block of the genus will occupy all the blocks t=; °3 The block under the second = belongs to the system group and the standby group. Wherein, the block of '' is mainly used to record system data, such as the number of regions of the 3 relational volatile memory 103, the per-region + 疋, the division of the # block, the binary entity mapping table, etc. / £ 4 The block of the number and parent 1 data group is mainly used to store the user's data. Injury 1352354 PSPD, 2007-0026 25292twf.doc/p Multiple times = anti-volatile memory for f volatile memory 103 is proposed by the present invention, so that the second line of the relevant field of the present invention is described in detail.
2 is a flow chart of a method for preventing read interference according to an embodiment of the present invention. Please combine the reference to the 2 t real W column to prevent the miscellaneous memory from being read. The method includes the following steps. First, as described in step S2 () 1, recording at least one of all the blocks belonging to the data group. The number of times the block was read. In this embodiment, the number of people read in each block of the record data group is mainly recorded by using a buy order table, wherein the read count table can be stored in the buffer memory l lc , but not limited to this. In addition, the controller 101 controls a counter (not shown) that manages its internal counting to count the number of times the negative group is called a block, and the number of times the parent block is taken by the item in the data group. Recorded in the readings table. Therefore, the read/number table has the /count value of each of the plurality of corresponding lean groups, and these count values are respectively expressed as the number of times each block in the data group is read. . For example, when the count value of the number of times the block B is read in the record data group is 1〇〇, it means that the data stored in the block B〇 has been read. 100 times. Therefore, in this embodiment, the number of times that the first block 1352354 PSPD-2007-0026 25292 twf.doc/p is read is recorded by using the above-mentioned reading times table, and the reading number table has a pair-count value 'where the number A count value _ =-= the number of times taken. I is not a brother - the block is read at this value - (4) is, in the operation of non-volatile memory, whenever you read the data group, the record of the number of readings in the area The content will be ^
The vessel is updated and, for example, stored in a non-volatile memory, operated, or, after a predetermined number of times, the inner valley recorded by the reading count is recorded by the controller 101 into at least a block of the system group. , or will be recorded in the data redundancy area R of the block being read', and this backup action is for the red update of the non-volatile memory storage device 100 due to abnormal power failure. The content recorded in the reading times table is lost. Therefore, according to the above, the reading times table can be stored outside the non-volatile memory 103 (that is, the buffer memory 105 stored in the controller 1〇1), and can also be stored in the non-volatile memory. The internals of 1〇3 (that is, stored in at least one block of the system group or stored in the data redundancy area R of the block being read) may even be singularly independent in the system of the controller 101. . Further, the above-described counting method of the counter managed by the controller 1〇1 can be designed as an upper or lower number. Then, as described in step S203, when the number of readings of the first block in the data group is greater than a preset value, the originally stored data in the first block is updated. In this embodiment, it is assumed that the number of readings of the first block (for example, block B〇) in the data group is greater than a preset value (ie, read interference may occur 1352354 PSPD-2007-0026 25292twf.doc/p The number of readings, for example, 'million times' but not limited to this, at this time the controller 1G1 will be the first block B. _ The first stored material is copied to the second block (eg, block Bni) in the alternate cluster, and the process is the original stored data in the updated block described in step S2〇3. Conversely, when the number of readings of the first block B0 in the data group is not greater than the preset value, the original stored data in the first block B 0 is not updated. In this embodiment, the read count table further has a second count value corresponding to the second block block Bn] and the second count value is used to indicate that the second block Βη-ι is read. frequency. Next, the controller 101 will then modify the corresponding relationship of the logical entity mapping table to replace the second block B n _ with the first block B. And update the read-number table to record the first block B. The first count value of the number of times read is, for example, the first count value of the number of times the first block B is read is reset to 0 (i.e., from the count value of millions). It is worth mentioning that the data update performed too frequently will affect the performance of the entire non-volatile storage device 100, and if the data update is not performed for a long time, it will increase (4) read errors. Therefore, the setting of the value of the coffee can be defined by a plurality of results, for example, 100,000 to 100,000 times to set different values according to different design requirements. Therefore, according to the above, when the number of readings of the first block Bo is greater than one million times, the controller 101 causes the original stored data in the first block B to be copied to the second block in the standby group. Βηι, and correct the correspondence relationship of the logical entity mapping table, in order to replace the second block B11 with the second block B 〇 ' so the local anti-volatile memory is prevented from reading interference 20 1352354 PSPD-2007 -0026 25292twf.doc/p . The method can effectively suppress the read interference that occurs when the non-volatile memory i〇3 is read multiple times in a particular block. ° However, it is worth mentioning that due to the influence of process factors, when the number of readings of the first block B〇 is more and more, it may indirectly be indirectly adjacent to the first block B0. The data stored in a third block (for example, block Βι). Therefore, when the number of readings of the first block Bq is more than one million, the control urn will cause the data stored in the first block B to be copied to the second block Bni in the standby group. In addition, the original stored data in the second block B! is copied to a fourth block (for example, the block Bn) in the standby group. In this embodiment, the read count table further has a third count value and a fourth count value corresponding to the third block B丨 and the fourth block Bn, and the second and fourth count values are used. Each is represented as the third block and the fourth zone, and the number of times Bn is read. Then, the controller 1〇1 will further correct the correspondence relationship of the logical intersecting mapping table, so that the fourth block & replaces the third block $, and updates the reading times table for use, The third count value of the number of times the block $ is read ^. Therefore, based on the above, when the reading of a certain block in the data group reaches the set preset value, the method for preventing the non-volatile memory preparing for reading interference in this embodiment is updated and read. In addition to the data stored in the block whose number is greater than the preset value, it will also be stored in the block adjacent to the block with the number of readings greater than the preset value = (for example, the block adjacent to the left/right/upper and lower) And updated. Therefore, the method for preventing the interference of the non-volatile memory in the present embodiment can correctly read all the non-volatile memory stored in the non-volatile memory ν 21 1352354 PSPD-2007-0026 25292 twf.doc/p 103 data. Further, the spirit of the present invention is not limited to the real mode of the above embodiment. In another embodiment of the present invention, it is assumed that the number of readings of the first region f* (for example, the block B〇) in the data group is greater than a preset value (that is, the number of times the purchase is likely to occur for the item to be interfered with) When it is 10,000 times, but not limited to this, the controller 1G1 will first block the block B. The data stored in the original is read out and temporarily stored in the buffer memory 101c. , +, Then, controller 1〇1 erases all data stored in the first block team. After that, the controller 101 writes back the original data stored in the temporary storage block B0 to the first block B〇 in the buffer memory 1〇lc, and updates the read times table to record the first block. The value of the first leaf of the number of times Bq is read, and this process is also the information stored in the updated block described in step S2〇3. However, in this embodiment, the controller 101 does not need to correct the correspondence of the logical entity mapping table. : The above-mentioned data update refers to the action of rewriting the originally stored data in the block (that is, writing after erasing), which can be written in different blocks or original blocks. Therefore, as long as the tribute originally stored in the block is erroneously written, the possibility of reading interference in the block is greatly reduced, and when the original stored data in the block is rewritten, The count value used by the read count table to record the block is also reset (eg, blamed). Similarly, due to the influence of process factors, when the number of readings of the first block B〇 is more and more, it may indirectly affect at least one second block adjacent to the first zone B〇 ( For example, 22 1352354 PSPD-2007-0026 25292twf.d〇c/p % data originally stored in the block Βι). Therefore, when the number of readings of the first block Bq is greater than one million A _, the controller 101 will read and temporarily store the first block B0 in the first block B0, and temporarily store it in the buffer memory 101c. In the same way, the data stored in the first block will be read out and temporarily stored in the buffer memory 10. Then, the controller 101 will erase the accumulated data stored in the second block. The stored data in the buffer memory 101c temporarily storing the second block B^ is written back to the second block 匕, and the update read table is the first record of the number of times the second block Bi is read. Two count values. By way of example, the method for preventing read disturb of non-volatile memory is " Really correctly read all the resources stored in the non-volatile memory 1〇3=According to this, it is worth mentioning that the above embodiment is used for recording: each block in the second group is read. The unit of the number of times is the entire block, but the spirit of the present invention is not limited thereto. In the re-implementation of the present invention < the number of times each block is read in the record data group is the same as ^ using the number of times of acquisition to record _, but the control (four) 1G1 will (four) f leaf number ^, count Each page in each data block in the data group (four) (four) ^ If any of the pages in the block are read, the block that is read by the page will be regarded as read. Take it once. For example, when the data stored in the first page (e.g., page PG) in the first block (e.g., block β.) is read, the read count table is used for block B. The first count value of the number of times read is accumulated - and when the second material stored in the second block (for example, block B1) is stored, the # material is read. The number of times table, rhyme - block B, the number of times the number of times read will be accumulated 23 1352354 PSPD-2007-0026 25292twf.doc / p once or decremented once. Similarly, when the data accumulated in the third block (for example, the third point in the block BO such as the knife page P2) is read, the number of times of reading is used to read the number of times the third block B2 is read. The third count value is accumulated and decremented once; and when the data stored in the fourth block (for example, the fourth page in the block or the page P3) is read, the number of readings is used for the case number The fourth count value of the number of times the four blocks B3 are read is cumulatively decremented once, and so on. Or, of course, in order to implement this embodiment, the number of readings of each page in each of the plurality of corresponding data groups must be present in the number of reading times, and the count values are respectively represented as data groups. Every block in it. The number of times each page of ten is read. In addition, in the embodiment, the flow of the data stored in the block is substantially similar to the content disclosed in the above, and therefore will not be further described herein. From another point of view, the code executed by the controller 101 for controlling the memory storage device is generally stored in the program record. However, in an alternative embodiment of the invention, the controller U executes a method for controlling the non-volatile memory storage device to be stored, at least in the non-volatile memory phase. Therefore, it is conceivable that the code stored in this block is inevitably read frequently in the operation of the non-volatile memory storage device 100. Therefore, after the H code stored in the block is read and read, the present invention provides another method for preventing non-volatile buying interference, so as to provide the technical personnel in the field of the invention. 24 1352354 PSPD-2007 -0026 25292twf.doc/p Details. 3 is a flow chart of a method for preventing read disturb of non-volatile memory according to another embodiment of the present invention. Please refer to FIG. 3 and FIG. 3 , the method for preventing read interference of non-volatile memory in this embodiment is applicable to a non-volatile memory storage device, wherein the volatile memory 1 〇 3 has a plurality of regions. Block, and each block has a plurality of pages, the method is also performed by the memory management module 101a, and includes the following steps; first, as described in step S301, the non-volatile memory storage device The code executed by the controller 101 of the worker (8) for controlling the non-volatile memory storage device is stored in at least one first block in all the blocks in the non-volatile memory 103. Then, as described in step S303, when the device is powered to the non-volatile memory storage device, the code stored in the first block is copied into all the blocks in the non-volatile memory 103. To = two blocks. In the present embodiment, when the code stored in the first block is non-volatile, at least one of all the blocks in the body 103 is the second memory module. The number of times the second block is read is recorded, and the code stored in the second block when the number of times the second block is read is greater than a preset value. Therefore, based on the above, since the code executed by the controller 101 to control the volatile memory storage device has been stored in at least the block in the non-volatile memory 103, the controller i()i ^ Recalling the body can be omitted, so as to save the cost of the controller 1. When the host is powered to the non-volatile memory storage device, there is a program 25 1352354 PSPD-2007-0026 25292twf.doc/p The block will be copied to the controller by the controller. * The block that stores the code will replace the original memory. This is reused in order to take care of the block that has the original program code and store it. =====Memory= ; = God, when the copy is stored == read = for example, a million times, but not limited to this time), the data of the block is more detailed with the above-mentioned implementation of the coded area. The above is similar to the case, and is not used here. In view of this, the method for preventing non-volatile memory in the present invention can not only read all the storage of the memory. In addition, it is also possible to ensure that the control (4) (9) = : is used to control the integrity of the volatile memory 103 of the volatile memory storage device (10). Therefore, the method for preventing non-volatile memory interference caused by the present invention can be relied on by various volatile memory as a storage device. For example, the SD card 4〇4a, the MMC card 4〇41^ card and the memory stick 404d used in the flash drive 4〇2, digital, = camera 404 shown in FIG. 4, and the solid state hard Dish 4〇6 and so on. ^ ^ Especially solid-state hard disk 406 needs a better way to prevent non-volatile memory from reading interference, to suppress the probability of read interference. " 26 1352354 PSPD-2007-0026 25292twf.doc/p The above-mentioned method for preventing read disturb of non-volatile memory provided by the present invention mainly uses a counter and a reading count table to count separately. And record the number of times each block or page in the non-volatile memory is read. Thereby, when a certain block or page in the non-volatile memory is read more than a preset value, the data stored in the block or the block to which the page belongs is updated. Therefore, the method for preventing read disturb of the non-volatile δ-remembrance body proposed by the invention can not only effectively suppress the probability of occurrence of reading interference, but also can correctly read all stored in the non-volatile memory. data. While the present invention has been described in its preferred embodiments, the present invention is not intended to limit the invention, and the present invention may be modified and modified without departing from the spirit and scope of the invention. The scope of protection is subject to the definition of the scope of the patent application. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram showing a simplified system of a non-volatile memory storage device. Fig. 2 is a flow chart showing a method for preventing read disturb from occurring in the present invention. 3 is a flow diagram of a method for preventing read disturb of a non-volatile grammatical body according to another embodiment of the present invention. μ a Fig. 4 is a schematic view showing a device to which the method for preventing read disturb of non-volatile memory is applied. Item [Main component symbol description] 100: Non-volatile memory storage device 27 1352354 PSPD-2007-0026 25292twf.doc/p 101: Controller 101a: Memory management module • 101b: Non-volatile memory interface 101c: Buffer memory 101d: Micro processing unit 101e: Host transmission interface 101f: Error correction module 101g: Power management module • 101h: Program memory 103: Non-volatile memory B〇~. Block P〇~Pm: Pagination D ··Data memory area R: Data redundancy area 402 : USB flash drive 404 : Digital camera (camera) 404a : SD card ® 404b : MMC card 404c : CF card 404d : Memory stick 406 : Solid state hard Discs S201, S203: Method for preventing read disturb of non-volatile memory in an embodiment of the present invention, steps S301, S303: steps of a method for preventing read disturb of non-volatile memory according to another embodiment of the present invention 28

Claims (1)

1352354 PSPD-2007-0026 25292twf.doc/p X. Patent application scope: • h—a method for preventing read disturb of non-volatile memory, suitable for non-volatile memory storage devices, where the volatile memory The body has a plurality of blocks, the blocks are divided into at least one data group and one standby group, and each block has a plurality of pages. The method includes a step of τ column: recording the areas of the data group The number of times at least one of the first blocks in the block is read; and φ, although the number of times the first block of the 5th block is greater than a predetermined value, updates the original stored data in the first block. 2. The method for preventing read disturb of non-volatile memory as described in claim 1, wherein the step of recording the number of times the first block is read includes: using a read count The table records the number of times the first block is read, wherein the read count table has a first count value corresponding to the first block, and the first count value is used to indicate that the first block is read. 3. The number of times taken 3. The method for preventing non-volatile memory as described in the second paragraph of the patent application • The method of reading the original information stored in the first block includes the steps of “renewing the original stored data in the first block” Copying the originally stored data in the first block to a second block in the standby group, wherein the read times table further has a second juice value corresponding to the second block, and the The second count value is used to indicate the number of times the second block is read; and the first block is replaced by the second block, and the first count value is updated 0 29 1352354 PSPD-2007-0026 25292twf. Doc/p . 4. Prevention as described in item 3 of the patent application The method for reading interference caused by the volatile memory, wherein the step of "updating the original stored data in the first block" further comprises: at least one third block adjacent to the first block The data stored in the original is copied to a fourth block in the standby group, wherein the read count table further has a third count value and a fourth corresponding to the third block and the fourth block. Counting the value, and the third count value and the fourth count value are respectively indicated as the number of times the third block and the fourth block are read; and the fourth block is replaced by the fourth block Blocking, and updating the third count value. 5. A method for preventing read disturb of non-volatile memory as described in claim 2, wherein "renewing the original stored data in the first block" The step of: storing the originally stored data in the first block and temporarily storing it in a buffer memory of a controller of the non-volatile memory storage device; erasing the first block; φ to temporarily store the buffer memory in the first block The stored data is written back to the first block; and the first count value is updated. 6. The method for preventing non-volatile memory from occurring in the fifth aspect of the patent application, wherein The step of updating the originally stored data in the first block further includes: reading the data originally stored in the at least one second block adjacent to the first block, and temporarily storing the data in the In the memory, wherein the number of readings 30 1352354 PSPD-2007-0026 25292 twf.doc/p table has a second count value corresponding to the second block, and the second count value is used to represent the first The number of times the second block is read; erasing the +th block; temporarily storing the previously stored data in the second block in the buffer memory back to the second block; and updating the second block Count value. 7. A method of preventing read disturb of non-volatile memory as described in claim 2, wherein the read count table is stored inside or outside the non-volatile S. 8. The method for preventing read disturb of non-volatile memory according to claim 1 of the patent application, wherein the step of recording the first block 'reading two or two numbers' includes: using a read The number of times table records the number of times that at least two of the first pages of the first block are read, wherein the number of reading times has a first count value corresponding to the first page, and the first count value is used To indicate the number of times the first block is read. 9. The method for preventing read disturb of a non-volatile grammar as described in claim 8 of the patent application, wherein "renewing the first block" The step of "previously storing data" includes: • copying the original stored data in the first block to the second block in the standby group, wherein the reading number table has a corresponding second area a second count value of the at least one second of the plurality of pages of the block and the second count value is used to indicate the number of times the second block is read; and replacing the first block with the first block Block and update the first count 31 1352354 PSPD-2007-0026 2 5292twf.doc/p value 0 10. The method for preventing read disturb of non-volatile memory as described in claim 9 of the patent application, wherein the step of "updating the originally stored data in the first block" The method further includes: copying, to the fourth block in the standby group, the data stored in the at least one third block adjacent to the first block, wherein the read times table has a corresponding a third count value of at least one third page of the three blocks of the three blocks and a fourth count value of at least one of the plurality of fourth pages of the fourth block and the third count value and the The fourth count value is used to indicate each of the number of times the third block and the fourth block are read; and the third block is replaced with the fourth block and the third count value is updated. The method for preventing read disturb of a non-volatile grammar as described in claim 8 of the patent application, wherein the original stored data in the first block is updated, the steps include: The poor material originally stored in the first block of the brother is read out and temporarily stored in the non-speaking a buffer memory of one of the controllers of the volatile memory storage device; X erasing the first block; temporarily storing the previously stored data in the first block in the buffer memory to the a first block; and 'update the first count value. 12. A method for preventing read disturb of a non-volatile drop body as described in claim 11 of the patent application 'in the update of the first block The steps of the previously stored data include: 32 1352354 PSPD-20〇7-〇〇26 25292twf.doc/p Reading at least the information stored in the second block adjacent to the first block And 'storing in the buffer memory '', wherein the read count table further has a second count value corresponding to at least one of the second pages of the tributaries of the second block, and the second count The value is used to indicate the number of times the second block is read; erasing the second block; and temporarily storing the data stored in the second_hidden block in the S-buffer memory back to the first Two blocks; and updating the second count value. 13. A method of preventing read disturb of non-volatile memory as described in claim 8 wherein the read count table is stored inside or outside the hair memory. M• As described in the first paragraph of the patent application scope, the prevention of non-steroidal reading of the ancient, the sputum, the non-volatile memory, the fast-paced memory, or the multi-layer memory cell_4 is the early layer 15 ~ Prevent non-volatile memory from being renewed for non-volatile memory = method, the following steps are included: · 'blocks have a plurality of pages, the method package controls the non-volatile memory to store the non-volatile memory The main controller of the volatile memory storage device performs at least a first block for block Yin; and the code is stored in the field to be stored in the non-selective memory Copy the code to 33 1352354 PSPD-2007-0026 25292twf.doc/p block. 16. The method for preventing read disturb of non-volatile memory according to the scope of the patent scope of the patent, further comprising: recording the number of times the second block is read; and reading the second block When the number of times is greater than the preset value, the code stored in the second block is updated. 17. Preventing non-volatile memory as described in claim 16
The method for reading interference occurs in the body, wherein the step of recording the number of times the second (four) is read includes: recording the number of times the second block is read by using a reading number table, wherein the reading times table There is a first count value corresponding to the second block, and the first count value is used to indicate the number of times the second block is read. 18. The method for preventing read disturb of non-volatile memory according to claim 17 of the patent application, wherein the step of updating the code stored in the second block comprises: The code stored in the block is copied to at least a second block of the blocks, and the number of readings has a second count value corresponding to the third block and The second count value (four) is expressed as the number of times the third block is read; and the second block is replaced by the third block, and the first count is updated. 19. As claimed in claim 18, The method for preventing read disturb of the non-volatile recording body, wherein the step of updating the code stored in the second block includes: ° 34 1352354 PSPD-2007-0026 25292twf .doc/p copies the original data in the at least one fourth block adjacent to the second block to a fifth block in the blocks, wherein the reading: the storage table has a corresponding a fourth block and a fourth count of the fifth block, a fourth count value, and the third count value and The fourth count value to a fourth value indicating that the number of 'block and the fifth block is read; and not to the place of the fourth block of the fifth block, and updates the value whine. Two counts
20. The method for preventing non-volatile stereoscopic read interference as described in claim π, wherein the second block is updated; the code of the meta-review includes: And storing the code stored in the second block, and temporarily suspending - a buffer memory of the controller; performing the erasing of the second block; and temporarily storing the buffer memory The code stored in the second block is written back to the third block; and the first update value is updated.
21. The method for preventing read disturb of non-volatile grammars as described in claim 20, wherein the step of "updating the code stored in the second block; ^" is further The method includes: reading data stored in the at least one third block adjacent to the second block and temporarily storing the data in the buffer memory, wherein the read times table has a corresponding third area a second count value of the block, and the second count value is used to indicate the number of times the third block is read; erasing the third block; 35 1352354 PSPD-2007-0026 25292twf.doc/p Write back to the nth;:r block to store the second count value. 22. For example, the method of reading interference occurs in the body _ 17 body, inside or outside the living memory. The method of taking the form of bribes in the non-swipe 23. The method of preventing the non-volatile memory by the method of reading the dry k in the scope of the patent application includes:, the money material - the number of times the block is read The table records the number of times the first page and the first page of the second block are read, a first count value of the value of the file to the first page, and the first count value of the page is read; Money. The shirt is planted to indicate that the method of reading interference occurs in the body of the patent application, and the code for preventing non-volatile memory is included in the step (4) in the second block. The stored number of the page to be copied to the block in the block is at least -^ 1"" the number table has a third second count value corresponding to the M j page - a second count value, and the number of times the block is replaced by the third block; and a value of X. The first block, and updating the first count 帛24 (4) volatile memory interference method, wherein , updated 36 1352354 PSPD-2007-0026 25292twf.doc/p stored in the second block Code "further comprises the step of:
Copying data originally stored in at least one fourth block adjacent to the second block to a fifth block in the blocks, wherein the read order table has a corresponding fourth block a third count value of at least one third page of the plurality of pages and a fourth count value of at least one of the plurality of fourth pages of the fifth block and the third count value and the fourth count The values are respectively indicated as the number of times the fourth block and the fifth block are read; and the fourth block is replaced with the fifth block, and the third count value is updated. 26. The method for preventing read disturb of non-volatile memory according to claim 23, wherein the step of updating the code in the second block comprises: W: the second The code stored in the block is read out and buffered in the memory of the temporary controller; the hip is stored on the side to erase the second block;
The program stored in the second block temporarily stores the code in the buffer memory back to the second block; and updates the first count value. 27. The method of detecting interference occurring in a body according to claim 26, wherein, the program of the non-volatile memory is updated, the step further comprises: Λ Λ - stored in the block The data adjacent to at least the first block of the first block is read out and temporarily stored in the buffer memory. The original stored table in the area 3 has more corresponding points in the third block, the number of readings in the $, the eve-the second page of the 37 1352354 PSPD-2007-0026 25292twf.doc/p The first S ten value, and the far second count value is read with & I _ & » & the number of times read; the third block is erased by the slave table for the third block; The memory temporarily stores the first material and writes back to the third block; and (4) the original stored value updates the first-count value. 28. A method of reading interference as described in claim 23, wherein the internal or external memory is read. The number of the watchmakers in the 5 hai non-swipe hair 15 鄕 咖 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ The non-volatile memory storage device has two micro-processing units for controlling the overall operation of the controller. The interface is electrically connected to a plurality of blocks, the memory, wherein the volatile memory has Groups; 5 Hai block are at least divided into a data group and a standby group 'electrically connected to the micro processing unit and used to temporarily buffer memory: store data at the time; and the power module 'electrical connection To the micro-processing unit and using a memory of the memory, wherein the memory group performs a method of preventing the non-volatile memory from being read, the method package 38 1352354 PSPD-2007-0026 25292twf .d〇c/p includes the following steps: recording the number of times at least one of the first blocks of the data group is read; and when the number of readings of the first block is greater than a preset value , updating the original stored data in the first block. 31. The controller of claim 3, wherein the recording, the number of times the first block is read, the step comprising: recording the first block by using a reading number table The number of times it was read, its. The first time count value has a first count value corresponding to the first block, and the first count value is used to indicate the number of times the first block is read. 32. The controller of claim 31, wherein updating the originally stored data in the first block comprises: rewriting the originally stored data in the first block Returning to the first block 'and updating the first-count value; or (4) copying the original=stored data in the first block to the second block in the standby group, and replacing the zinc block with the one block a block, and updating the first count value, wherein the read count table further has a second if value corresponding to the second block, and the second count value is used to indicate that the second block is Read the six 々 々 V 3. The controller described in claim 32 of the patent scope, wherein; the new information stored in the first block of the first block, the steps. will be adjacent to the first zone At least the third storage block of the block is updated at the same time, wherein the read times table further has a third 39 PSPD-2007-0026 25292 twf.doc/p count value corresponding to the third block. And the third count value is used in a number of times to indicate that the third block is read non-volatile Sex memory storage device 34. A controller, which is suitable for - the controller includes: a micro processing unit, _ control _ - non-volatile memory interface, electrical operation; and used to access the non Volatile memory processing unit and a plurality of blocks; L body in which the volatile memory has a buffer memory, electrically connected to the time to store data; and ^ processing early and used for temporary tube module, electrical a method of connecting to the micro processing unit and causing read disturb by using a volatile memory, wherein the controller executes to control the non-volatile memory storage device, and the second code is stored in the regions At least one of the blocks in the block; when the power is supplied to the non-volatile memory storage device, the code stored in the first region is copied to at least one second region of the blocks 35. The controller of claim 34, wherein the method further comprises the steps of: recording the number of times the second block is read; and when the number of readings of the second block is greater than a preset Update the second block when the value is The stored code. 1352354 PSPD-2007-0026 25292twf.doc/p 36. The controller of claim 35, wherein, the number of times that the block §Xuandi is read, The step includes: using a read count table to record the number of times the second block is read, wherein the read count table has a first count value corresponding to the second block, and the first count is established The value is used to indicate the number of times the second block is read. 37. The controller of claim 36, wherein "the update of the code of the second block of the wealthy, The steps include:
Rewriting the program stored in the second block back to the second block, and updating the first-count value; or copying the code stored in the second block to the block At least a third block of the towel, replacing the second block with the third block, and updating the first count value, wherein the read count table has a corresponding one of the third block The binary value 'and the value of the material is used to indicate that the third block is read. 38. The controller of claim 37, wherein the code is updated in the block, the block, and the code is stored. ,, the steps include:
First, the tribute originally stored in at least the fourth block of the 4th block is updated at the same time, and the #^中0 ^: take time table has a "third" corresponding to the fourth block. The value of the twentieth is used to indicate the number of times the fourth block is read.
TW96151575A 2007-12-31 2007-12-31 Method for preventing read-disturb happened in non TWI352354B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW96151575A TWI352354B (en) 2007-12-31 2007-12-31 Method for preventing read-disturb happened in non

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW96151575A TWI352354B (en) 2007-12-31 2007-12-31 Method for preventing read-disturb happened in non
US12/025,475 US8055834B2 (en) 2007-12-31 2008-02-04 Method for preventing read-disturb happened in non-volatile memory and controller thereof
US13/240,430 US8533385B2 (en) 2007-12-31 2011-09-22 Method for preventing read-disturb happened in non-volatile memory and controller thereof

Publications (2)

Publication Number Publication Date
TW200929227A TW200929227A (en) 2009-07-01
TWI352354B true TWI352354B (en) 2011-11-11

Family

ID=40799993

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96151575A TWI352354B (en) 2007-12-31 2007-12-31 Method for preventing read-disturb happened in non

Country Status (2)

Country Link
US (2) US8055834B2 (en)
TW (1) TWI352354B (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI375953B (en) * 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
KR101033465B1 (en) * 2008-12-30 2011-05-09 주식회사 하이닉스반도체 Flash Memory Apparatus and Read Operation Control Method Therefor
US8806144B2 (en) 2009-05-12 2014-08-12 Stec, Inc. Flash storage device with read cache
US7856528B1 (en) 2009-08-11 2010-12-21 Texas Memory Systems, Inc. Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system
US8189379B2 (en) 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US9081663B2 (en) * 2011-11-18 2015-07-14 Stec, Inc. Optimized garbage collection algorithm to improve solid state drive reliability
US8687421B2 (en) * 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
KR101329748B1 (en) * 2012-03-07 2013-11-14 삼성메디슨 주식회사 Image processing apparatus and operating method thereof
TWI467376B (en) * 2012-06-11 2015-01-01 Phison Electronics Corp Data protecting method, and memory controll and memory storage device using the same
JP6167646B2 (en) * 2013-04-30 2017-07-26 富士通株式会社 Information processing apparatus, control circuit, control program, and control method
KR20150140496A (en) * 2014-06-05 2015-12-16 삼성전자주식회사 Read reclaim method for performing real time data recovery and therefore memory system
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9747177B2 (en) * 2014-12-30 2017-08-29 International Business Machines Corporation Data storage system employing a hot spare to store and service accesses to data having lower associated wear
US10014060B2 (en) * 2015-01-30 2018-07-03 Sandisk Technologies Llc Memory system and method for reducing read disturb errors
TWI604306B (en) * 2016-08-08 2017-11-01 慧榮科技股份有限公司 Data management method for data storage device and memory controller

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3176019B2 (en) 1995-04-05 2001-06-11 株式会社東芝 Storage system including nonvolatile semiconductor storage unit
US6931480B2 (en) * 2001-08-30 2005-08-16 Micron Technology, Inc. Method and apparatus for refreshing memory to preserve data integrity
JP2004310650A (en) 2003-04-10 2004-11-04 Renesas Technology Corp Memory device
US7349258B2 (en) * 2005-12-06 2008-03-25 Sandisk Corporation Reducing read disturb for non-volatile storage
US7616481B2 (en) * 2005-12-28 2009-11-10 Sandisk Corporation Memories with alternate sensing techniques
US7814263B2 (en) * 2006-10-26 2010-10-12 Sandisk Il Ltd. Erase history-based flash writing method
US7539050B2 (en) * 2006-11-22 2009-05-26 Qimonda North America Corp. Resistive memory including refresh operation
TWM320715U (en) 2007-01-24 2007-10-11 C One Technology Corp Operating system for extending life-time of flash memory
JP2008181380A (en) * 2007-01-25 2008-08-07 Toshiba Corp Memory system, and method for controlling the same
JP5661227B2 (en) * 2007-02-07 2015-01-28 株式会社メガチップス Memory controller
JP2008287404A (en) * 2007-05-16 2008-11-27 Hitachi Ltd Apparatus for detecting and recovering data corruption in reading in non-access memory cell, and method thereof
US7849275B2 (en) * 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US8775758B2 (en) * 2007-12-28 2014-07-08 Sandisk Technologies Inc. Memory device and method for performing a write-abort-safe firmware update

Also Published As

Publication number Publication date
US8055834B2 (en) 2011-11-08
US8533385B2 (en) 2013-09-10
US20090172254A1 (en) 2009-07-02
TW200929227A (en) 2009-07-01
US20120011309A1 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
US10452283B2 (en) Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US10169383B2 (en) Method and system for scrubbing data within a data storage subsystem
US20170315756A1 (en) Data management for a data storage device
US10387313B2 (en) Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9183236B2 (en) Low level object version tracking using non-volatile memory write generations
TWI511151B (en) Systems and methods for obtaining and using nonvolatile memory health information
US8484522B2 (en) Apparatus, system, and method for bad block remapping
TWI516924B (en) Lba bitmap usage
US8489815B2 (en) Managing cache data and metadata
CN102999431B (en) Weave sequence counter for non-volatile memory systems
Bairavasundaram et al. An analysis of data corruption in the storage stack
CN102929750B (en) Nonvolatile media dirty region tracking
Matthews et al. Intel® turbo memory: Nonvolatile disk caches in the storage hierarchy of mainstream computer systems
TWI425355B (en) Data access method, memory controller, memory storage system
US7917803B2 (en) Data conflict resolution for solid-state memory devices
EP2793132B1 (en) Method and system for recovery of metadata in a flash memory system
CN1707481B (en) Systems and methods for automatic database or file system maintenance and repair
EP2297642B1 (en) Copyback optimization for memory system
JP4852548B2 (en) Method and apparatus for using memory programmable once or several times in a host device designed for erasable / rewritable memory
JP3078946B2 (en) Managing method of batch erase nonvolatile memory and semiconductor disk device
TWI388983B (en) A method and system for facilitating fast wake-up of a flash memory system
EP2550745B1 (en) Non-regular parity distribution detection via metadata tag
CN104471546B (en) Effective redundant arrays of inexpensive disks skill and technique for improving solid state hard disc reliability
EP1744246B1 (en) File system having deferred verification of data integrity
US8001165B2 (en) Storage system format for transaction safe file system