US20080162798A1 - Wear leveling techniques for flash eeprom systems - Google Patents

Wear leveling techniques for flash eeprom systems Download PDF

Info

Publication number
US20080162798A1
US20080162798A1 US12/038,666 US3866608A US2008162798A1 US 20080162798 A1 US20080162798 A1 US 20080162798A1 US 3866608 A US3866608 A US 3866608A US 2008162798 A1 US2008162798 A1 US 2008162798A1
Authority
US
United States
Prior art keywords
memory
memory cells
bank
banks
groups
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/038,666
Inventor
Karl M.J. Lofgren
Robert D. Norman
Gregory B. Thelin
Anil Gupta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
Lofgren Karl M J
Norman Robert D
Thelin Gregory B
Anil Gupta
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25054816&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20080162798(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Lofgren Karl M J, Norman Robert D, Thelin Gregory B, Anil Gupta filed Critical Lofgren Karl M J
Priority to US12/038,666 priority Critical patent/US20080162798A1/en
Publication of US20080162798A1 publication Critical patent/US20080162798A1/en
Assigned to SANDISK TECHNOLOGIES LLC reassignment SANDISK TECHNOLOGIES LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SANDISK CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/7211Wear leveling

Definitions

  • This invention relates generally to mass digital data storage systems using flash electrically erasable and programmable read only memory (“EEPROM”) technology, and, more specifically, to techniques of controlling the use of such systems in order to improve their useful life.
  • EEPROM electrically erasable and programmable read only memory
  • Each EEPROM cell includes an electrically floating gate positioned over a substrate channel between source and drain regions.
  • a thin gate oxide layer separates the floating gate from the substrate.
  • the threshold level of the cell is controlled by an amount of charge that is placed on the floating gate. If the charge level is above some threshold, the cell is read to have one state, and if below that threshold, is read to have another state.
  • the desired floating gate charge level is programmed by applying an appropriate combination of voltages to the source, drain, substrate and a separate control gate, for a designated period of time, in order to cause electrons to move from the substrate to the floating gate through the gate oxide layer.
  • Current leakage from the floating gate is very small over time, thereby providing permanent storage.
  • the charge level on the floating gate can be reduced by an appropriate combination of voltages applied to the elements described above, but it is preferable to include a separate erase gate that is positioned adjacent the floating gate with a thin layer of tunnel oxide between them.
  • a large number of such cells form a memory.
  • the cells are preferably arranged on a semiconductor integrated circuit chip in a two-dimensional array with a common control gate provided for a row of such cells as a word line and the cells in each column having either their drain or source connected to a common bit line.
  • Each cell is then individually addressable by applying the appropriate voltages to the word and bit lines that intersect at the desired cell.
  • the erase gates of a block of cells are generally connected together in order to allow all of the cells in the block to be erased at the same time, i.e., in a “flash”.
  • cells can be rewritten with data by either programming with electrons from the substrate or erasing through their erase gates, depending upon the state in which they are found and the state to which they are to be rewritten.
  • flash EEPROM systems are generally operated by first erasing all of the cells in a erasable block to a common level, and then reprogramming them to desired new states.
  • Flash EEPROM mass storage systems have many advantages for a large number of applications. These advantages include their non-volatility, speed, ease of erasure and reprogramming, small physical size and similar factors. Because there are no mechanical moving parts, such systems are not subject to failures of the type most often encountered with hard and floppy disk mass storage systems. However, EEPROM cells do have a limited lifetime in terms of the number of times they can be reprogrammed or erased. As the number of cycles to which a cell is subjected reaches a few tens of thousands, it begins to take more voltage and/or time to both program and erase the cell. This is believed due to electrons being trapped in the respective gate and tunnel dielectric layers during repetitive programming and erase cycles.
  • the EEPROM array of cells is divided into two or more interchangeable banks of cells, each bank having one or more blocks of cells.
  • a block is the smallest group of cells that is erasable or programmable at one time.
  • a memory controller provides for interchanging such banks over the lifetime of the memory at times when it is detected that they are receiving significantly uneven use.
  • FIG. 1 generally illustrates in block diagram form a computer system with non-volatile solid state memory that utilizes the various aspects of the present invention
  • FIG. 2 schematically illustrates ways in which the solid state memory in the system of FIG. 1 may be operated in accordance with the present invention
  • FIG. 3 shows in block diagram form a specific type of memory system of FIG. 1 in which the present invention is utilized;
  • FIG. 4 shows a preferred organization of a block of memory cells of the system of FIG. 3 ;
  • FIG. 5 is a flow diagram showing a preferred operation of the memory system of FIGS. 3 and 4 ;
  • FIGS. 6A , 6 B and 6 C illustrate certain operations set forth in the flow diagram of FIG. 5 .
  • FIG. 1 shows a general computer system that includes flash EEPROM memory array 11 whose operation is controlled by a memory controller 13 .
  • the memory system 11 and 13 is connected to a computer system bus 15 , to which also are connected a system controlling microprocessor 17 , random access memory (“RAM”) 19 , input/output circuits (“I/O”) 21 , and various other components as appropriate for a specific computer system.
  • the memory controller 13 manages operation of the EEPROM memory 11 in a way to maximize the lifetime of the memory system by avoiding uneven use of any one part of it.
  • FIG. 2 is a diagram which conceptually and generally illustrates such a memory operation technique as well as showing various alternatives for specific implementations of the technique.
  • the EEPROM memory 11 is organized into a large number of blocks of flash EEPROM cells, each block being the smallest unit of cells that is flash erasable. In the case where separate erase gates are provided as part of the EEPROM cells, all the erase gates of the cells in each block are connected together.
  • the blocks of memory cells are further organized into banks. Each of the n banks in this illustration contain m blocks. The quantity n must be at least two, and the quantity m is one or more.
  • each block is designed to contain a standard computer sector's worth of data plus some overhead fields.
  • Blocks of data are received from the computer system over the bus 15 , indicated to travel along a path 25 .
  • a logical address of a memory location for a block 23 to be written into is also sent by the computer system.
  • This logical address is converted by an address translation table 27 into a physical memory address.
  • a path 29 indicates the block within the memory 11 into which the data is to be written.
  • the address translation table 27 simply converts a given logical address from the computer system into a corresponding physical address of a block within the memory 11 that is to receive that data.
  • the translation table 27 is reprogrammable by signals in a path 31 from a processing unit 33 to redirect data blocks of given logical addresses into different physical banks of the memory 11 in order to even out use of the banks.
  • a running record 35 tabulates information from logical addresses of data blocks being directed to the memory system from the computer system.
  • Another running record 37 tabulates information of physical block usage within the memory array 11 itself.
  • the processing circuits 33 take this data from either or both of the records 35 and 37 and determine whether any data shifting among banks in the memory is required. Depending upon specific applications, some of the information available from monitoring the logical or physical addresses of data blocks being programmed is used, and sometimes both.
  • the purpose of the conceptual diagram of FIG. 2 is to explain a wide range of options for specific implementations of wear leveling. In this example, it is assumed that the banks are the smallest units of memory which may be swapped in response to utilization of this information.
  • a record may be maintained of the number of times that the block was written since operation of the memory array 11 was first started. This number for physical blocks maintained by the record 37 will be higher than the logical number in record 35 because of overhead writes which the memory controller 13 may cause to occur.
  • the processing 33 can determine whether there is uneven wear among the various banks of memory cells.
  • the records 35 or 37 may be stored in separate tables or, to the extent possible, maintained as part of the blocks to which the data pertains in an overhead section or the information stored in the block. Where an accumulation of numbers must be made, it is preferable to keep running totals in order to minimize the amount of processing that is necessary when the wear leveling operation is performed.
  • the processing 33 can use this information in a number of different ways to detect when one or more of the memory banks is being used considerably more frequently than one or more of the other memory banks.
  • the maximum usage of any of the banks is first noted and a calculation made of the total number of block writes which could have been accomplished if each bank of the memory 11 was used to the exactly the same amount. This is the ideal, perfect even wear of the memory that is a goal of the wear leveling process. This is then compared with the total number of erase and write cycles that have occurred in the memory, the arithmetical difference being indicative of how far the system is operating from that ideal. A high difference value indicates a large imbalance in usage among the blocks. It may be calculated either from data acquired from the logical address records 35 or from the physical address records 37 . In order to save memory, the logical address records 35 may be omitted entirely if the system speed is not unduly limited by the omission.
  • a wear leveling operation can be triggered by that difference exceeding a certain magnitude.
  • that difference can be used in conjunction with other data before a wear leveling event is initiated.
  • That other data includes static information of the ideal number of blocks that could be written during the life of the memory system if the wear is perfectly evenly distributed.
  • a target for a total actual number of blocks to be stored over the lifetime of the memory is then determined, taking into account that perfectly even wear is not going to occur under any circumstances.
  • This static difference between the ideal and target number of total block writes during the lifetime of the system is then compared with the actual difference number described above. When that calculated difference is about the same or less than the static target difference, the memory is operating within its target parameters and no action is taken.
  • the wear leveling process 33 is then initiated.
  • the wear leveling processing is accomplished in a feedback system. Adjustments are made in the memory bank assignments in order to minimize a selected one of the above described differences. Those differences are calculated from data which results from those memory bank assignments. The differences can be viewed as feedback control variables. Adjustments in operation of the memory are made to minimize the selected feedback variable.
  • Another example of a way of determining when wear leveling is necessary is to compare the number of block writes which have occurred to the present time in each of the memory banks, either by total number of block writes or some type of average of cycles of blocks within the bank, by monitoring the physical memory usage record 37 . When those bank usage numbers are significantly different from each other, uneven wear among the banks is apparent. When these numbers become skewed in excess of a set threshold amount, then the wear leveling processing 33 is initiated.
  • FIG. 3 provides an outline of a specific system in which this wear leveling technique is employed.
  • the memory controller 13 includes appropriate circuits 43 for interfacing with the computer system bus 15 , a controller microprocessor 45 , volatile buffer memory 47 for temporarily storing data being written to or read from the memory, and control logic circuitry 49 . These circuit units are interconnected and under the control of the microprocessor 45 .
  • the control logic circuitry 49 includes the memory system address translation table 27 ′, corresponding to the table 27 described with respect to FIG. 2 .
  • the EEPROM banks 111 are formed of a number of individual integrated circuit chips, such as circuit chips 51 and 53 , which are connected to the controller logic 49 over circuits 55 .
  • the number of EEPROM circuit chips employed depends upon the storage capacity desired for the memory system. Further details of the system illustrated in FIG. 3 can be had by reference to a co-pending patent application entitled “Device and Method for Controlling Solid-State Memory System”, Ser. No. 07/736,733, filed Jul. 26, 1991, naming Robert D. Norman, Karl M. J. Lofgren, Jeffrey Donald Stai, Anil Gupta, and Sanjay Mehrotra as inventors, now U.S. Pat. No. 5,430,859.
  • the EEPROM cells are arranged on each of the integrated circuit chips 51 , 53 , etc., in four separate two-dimensional arrays of rows and columns of such cells.
  • a small area 57 contains interfacing circuits, while four areas 59 , 61 , 63 and 65 provide separate arrays of rows and columns of memory cells arranged as quadrants of the chip.
  • each of the quadrants 59 , 61 , 53 and 65 is designated as a memory bank, the smallest unit of memory that is swapped in order to improve wear leveling.
  • a large number of such banks are provided in a typical memory system that can employ from a few to many EEPROM integrated circuit chips, with four such banks per chip.
  • Each bank is, in turn, subdivided into memory blocks, such as the block 67 illustrated in the bank 61 .
  • Each bank can contain from several to hundreds of such blocks, depending, of course, on the density of the EEPROM cell formations on the chip, its size, and similar factors. Alternatively, but usually not preferred, each bank can have a single block.
  • each block contains, in this example, four rows of memory cells. Most of the cells in each row form a portion 69 devoted to storing a sector of data. Such a data sector will typically conform to existing computer standards, such as having a capacity of 512 bytes. Accompanying each such data sector is header information, which is stored in another portion of each of the four rows of the block.
  • Each such block is the smallest unit of the memory system which can be separately erased. That is, all of the erase gates of each memory block are connected together for simultaneous erasure when appropriately addressed. Although multiple blocks may be erased at one time, portions of memory smaller than a block size are not separately erasable.
  • a field 73 is included in the header 71 to maintain a count of the number of times that the block has been erased and rewritten. As part of an erasure and rewrite cycle, this count is updated by one.
  • data is swapped among memory banks in order to accomplish wear leveling, it is the data stored in the portion 69 of each block of a bank that is swapped.
  • the header 71 including the cycle count field 73 , remains with its physical block.
  • the cycle count 73 starts with one the first time its respective block of a new memory is erased and written, and is incremented by one upon the occurrence of each subsequent cycle during the lifetime of the memory. It is the count field 73 of each block that is read and processed periodically throughout the lifetime of the memory in order to determine whether there is uneven wear among the various memory banks and, if so, how a leveling of that uneven use can be accomplished.
  • a process flow diagram of FIG. 5 provides an example of wear leveling control of the memory system described above with respect to FIGS. 3 and 4 .
  • the process can be begun either automatically upon each initialization of the computer system, as indicated by a step 75 , or upon the memory controller 13 receiving a command from the host computer system microprocessor 17 , as indicated by a step 77 .
  • Whether the process is begun automatically upon system initialization at step 75 depends upon how the memory controller is set by a hard wire connection.
  • a process path 79 indicates the controller being set to commence a review of the wear leveling each time the system is initialized, such as each time power is turned on to the system. In either event, the process is controllable by the host computer system, generally as part of an operating software system that periodically causes the wear leveling review to begin.
  • the cycle count field 73 of each data storage block in the system is read.
  • An average block cycle count for each bank is then calculated from these numbers.
  • the average cycle counts for each bank are then compared to determine whether there is such an imbalance of use of the various banks that a wear leveling operation should take place.
  • a step 85 shows a further limitation, which references the average bank usage count numbers.
  • the system includes a spare bank of memory which is used in the wear leveling process.
  • the bank having the highest average block usage count is designated as the current spare bank.
  • the count of the current spare bank which has not been used for data storage purposes since the last wear leveling operation, provides a benchmark. Only if the usage of some other bank exceeds the previous record use carried by the current spare bank, then the process continues.
  • a next step 87 compares the maximum and minimum bank usage numbers to determine whether they differ by more than some present number A. If not, the wear leveling process reverts back to the step 77 wherein it awaits another command from the host computer system. If the difference does exceed A, however, then a swapping of banks of memory is accomplished in subsequent steps in order to even out the bank usage during future cycles.
  • An example of the difference number A is 15,000 erase and write cycles. That number can vary considerably, however, depending upon the desired memory system operation. If the number is made too small, wear leveling cycles will occur too frequently, thus adding to the wear of the system since some overhead erase and rewrite cycles are required each time the wear leveling process in accomplished. If the number A is too large, on the other hand, the lifetime of the memory system is likely to be cut short by one or more banks reaching its lifetime limit of erase and rewrite cycles long prior to other banks approaching such a limit.
  • FIG. 6A Before proceeding with other steps of the process of FIG. 5 , an example of the translation table 27 ′ and its use is indicated in FIG. 6A .
  • This state of the translation table 27 ′ assumes a simplistic correspondence between logical and physical memory addresses. Data blocks having logical addresses within bank 0 are mapped by the translation table 27 ′ into physical bank 0 , those of logical bank 1 to physical bank 1 , and so forth.
  • step 89 of a leveling procedure data stored in the bank with the minimum count is written into the current spare memory bank. This is illustrated in FIG. 6B . Assuming the average block counts for each of the banks are set forth for purposes of explanation in FIG. 6A , bank 0 at this point in time has the highest average count, and bank (n ⁇ 1) has the lowest. Bank n is the current spare bank. Therefore, in step 89 of FIG. 5 , data is moved from bank (n ⁇ 1) to bank n, as indicated at 91 . Next, as indicated by a step 93 of FIG. 5 , the minimum count bank (n ⁇ 1) is erased.
  • a next step 93 the data of the maximum bank 0 is written into the former minimum usage bank (n ⁇ 1), as indicated at 97 of FIG. 6B .
  • a next step 99 then erases the maximum used bank 0 and it is designated as a new spare bank.
  • the translation table 27 ′ is updated so that blocks of data within the swapped banks are redirected to those new physical bank locations.
  • FIG. 6C shows an example of that, where the translation table 27 ′ is changed from what it was in FIG. 6A to level out the wear of the various banks during future erase and rewrite cycles. Accordingly, the most heavily used bank having a logical address 0 is remapped into the bank (n ⁇ 1), the same bank into which the physical bank 0 data blocks were written earlier in the process. Similarly, the least used logical bank n address is remapped into physical bank n, the previous spare bank in the state shown in FIG. 6A . The most heavily used bank 0 , as shown in FIG.
  • Bank 0 is now the new current spare bank. It has the maximum use of any bank to-date. It will now rest and the wear leveling process will not be accomplished again until the usage of some other bank exceeds that of bank 0 , as determined in step 85 of FIG. 5 .
  • a spare bank of EEPROM memory need not be designated for the wear leveling process, thus freeing up another bank for storing data.
  • Data can simply be swapped between the banks experiencing the maximum and minimum cycles to-date, and the translation table 27 ′ then being updated to redirect data accordingly.
  • the controller buffer memory 47 can be used for temporary storage of data from the maximum and minimum use banks as data is being swapped between them. The count of the most heavily used bank is then remembered and used in the comparison step 35 when determining whether the imbalance is sufficient to justify the wear leveling process being performed.
  • the buffer memory 47 is usually preferred to be RAM, any power failure or significant power glitches occurring during the wear leveling process will cause data to be lost.
  • the use of the spare bank in the manner described above will prevent such a data loss since the data of each block being swapped will remain in EEPROM memory at all times.

Abstract

A mass storage system made of flash electrically erasable and programmable read only memory (“EEPROM”) cells organized into blocks, the blocks in turn being grouped into memory banks, is managed to even out the numbers of erase and rewrite cycles experienced by the memory banks in order to extend the service lifetime of the memory system. Since this type of memory cell becomes unusable after a finite number of erase and rewrite cycles, although in the tens of thousands of cycles, uneven use of the memory banks is avoided so that the entire memory does not become inoperative because one of its banks has reached its end of life while others of the banks are little used. Relative use of the memory banks is monitored and, in response to detection of uneven use, have their physical addresses periodically swapped for each other in order to even out their use over the lifetime of the memory.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a division of application Ser. No. 11/028,882, filed Jan. 3, 2005, which is a continuation of application Ser. No. 10/428,422, filed May 2, 2003, now U.S. Pat. No. 6,850,443, which is a continuation of application Ser. No. 09/108,084, filed Jun. 30, 1998, now U.S. Pat. No. 6,594,183, which is a continuation of application Ser. No. 07/759,212, filed Sep. 13, 1991, now U.S. Pat. No. 6,230,233, which applications and patents are incorporated herein in their entirety by this reference.
  • BACKGROUND OF THE INVENTION
  • This invention relates generally to mass digital data storage systems using flash electrically erasable and programmable read only memory (“EEPROM”) technology, and, more specifically, to techniques of controlling the use of such systems in order to improve their useful life.
  • An advantage of using EEPROM technology is that a solid-state, non-volatile memory is provided, which can be repetitively reprogrammed. Each EEPROM cell includes an electrically floating gate positioned over a substrate channel between source and drain regions. A thin gate oxide layer separates the floating gate from the substrate. The threshold level of the cell is controlled by an amount of charge that is placed on the floating gate. If the charge level is above some threshold, the cell is read to have one state, and if below that threshold, is read to have another state.
  • The desired floating gate charge level is programmed by applying an appropriate combination of voltages to the source, drain, substrate and a separate control gate, for a designated period of time, in order to cause electrons to move from the substrate to the floating gate through the gate oxide layer. Current leakage from the floating gate is very small over time, thereby providing permanent storage. The charge level on the floating gate can be reduced by an appropriate combination of voltages applied to the elements described above, but it is preferable to include a separate erase gate that is positioned adjacent the floating gate with a thin layer of tunnel oxide between them.
  • A large number of such cells form a memory. The cells are preferably arranged on a semiconductor integrated circuit chip in a two-dimensional array with a common control gate provided for a row of such cells as a word line and the cells in each column having either their drain or source connected to a common bit line. Each cell is then individually addressable by applying the appropriate voltages to the word and bit lines that intersect at the desired cell. Rather than providing for such individual addressing for the purpose of erasing the cells, however, the erase gates of a block of cells are generally connected together in order to allow all of the cells in the block to be erased at the same time, i.e., in a “flash”.
  • In operating such a memory system, cells can be rewritten with data by either programming with electrons from the substrate or erasing through their erase gates, depending upon the state in which they are found and the state to which they are to be rewritten. However, flash EEPROM systems are generally operated by first erasing all of the cells in a erasable block to a common level, and then reprogramming them to desired new states.
  • Flash EEPROM mass storage systems have many advantages for a large number of applications. These advantages include their non-volatility, speed, ease of erasure and reprogramming, small physical size and similar factors. Because there are no mechanical moving parts, such systems are not subject to failures of the type most often encountered with hard and floppy disk mass storage systems. However, EEPROM cells do have a limited lifetime in terms of the number of times they can be reprogrammed or erased. As the number of cycles to which a cell is subjected reaches a few tens of thousands, it begins to take more voltage and/or time to both program and erase the cell. This is believed due to electrons being trapped in the respective gate and tunnel dielectric layers during repetitive programming and erase cycles. After a certain number of cycles, the number of electrons that are so trapped begin to change the operating characteristics of the cell. At some point, after one hundred thousand or more such cycles, so much voltage or time is required to either program or erase the cell, or both, that it becomes impractical to use it any further. The lifetime of the cell has at that point ended. This characteristic of EEPROM cells is described in European Patent Application Publication No. 349,775—Harari (1990).
  • Therefore, it is a principal object of the present invention, given a finite lifetime of individual EEPROM cells, to maximize the service lifetime of an entire mass storage EEPROM system.
  • SUMMARY OF THE INVENTION
  • This and additional objects are accomplished by the present invention, wherein, briefly and generally, the EEPROM array of cells is divided into two or more interchangeable banks of cells, each bank having one or more blocks of cells. A block is the smallest group of cells that is erasable or programmable at one time. A memory controller provides for interchanging such banks over the lifetime of the memory at times when it is detected that they are receiving significantly uneven use.
  • If such an interchange, or wear leveling, is not carried out in the case where there is significantly uneven use among groups of EEPROM cells, one group will reach its end of lifetime while other groups have significant life left in them. When one group reaches an end of lifetime, the entire memory may have to be replaced unless extra groups of memory cells are included in the system for replacing those that reach their lifetime. However, the techniques of the present invention allow for extending overall memory system lifetime without having to provide such replacement groups of memory cells. The ability to interchange groups of cells to result in more even wear among the groups is particularly advantageous in computer system applications wherein flash EEPROM memory is used in the nature of a disk drive. This is because the memory is subjected to frequent erase and reprogramming cycles in some groups but not others, and since the large capacity of the memory would require a large number of spare groups in order to obtain a reasonable memory system lifetime without use of the group interchange technique of the present invention.
  • Additional objects, advantages and features of the various aspects of the present invention will become apparent from the following description of its preferred embodiments, which description should be taken in conjunction with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 generally illustrates in block diagram form a computer system with non-volatile solid state memory that utilizes the various aspects of the present invention;
  • FIG. 2 schematically illustrates ways in which the solid state memory in the system of FIG. 1 may be operated in accordance with the present invention;
  • FIG. 3 shows in block diagram form a specific type of memory system of FIG. 1 in which the present invention is utilized;
  • FIG. 4 shows a preferred organization of a block of memory cells of the system of FIG. 3;
  • FIG. 5 is a flow diagram showing a preferred operation of the memory system of FIGS. 3 and 4; and
  • FIGS. 6A, 6B and 6C illustrate certain operations set forth in the flow diagram of FIG. 5.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • In order to set forth one environment in which the improved memory system of the present invention may be utilized, FIG. 1 shows a general computer system that includes flash EEPROM memory array 11 whose operation is controlled by a memory controller 13. The memory system 11 and 13 is connected to a computer system bus 15, to which also are connected a system controlling microprocessor 17, random access memory (“RAM”) 19, input/output circuits (“I/O”) 21, and various other components as appropriate for a specific computer system. In the improvements being described, the memory controller 13 manages operation of the EEPROM memory 11 in a way to maximize the lifetime of the memory system by avoiding uneven use of any one part of it.
  • FIG. 2 is a diagram which conceptually and generally illustrates such a memory operation technique as well as showing various alternatives for specific implementations of the technique. The EEPROM memory 11 is organized into a large number of blocks of flash EEPROM cells, each block being the smallest unit of cells that is flash erasable. In the case where separate erase gates are provided as part of the EEPROM cells, all the erase gates of the cells in each block are connected together. The blocks of memory cells are further organized into banks. Each of the n banks in this illustration contain m blocks. The quantity n must be at least two, and the quantity m is one or more.
  • In a specific form, each block is designed to contain a standard computer sector's worth of data plus some overhead fields. Blocks of data, indicated in dashed outline by a block 23, are received from the computer system over the bus 15, indicated to travel along a path 25. A logical address of a memory location for a block 23 to be written into is also sent by the computer system. This logical address is converted by an address translation table 27 into a physical memory address. A path 29 indicates the block within the memory 11 into which the data is to be written. The address translation table 27 simply converts a given logical address from the computer system into a corresponding physical address of a block within the memory 11 that is to receive that data. As explained later, the translation table 27 is reprogrammable by signals in a path 31 from a processing unit 33 to redirect data blocks of given logical addresses into different physical banks of the memory 11 in order to even out use of the banks.
  • In preparation for the processing circuits 33 to decide whether such redirection is required, information is first gathered of memory characteristics and usage. A running record 35 tabulates information from logical addresses of data blocks being directed to the memory system from the computer system. Another running record 37 tabulates information of physical block usage within the memory array 11 itself. The processing circuits 33 take this data from either or both of the records 35 and 37 and determine whether any data shifting among banks in the memory is required. Depending upon specific applications, some of the information available from monitoring the logical or physical addresses of data blocks being programmed is used, and sometimes both. The purpose of the conceptual diagram of FIG. 2 is to explain a wide range of options for specific implementations of wear leveling. In this example, it is assumed that the banks are the smallest units of memory which may be swapped in response to utilization of this information.
  • Among the types of information that may beneficially be acquired by the records 35 and 37 are the following:
  • (a) The total number of blocks of memory with which the computer system is working at the moment. The number of logical blocks recognized by the host computer operating system, noted in the record 35, will obviously be no more than the number of available physical blocks within interchangeable banks, noted in the record 37, and will likely be fewer. The physical specification obviously can be no higher than the number of physical blocks of memory available for data storage, and generally will be less in order to allow for some memory blocks becoming defective.
  • (b) For each of the available blocks, a record may be maintained of the number of times that the block was written since operation of the memory array 11 was first started. This number for physical blocks maintained by the record 37 will be higher than the logical number in record 35 because of overhead writes which the memory controller 13 may cause to occur.
  • (c) A total number of block writing cycles that have been initiated since the memory array 11 was first put into operation, the logical number in record 35 and the physical number in record 37.
  • (d) The total number of cycles experienced by the interchangeable banks, either by way of a total of all the blocks of each bank, or by way of an average number per bank. Both a logical record 35 and a physical record 37 of this may be maintained.
  • (e) Related to (d) is to maintain an identification of the banks having the minimum and the maximum number of cycles. The minimum and maximum numbers can than be quickly ascertained.
  • This provides a great deal of information from which the processing 33 can determine whether there is uneven wear among the various banks of memory cells. The records 35 or 37 may be stored in separate tables or, to the extent possible, maintained as part of the blocks to which the data pertains in an overhead section or the information stored in the block. Where an accumulation of numbers must be made, it is preferable to keep running totals in order to minimize the amount of processing that is necessary when the wear leveling operation is performed. The processing 33 can use this information in a number of different ways to detect when one or more of the memory banks is being used considerably more frequently than one or more of the other memory banks.
  • As an example of one alternative, the maximum usage of any of the banks is first noted and a calculation made of the total number of block writes which could have been accomplished if each bank of the memory 11 was used to the exactly the same amount. This is the ideal, perfect even wear of the memory that is a goal of the wear leveling process. This is then compared with the total number of erase and write cycles that have occurred in the memory, the arithmetical difference being indicative of how far the system is operating from that ideal. A high difference value indicates a large imbalance in usage among the blocks. It may be calculated either from data acquired from the logical address records 35 or from the physical address records 37. In order to save memory, the logical address records 35 may be omitted entirely if the system speed is not unduly limited by the omission.
  • A wear leveling operation can be triggered by that difference exceeding a certain magnitude. Alternatively, that difference can be used in conjunction with other data before a wear leveling event is initiated. That other data includes static information of the ideal number of blocks that could be written during the life of the memory system if the wear is perfectly evenly distributed. A target for a total actual number of blocks to be stored over the lifetime of the memory is then determined, taking into account that perfectly even wear is not going to occur under any circumstances. This static difference between the ideal and target number of total block writes during the lifetime of the system is then compared with the actual difference number described above. When that calculated difference is about the same or less than the static target difference, the memory is operating within its target parameters and no action is taken. However, when the calculated difference number exceeds the static target difference, the memory is not operating up to expectations. If continued to operate in that manner, one or more blocks of the memory will reach their end of lifetime before the targeted number of user writes has been reached. Therefore, when the calculated difference exceeds the target difference by some amount, the wear leveling process 33 is then initiated.
  • When wear leveling is accomplished, two main events occur. First, as indicated by a path 39 of FIG. 2, data is transferred between the most heavily used and least used banks. For example, if bank 0 has a very large number of erase and rewrite cycles when compared to that of bank 1, that data in each of these banks can be swapped. The second thing that happens is that the address translation table is updated to result in directing data blocks formerly directed to bank 0 to bank 1, and vice versa. Logical addresses from the computer system that previously caused its associated data block to be written into a block having a physical address within bank 0 will now cause the block to be written within bank 1. Similarly, data blocks previously directed to bank 1 are directed to bank 0.
  • As can be visualized from FIG. 2, the wear leveling processing is accomplished in a feedback system. Adjustments are made in the memory bank assignments in order to minimize a selected one of the above described differences. Those differences are calculated from data which results from those memory bank assignments. The differences can be viewed as feedback control variables. Adjustments in operation of the memory are made to minimize the selected feedback variable.
  • Some limitation should be imposed on how often the wear leveling process is allowed to take place. If done again before there have been many operational cycles experienced by the memory, the process will undesirably swap operation of the system back to the previous condition of promoting maximum uneven wear. If the process is allowed to be immediately performed a further time, operation will swap back to the low wear level case, and so on. Unnecessary use of the wear leveling process simply adds to wear of the memory, and shortening its life, rather than extending it. Therefore, some limitation is preferably imposed on how often the wear leveling process is performed, such as by allowing it only after many thousands of cycles have occurred since the last time. This is, in effect, a limitation upon the feedback system loop gain.
  • Another example of a way of determining when wear leveling is necessary is to compare the number of block writes which have occurred to the present time in each of the memory banks, either by total number of block writes or some type of average of cycles of blocks within the bank, by monitoring the physical memory usage record 37. When those bank usage numbers are significantly different from each other, uneven wear among the banks is apparent. When these numbers become skewed in excess of a set threshold amount, then the wear leveling processing 33 is initiated.
  • It is this latter technique that is used in a specific implementation which will be described with respect to FIGS. 3-6. FIG. 3 provides an outline of a specific system in which this wear leveling technique is employed. The memory controller 13 includes appropriate circuits 43 for interfacing with the computer system bus 15, a controller microprocessor 45, volatile buffer memory 47 for temporarily storing data being written to or read from the memory, and control logic circuitry 49. These circuit units are interconnected and under the control of the microprocessor 45. The control logic circuitry 49 includes the memory system address translation table 27′, corresponding to the table 27 described with respect to FIG. 2. The EEPROM banks 111 are formed of a number of individual integrated circuit chips, such as circuit chips 51 and 53, which are connected to the controller logic 49 over circuits 55. The number of EEPROM circuit chips employed depends upon the storage capacity desired for the memory system. Further details of the system illustrated in FIG. 3 can be had by reference to a co-pending patent application entitled “Device and Method for Controlling Solid-State Memory System”, Ser. No. 07/736,733, filed Jul. 26, 1991, naming Robert D. Norman, Karl M. J. Lofgren, Jeffrey Donald Stai, Anil Gupta, and Sanjay Mehrotra as inventors, now U.S. Pat. No. 5,430,859.
  • The EEPROM cells are arranged on each of the integrated circuit chips 51, 53, etc., in four separate two-dimensional arrays of rows and columns of such cells. Referring to the circuit chip 51, for example, a small area 57 contains interfacing circuits, while four areas 59, 61, 63 and 65 provide separate arrays of rows and columns of memory cells arranged as quadrants of the chip. In this specific example, each of the quadrants 59, 61, 53 and 65 is designated as a memory bank, the smallest unit of memory that is swapped in order to improve wear leveling. A large number of such banks are provided in a typical memory system that can employ from a few to many EEPROM integrated circuit chips, with four such banks per chip. Each bank is, in turn, subdivided into memory blocks, such as the block 67 illustrated in the bank 61. Each bank can contain from several to hundreds of such blocks, depending, of course, on the density of the EEPROM cell formations on the chip, its size, and similar factors. Alternatively, but usually not preferred, each bank can have a single block.
  • The nature of each block is illustrated in FIG. 4. Each block contains, in this example, four rows of memory cells. Most of the cells in each row form a portion 69 devoted to storing a sector of data. Such a data sector will typically conform to existing computer standards, such as having a capacity of 512 bytes. Accompanying each such data sector is header information, which is stored in another portion of each of the four rows of the block. Each such block is the smallest unit of the memory system which can be separately erased. That is, all of the erase gates of each memory block are connected together for simultaneous erasure when appropriately addressed. Although multiple blocks may be erased at one time, portions of memory smaller than a block size are not separately erasable.
  • A field 73 is included in the header 71 to maintain a count of the number of times that the block has been erased and rewritten. As part of an erasure and rewrite cycle, this count is updated by one. When data is swapped among memory banks in order to accomplish wear leveling, it is the data stored in the portion 69 of each block of a bank that is swapped. The header 71, including the cycle count field 73, remains with its physical block. The cycle count 73 starts with one the first time its respective block of a new memory is erased and written, and is incremented by one upon the occurrence of each subsequent cycle during the lifetime of the memory. It is the count field 73 of each block that is read and processed periodically throughout the lifetime of the memory in order to determine whether there is uneven wear among the various memory banks and, if so, how a leveling of that uneven use can be accomplished.
  • A process flow diagram of FIG. 5 provides an example of wear leveling control of the memory system described above with respect to FIGS. 3 and 4. In this example, the process can be begun either automatically upon each initialization of the computer system, as indicated by a step 75, or upon the memory controller 13 receiving a command from the host computer system microprocessor 17, as indicated by a step 77. Whether the process is begun automatically upon system initialization at step 75 depends upon how the memory controller is set by a hard wire connection. A process path 79 indicates the controller being set to commence a review of the wear leveling each time the system is initialized, such as each time power is turned on to the system. In either event, the process is controllable by the host computer system, generally as part of an operating software system that periodically causes the wear leveling review to begin.
  • Once begun, as indicated by a step 81, the cycle count field 73 of each data storage block in the system is read. An average block cycle count for each bank is then calculated from these numbers. The average cycle counts for each bank, as indicated by a step 83, are then compared to determine whether there is such an imbalance of use of the various banks that a wear leveling operation should take place.
  • Even though the steps 75 and 77 provide a limitation and control on how often this process is accomplished, a step 85 shows a further limitation, which references the average bank usage count numbers. As will be explained more fully below, the system includes a spare bank of memory which is used in the wear leveling process. During each implementation of the process, the bank having the highest average block usage count is designated as the current spare bank. Thus, in order to prevent banks from being unnecessarily swapped back and forth, the count of the current spare bank, which has not been used for data storage purposes since the last wear leveling operation, provides a benchmark. Only if the usage of some other bank exceeds the previous record use carried by the current spare bank, then the process continues.
  • A next step 87, in that case, compares the maximum and minimum bank usage numbers to determine whether they differ by more than some present number A. If not, the wear leveling process reverts back to the step 77 wherein it awaits another command from the host computer system. If the difference does exceed A, however, then a swapping of banks of memory is accomplished in subsequent steps in order to even out the bank usage during future cycles. An example of the difference number A is 15,000 erase and write cycles. That number can vary considerably, however, depending upon the desired memory system operation. If the number is made too small, wear leveling cycles will occur too frequently, thus adding to the wear of the system since some overhead erase and rewrite cycles are required each time the wear leveling process in accomplished. If the number A is too large, on the other hand, the lifetime of the memory system is likely to be cut short by one or more banks reaching its lifetime limit of erase and rewrite cycles long prior to other banks approaching such a limit.
  • Before proceeding with other steps of the process of FIG. 5, an example of the translation table 27′ and its use is indicated in FIG. 6A. This state of the translation table 27′ assumes a simplistic correspondence between logical and physical memory addresses. Data blocks having logical addresses within bank 0 are mapped by the translation table 27′ into physical bank 0, those of logical bank 1 to physical bank 1, and so forth.
  • As a first step 89 of a leveling procedure, data stored in the bank with the minimum count is written into the current spare memory bank. This is illustrated in FIG. 6B. Assuming the average block counts for each of the banks are set forth for purposes of explanation in FIG. 6A, bank 0 at this point in time has the highest average count, and bank (n−1) has the lowest. Bank n is the current spare bank. Therefore, in step 89 of FIG. 5, data is moved from bank (n−1) to bank n, as indicated at 91. Next, as indicated by a step 93 of FIG. 5, the minimum count bank (n−1) is erased. In a next step 93, the data of the maximum bank 0 is written into the former minimum usage bank (n−1), as indicated at 97 of FIG. 6B. A next step 99 then erases the maximum used bank 0 and it is designated as a new spare bank.
  • Finally, as indicated by a step 101, the translation table 27′ is updated so that blocks of data within the swapped banks are redirected to those new physical bank locations. FIG. 6C shows an example of that, where the translation table 27′ is changed from what it was in FIG. 6A to level out the wear of the various banks during future erase and rewrite cycles. Accordingly, the most heavily used bank having a logical address 0 is remapped into the bank (n−1), the same bank into which the physical bank 0 data blocks were written earlier in the process. Similarly, the least used logical bank n address is remapped into physical bank n, the previous spare bank in the state shown in FIG. 6A. The most heavily used bank 0, as shown in FIG. 6C, has no logical banks mapped into it. Bank 0 is now the new current spare bank. It has the maximum use of any bank to-date. It will now rest and the wear leveling process will not be accomplished again until the usage of some other bank exceeds that of bank 0, as determined in step 85 of FIG. 5.
  • Alternatively, a spare bank of EEPROM memory need not be designated for the wear leveling process, thus freeing up another bank for storing data. Data can simply be swapped between the banks experiencing the maximum and minimum cycles to-date, and the translation table 27′ then being updated to redirect data accordingly. The controller buffer memory 47 can be used for temporary storage of data from the maximum and minimum use banks as data is being swapped between them. The count of the most heavily used bank is then remembered and used in the comparison step 35 when determining whether the imbalance is sufficient to justify the wear leveling process being performed. However, since the buffer memory 47 is usually preferred to be RAM, any power failure or significant power glitches occurring during the wear leveling process will cause data to be lost. The use of the spare bank in the manner described above will prevent such a data loss since the data of each block being swapped will remain in EEPROM memory at all times.
  • Although the various aspects of the present invention have been described to its preferred embodiments, it will be understood that the invention is entitled to protection within the full scope of the appended claims.

Claims (5)

1. A method of operating a memory system having a non-volatile array of memory cells with a controller thereof connected thereto, wherein the array of memory cells is divided into distinct groups of memory cells that are erasable together prior to re-writing data therein, wherein:
a plurality of quantities of a characteristic of operation of the array of memory cells is monitored,
a variable related to differences in the monitored quantities is feed back to the controller, and
the controller uses the feedback variable to change the characteristic of operation in a manner to reduce the feed back variable during further operation of the memory system but with a feedback gain that is limited by only changing the characteristic of operation at intervals defined by a total of the quantities of the characteristic.
2. The method of claim 1, wherein the characteristic includes operational cycles experienced by individual groups of memory cells, and the quantities include numbers of the operational cycles experienced by the individual groups of memory cells.
3. The method of claim 2, wherein the feedback variable includes a difference between the numbers of operational cycles of individual groups of memory cells.
4. The method of claim 3, wherein the controller controls the numbers of operational cycles experienced by the individual groups of memory cells in a manner that tends to minimize the differences between the numbers of operational cycles of individual groups of memory cells.
5. The method of claim 4, wherein the controller controls the numbers of operational cycles experienced by the individual groups of memory cells by at least moving data stored in individual groups of memory cells among identified groups of memory cells and reassigning logical addresses of the identified groups of memory cells that are recognized at an interface of the memory system to physical addresses of different identified groups of memory cells.
US12/038,666 1991-09-13 2008-02-27 Wear leveling techniques for flash eeprom systems Abandoned US20080162798A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/038,666 US20080162798A1 (en) 1991-09-13 2008-02-27 Wear leveling techniques for flash eeprom systems

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US07/759,212 US6230233B1 (en) 1991-09-13 1991-09-13 Wear leveling techniques for flash EEPROM systems
US09/108,084 US6594183B1 (en) 1991-09-13 1998-06-30 Wear leveling techniques for flash EEPROM systems
US10/428,422 US6850443B2 (en) 1991-09-13 2003-05-02 Wear leveling techniques for flash EEPROM systems
US11/028,882 US7353325B2 (en) 1991-09-13 2005-01-03 Wear leveling techniques for flash EEPROM systems
US12/038,666 US20080162798A1 (en) 1991-09-13 2008-02-27 Wear leveling techniques for flash eeprom systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/028,882 Division US7353325B2 (en) 1991-09-13 2005-01-03 Wear leveling techniques for flash EEPROM systems

Publications (1)

Publication Number Publication Date
US20080162798A1 true US20080162798A1 (en) 2008-07-03

Family

ID=25054816

Family Applications (6)

Application Number Title Priority Date Filing Date
US07/759,212 Expired - Lifetime US6230233B1 (en) 1991-09-13 1991-09-13 Wear leveling techniques for flash EEPROM systems
US09/108,084 Expired - Fee Related US6594183B1 (en) 1991-09-13 1998-06-30 Wear leveling techniques for flash EEPROM systems
US09/262,813 Expired - Fee Related US6081447A (en) 1991-09-13 1999-03-05 Wear leveling techniques for flash EEPROM systems
US10/428,422 Expired - Fee Related US6850443B2 (en) 1991-09-13 2003-05-02 Wear leveling techniques for flash EEPROM systems
US11/028,882 Expired - Fee Related US7353325B2 (en) 1991-09-13 2005-01-03 Wear leveling techniques for flash EEPROM systems
US12/038,666 Abandoned US20080162798A1 (en) 1991-09-13 2008-02-27 Wear leveling techniques for flash eeprom systems

Family Applications Before (5)

Application Number Title Priority Date Filing Date
US07/759,212 Expired - Lifetime US6230233B1 (en) 1991-09-13 1991-09-13 Wear leveling techniques for flash EEPROM systems
US09/108,084 Expired - Fee Related US6594183B1 (en) 1991-09-13 1998-06-30 Wear leveling techniques for flash EEPROM systems
US09/262,813 Expired - Fee Related US6081447A (en) 1991-09-13 1999-03-05 Wear leveling techniques for flash EEPROM systems
US10/428,422 Expired - Fee Related US6850443B2 (en) 1991-09-13 2003-05-02 Wear leveling techniques for flash EEPROM systems
US11/028,882 Expired - Fee Related US7353325B2 (en) 1991-09-13 2005-01-03 Wear leveling techniques for flash EEPROM systems

Country Status (1)

Country Link
US (6) US6230233B1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174849A1 (en) * 2009-01-07 2010-07-08 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US20100241784A1 (en) * 2009-03-17 2010-09-23 Sundar Iyer System and method for storing data in a virtualized high speed memory system
US20100250793A1 (en) * 2009-03-24 2010-09-30 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US20110022791A1 (en) * 2009-03-17 2011-01-27 Sundar Iyer High speed memory systems and methods for designing hierarchical memory systems
US20110167192A1 (en) * 2009-03-17 2011-07-07 Sundar Iyer System and method for storing data in a virtualized high speed memory system
CN103325424A (en) * 2012-03-23 2013-09-25 绿智慧流科技公司 Method for evaluating lifetime of flash memory
US8719531B2 (en) 2011-06-14 2014-05-06 Western Digital Technologies, Inc. System and method for performing data retention that incorporates environmental conditions
US8825940B1 (en) 2008-12-02 2014-09-02 Siliconsystems, Inc. Architecture for optimizing execution of storage access commands
WO2016077091A1 (en) * 2014-11-13 2016-05-19 Micron Technology, Inc Memory wear leveling
US10885957B2 (en) 2012-10-26 2021-01-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US11347402B2 (en) * 2014-05-28 2022-05-31 Micron Technology, Inc. Performing wear leveling operations in a memory based on block cycles and use of spare blocks

Families Citing this family (711)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5354695A (en) * 1992-04-08 1994-10-11 Leedy Glenn J Membrane dielectric isolation IC fabrication
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
TW261687B (en) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
US6714625B1 (en) * 1992-04-08 2004-03-30 Elm Technology Corporation Lithography device for semiconductor circuit pattern generation
US6549974B2 (en) * 1992-06-22 2003-04-15 Hitachi, Ltd. Semiconductor storage apparatus including a controller for sending first and second write commands to different nonvolatile memories in a parallel or time overlapped manner
US5592415A (en) * 1992-07-06 1997-01-07 Hitachi, Ltd. Non-volatile semiconductor memory
KR100566464B1 (en) 1995-01-31 2006-03-31 가부시끼가이샤 히다치 세이사꾸쇼 Semiconductor memory device
JP3782840B2 (en) 1995-07-14 2006-06-07 株式会社ルネサステクノロジ External storage device and memory access control method thereof
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6757800B1 (en) 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6081878A (en) 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
WO1997032253A1 (en) 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
US5915167A (en) * 1997-04-04 1999-06-22 Elm Technology Corporation Three dimensional structure memory
US6551857B2 (en) 1997-04-04 2003-04-22 Elm Technology Corporation Three dimensional structure integrated circuits
JP3734620B2 (en) * 1998-06-24 2006-01-11 沖電気工業株式会社 Semiconductor disk device
JP2000030375A (en) * 1998-07-10 2000-01-28 Tokyo Electron Ltd Data processing system, access device, and recording media
KR100533140B1 (en) * 1998-09-04 2005-12-02 하이퍼스톤 아게 Access control for a memory having a limited erasure frequency
US6275894B1 (en) * 1998-09-23 2001-08-14 Advanced Micro Devices, Inc. Bank selector circuit for a simultaneous operation flash memory device with a flexible bank partition architecture
FR2787601A1 (en) * 1998-12-22 2000-06-23 Gemplus Card Int Memory system with anti-wear memory management and method of managing an anti-wear memory so as to increase duration life of memory
JP2000285688A (en) * 1999-04-01 2000-10-13 Mitsubishi Electric Corp Non-volatile semiconductor memory
JP4074029B2 (en) * 1999-06-28 2008-04-09 株式会社東芝 Flash memory
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US8073985B1 (en) 2004-02-12 2011-12-06 Super Talent Electronics, Inc. Backward compatible extended USB plug and receptacle with dual personality
US7628622B2 (en) * 1999-08-04 2009-12-08 Super Talent Electronics, Inc. Multi-level cell (MLC) slide flash memory
US7690031B2 (en) * 2000-01-06 2010-03-30 Super Talent Electronics, Inc. Managing bad blocks in flash memory for electronic data flash card
US7702831B2 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. Flash memory controller for electronic data flash card
US7984303B1 (en) 2000-01-06 2011-07-19 Super Talent Electronics, Inc. Flash memory devices with security features
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US8043099B1 (en) 2004-02-12 2011-10-25 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality
US7744387B2 (en) * 1999-08-04 2010-06-29 Super Talent Electronics, Inc. Multi-level cell (MLC) rotate flash memory device
US8102662B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
KR100577380B1 (en) * 1999-09-29 2006-05-09 삼성전자주식회사 A flash-memory and a it's controling method
DE19963208B4 (en) * 1999-12-28 2018-07-05 Robert Bosch Gmbh A method of tampering with a programmable memory device of a digital controller
US7874067B1 (en) 2000-01-06 2011-01-25 Super Talent Electronics, Inc. Manufacturing method for single chip COB USB devices with optional embedded LED
US7788553B2 (en) * 2000-01-06 2010-08-31 Super Talent Electronics, Inc. Mass production testing of USB flash cards with various flash memory cells
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US8240034B1 (en) 2000-01-06 2012-08-14 Super Talent Electronics, Inc. High throughput manufacturing method for micro flash memory cards
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US7440287B1 (en) 2000-01-06 2008-10-21 Super Talent Electronics, Inc. Extended USB PCBA and device with dual personality
US20080082813A1 (en) * 2000-01-06 2008-04-03 Chow David Q Portable usb device that boots a computer as a server with security measure
TW504694B (en) * 2000-01-12 2002-10-01 Hitachi Ltd Non-volatile semiconductor memory device and semiconductor disk device
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US6345001B1 (en) 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US7113432B2 (en) * 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
KR100644602B1 (en) * 2000-10-11 2006-11-10 삼성전자주식회사 Method for driving remapping for flash memory and flash memory architecture thereto
JP2002342164A (en) * 2001-05-22 2002-11-29 Hitachi Ltd Storage device, data processor, and method for controlling storing part
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US6948026B2 (en) 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
ITRM20010516A1 (en) * 2001-08-29 2003-02-28 Micron Technology Inc FLASH MEMORY ARCHITECTURE.
DE10144617A1 (en) * 2001-09-11 2003-01-30 Bosch Gmbh Robert Operating memory circuit with microcontroller and EEPROM used e.g. with vehicle air quality sensor, stores data for given number of operations, then continues in a further data memory
US6560146B2 (en) * 2001-09-17 2003-05-06 Sandisk Corporation Dynamic column block selection
US7177197B2 (en) 2001-09-17 2007-02-13 Sandisk Corporation Latched programming of memory and method
US7170802B2 (en) * 2003-12-31 2007-01-30 Sandisk Corporation Flexible and area efficient column redundancy for non-volatile memories
US6985388B2 (en) 2001-09-17 2006-01-10 Sandisk Corporation Dynamic column block selection
US6741502B1 (en) 2001-09-17 2004-05-25 Sandisk Corporation Background operation for memory cells
US6552932B1 (en) * 2001-09-21 2003-04-22 Sandisk Corporation Segmented metal bitlines
GB0123417D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
US8079045B2 (en) 2001-10-17 2011-12-13 Keen Personal Media, Inc. Personal video recorder and method for inserting a stored advertisement into a displayed broadcast stream
US6976143B2 (en) 2001-11-13 2005-12-13 Hewlett-Packard Development Company, L.P. Systems and methods for controlling communication with nonvolatile memory devices
US7467274B2 (en) * 2001-12-31 2008-12-16 Hewlett-Packard Development Company, L.P. Method to increase the life span of limited cycle read/write media
US7246268B2 (en) * 2002-01-16 2007-07-17 Sandisk Corporation Method and apparatus for dynamic degradation detection
US6675281B1 (en) 2002-01-22 2004-01-06 Icreate Technologies Corporation Distributed mapping scheme for mass storage system
JP4082913B2 (en) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ Memory system
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
JP2003271439A (en) * 2002-03-13 2003-09-26 Seiko Epson Corp Information processing device and program
US6639309B2 (en) * 2002-03-28 2003-10-28 Sandisk Corporation Memory package with a controller on one side of a printed circuit board and memory on another side of the circuit board
KR100484147B1 (en) * 2002-07-26 2005-04-18 삼성전자주식회사 Flash memory management method
US7402897B2 (en) 2002-08-08 2008-07-22 Elm Technology Corporation Vertical system integration
US7103732B1 (en) 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7096313B1 (en) 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
US6985992B1 (en) * 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US7181611B2 (en) * 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
US6973531B1 (en) 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most frequently erased blocks in non-volatile memory systems
US6831865B2 (en) * 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US8412879B2 (en) * 2002-10-28 2013-04-02 Sandisk Technologies Inc. Hybrid implementation for error correction codes within a non-volatile memory system
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US7234036B1 (en) 2002-10-28 2007-06-19 Sandisk Corporation Method and apparatus for resolving physical blocks associated with a common logical block
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
DE60316171T2 (en) * 2002-10-28 2008-05-29 SanDisk Corp., Milpitas AUTOMATIC WEARING COMPENSATION IN A NON-VOLATILE STORAGE SYSTEM
US7339822B2 (en) * 2002-12-06 2008-03-04 Sandisk Corporation Current-limited latch
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
WO2004068913A1 (en) * 2003-01-28 2004-08-12 Semiconductor Energy Laboratory Co., Ltd. Light emitting element and process for fabricatin the same
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
US6928511B2 (en) * 2003-03-03 2005-08-09 High Tech Computer, Corp. Method and system for managing virtual memory
WO2004112037A2 (en) * 2003-06-19 2004-12-23 Koninklijke Philips Electronics N.V. Flexible formatting for universal storage device
US20050055495A1 (en) * 2003-09-05 2005-03-10 Nokia Corporation Memory wear leveling
JP2005092969A (en) * 2003-09-16 2005-04-07 Renesas Technology Corp Nonvolatile semiconductor memory
US7139863B1 (en) * 2003-09-26 2006-11-21 Storage Technology Corporation Method and system for improving usable life of memory devices using vector processing
US7188228B1 (en) 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
US7082490B2 (en) * 2003-10-20 2006-07-25 Atmel Corporation Method and system for enhancing the endurance of memory cells
US8706990B2 (en) 2003-10-28 2014-04-22 Sandisk Technologies Inc. Adaptive internal table backup for non-volatile memory system
US7032087B1 (en) 2003-10-28 2006-04-18 Sandisk Corporation Erase count differential table within a non-volatile memory system
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
US20050114588A1 (en) * 2003-11-26 2005-05-26 Lucker Jonathan C. Method and apparatus to improve memory performance
US7771215B1 (en) 2003-12-02 2010-08-10 Super Talent Electronics, Inc. MLC COB USB flash memory device with sliding plug connector
US7049652B2 (en) * 2003-12-10 2006-05-23 Sandisk Corporation Pillar cell flash memory technology
US8244974B2 (en) * 2003-12-10 2012-08-14 International Business Machines Corporation Method and system for equalizing usage of storage media
US8014130B1 (en) 2004-02-26 2011-09-06 Super Talent Electronics, Inc. Pen-like universal serial bus (USB) flash drive with deploying and retracting functionalities
US7815469B1 (en) 2004-02-12 2010-10-19 Super Talent Electronics, Inc. Dual-personality extended USB plugs and receptacles using with PCBA and cable assembly
US8021166B1 (en) 2004-02-12 2011-09-20 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality for embedded application with mother boards
US7869219B2 (en) * 2004-01-20 2011-01-11 Super Talent Electronics, Inc. Flash drive with spring-loaded retractable connector
US7806705B2 (en) * 2004-02-26 2010-10-05 Super Talent Electronics, Inc. Slide flash memory devices
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US7664902B1 (en) 2004-03-16 2010-02-16 Super Talent Electronics, Inc. Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol
TWI254947B (en) * 2004-03-28 2006-05-11 Mediatek Inc Data managing method and data access system for storing all management data in a management bank of a non-volatile memory
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
JP4209820B2 (en) 2004-07-15 2009-01-14 株式会社ハギワラシスコム Memory card system, write-once memory card used in the memory card system, system comprising host system and semiconductor storage device
US20060031626A1 (en) * 2004-08-03 2006-02-09 Endress + Hauser Gmbh + Co. Kg Field device for automation technology
DE102004037785A1 (en) * 2004-08-03 2006-03-16 Endress + Hauser Gmbh + Co. Kg Field device for automation technology
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7660938B1 (en) 2004-10-01 2010-02-09 Super Talent Electronics, Inc. Flash card reader and data exchanger utilizing low power extended USB protocol without polling
US7850082B1 (en) 2004-10-01 2010-12-14 Super Talent Electronics, Inc. Extended universal serial bus (USB) card reader
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7363421B2 (en) * 2005-01-13 2008-04-22 Stmicroelectronics S.R.L. Optimizing write/erase operations in memory devices
US7457909B2 (en) * 2005-01-14 2008-11-25 Angelo Di Sena Controlling operation of flash memories
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US8321686B2 (en) * 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) * 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) * 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US7474914B2 (en) 2005-04-08 2009-01-06 Exelys, Llc Portable cardiac monitor including a range limiter
US7361188B2 (en) * 2005-04-08 2008-04-22 Exelys, Llc Portable cardiac monitor
US20060229525A1 (en) * 2005-04-08 2006-10-12 Exelys, Llc Portable cardiac monitor including pulsed power operation
US20060236025A1 (en) * 2005-04-18 2006-10-19 Intel Corporation Method and apparatus to control number of erasures of nonvolatile memory
US20060294292A1 (en) * 2005-06-27 2006-12-28 Illendula Ajith K Shared spare block for multiple memory file volumes
US20100157752A1 (en) * 2005-06-29 2010-06-24 Koninklijke Philips Electronics, N.V. Method and apparatus for optical disc writing
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
JP4552803B2 (en) * 2005-08-10 2010-09-29 ソニー株式会社 Semiconductor integrated circuit
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US8966284B2 (en) * 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US20070061597A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
JP5193045B2 (en) * 2005-09-30 2013-05-08 モサイド・テクノロジーズ・インコーポレーテッド Memory with output controller
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7747833B2 (en) * 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US7547218B2 (en) * 2005-10-24 2009-06-16 Super Talent Electronics Inc. Plug and cap for a universal-serial-bus (USB) device
US7631162B2 (en) * 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US7447066B2 (en) * 2005-11-08 2008-11-04 Sandisk Corporation Memory with retargetable memory cell redundancy
JP2007133683A (en) * 2005-11-10 2007-05-31 Sony Corp Memory system
US7549034B2 (en) * 2005-11-10 2009-06-16 International Business Machines Corporation Redistribution of memory to reduce computer system power consumption
US8914557B2 (en) * 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US20070204102A1 (en) * 2006-02-28 2007-08-30 Nokia Corporation Cache feature in electronic devices
US20070208904A1 (en) * 2006-03-03 2007-09-06 Wu-Han Hsieh Wear leveling method and apparatus for nonvolatile memory
US8364861B2 (en) * 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US8335868B2 (en) * 2006-03-28 2012-12-18 Mosaid Technologies Incorporated Apparatus and method for establishing device identifiers for serially interconnected devices
US8069328B2 (en) * 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US7551492B2 (en) 2006-03-29 2009-06-23 Mosaid Technologies, Inc. Non-volatile semiconductor memory with page erase
JP4863749B2 (en) * 2006-03-29 2012-01-25 株式会社日立製作所 Storage device using flash memory, erase number leveling method thereof, and erase number level program
JP5214587B2 (en) * 2006-03-31 2013-06-19 モスエイド テクノロジーズ インコーポレイテッド Flash memory system control scheme
US7467253B2 (en) * 2006-04-13 2008-12-16 Sandisk Corporation Cycle count storage systems
US7451264B2 (en) * 2006-04-13 2008-11-11 Sandisk Corporation Cycle count storage methods
FI20060427L (en) * 2006-05-03 2007-11-04 Tellabs Oy Method and equipment for processing a sequential file
KR101202537B1 (en) 2006-05-12 2012-11-19 애플 인크. Combined distortion estimation and error correction coding for memory devices
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US8050086B2 (en) 2006-05-12 2011-11-01 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7551486B2 (en) * 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7778077B2 (en) * 2006-05-15 2010-08-17 Sandisk Corporation Non-volatile memory system with end of life calculation
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
WO2007134133A2 (en) 2006-05-15 2007-11-22 Sandisk Corporation Non-volatile memory system with end of life calculation
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7349254B2 (en) * 2006-05-31 2008-03-25 Qimonda Flash Gmbh & Co. Kg Charge-trapping memory device and methods for its manufacturing and operation
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
EP2038892A2 (en) * 2006-06-30 2009-03-25 Nxp B.V. Flash memory device having a flash cache portion and a method for using the same
JP2008015769A (en) * 2006-07-05 2008-01-24 Hitachi Ltd Storage system and writing distribution method
US7844878B2 (en) * 2006-08-09 2010-11-30 Microsoft Corporation Dynamic electronic correction code feedback to extend memory device lifetime
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US7366017B2 (en) * 2006-08-22 2008-04-29 Micron Technology, Inc. Method for modifying data more than once in a multi-level cell memory location within a memory array
US7904639B2 (en) * 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8407395B2 (en) 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US20080072058A1 (en) * 2006-08-24 2008-03-20 Yoram Cedar Methods in a reader for one time password generating device
US20080052524A1 (en) * 2006-08-24 2008-02-28 Yoram Cedar Reader for one time password generating device
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7593259B2 (en) 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
US8700818B2 (en) * 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
US20080091871A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Non-volatile memory with worst-case control data management
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008053473A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7904764B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7904619B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US20080126685A1 (en) * 2006-11-24 2008-05-29 Radoslav Danilak System, method, and computer program product for reducing memory write operations using an instruction set
US7817470B2 (en) 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US7511996B2 (en) * 2006-11-30 2009-03-31 Mosaid Technologies Incorporated Flash memory program inhibit scheme
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8010709B2 (en) * 2006-12-06 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US7853727B2 (en) 2006-12-06 2010-12-14 Mosaid Technologies Incorporated Apparatus and method for producing identifiers regardless of mixed device type in a serial interconnection
US7818464B2 (en) * 2006-12-06 2010-10-19 Mosaid Technologies Incorporated Apparatus and method for capturing serial input data
US8271758B2 (en) 2006-12-06 2012-09-18 Mosaid Technologies Incorporated Apparatus and method for producing IDS for interconnected devices of mixed type
US8331361B2 (en) 2006-12-06 2012-12-11 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US8090980B2 (en) * 2006-12-08 2012-01-03 Sandforce, Inc. System, method, and computer program product for providing data redundancy in a plurality of storage devices
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US9153337B2 (en) * 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
US7529149B2 (en) * 2006-12-12 2009-05-05 Mosaid Technologies Incorporated Memory system and method with serial and parallel modes
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
KR100881669B1 (en) * 2006-12-18 2009-02-06 삼성전자주식회사 Method for detecting of static data area and for wear-leveling and for merging data unit of non-volatile data storage and apparatus thereof
US8984249B2 (en) * 2006-12-20 2015-03-17 Novachips Canada Inc. ID generation apparatus and method for serially interconnected devices
US7710777B1 (en) 2006-12-20 2010-05-04 Marvell International Ltd. Semi-volatile NAND flash memory
US7518932B2 (en) * 2006-12-22 2009-04-14 Intel Corporation Erase cycle counting in non-volatile memories
US8356152B2 (en) * 2006-12-27 2013-01-15 Intel Corporation Initiative wear leveling for non-volatile memory
US8423794B2 (en) * 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US8140737B2 (en) * 2007-01-30 2012-03-20 Skymedi Corporation Method for enhancing life cycle of memory
KR100823171B1 (en) * 2007-02-01 2008-04-18 삼성전자주식회사 Computer system having a partitioned flash translation layer and flash translation layer partition method thereof
JP5279729B2 (en) * 2007-02-07 2013-09-04 モサイド・テクノロジーズ・インコーポレーテッド Source side asymmetric precharge program method
US8010710B2 (en) 2007-02-13 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for identifying device type of serially interconnected devices
US7646636B2 (en) 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US8122202B2 (en) * 2007-02-16 2012-02-21 Peter Gillingham Reduced pin count interface
EP2109862A4 (en) * 2007-02-16 2010-08-04 Mosaid Technologies Inc Semiconductor device and method for reducing power consumption in a system having interconnected devices
US7796462B2 (en) 2007-02-22 2010-09-14 Mosaid Technologies Incorporated Data flow control in multiple independent port
US8086785B2 (en) * 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US8046527B2 (en) 2007-02-22 2011-10-25 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US7577059B2 (en) * 2007-02-27 2009-08-18 Mosaid Technologies Incorporated Decoding control with address transition detection in page erase function
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
TWI368224B (en) 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US7731365B2 (en) * 2007-03-19 2010-06-08 Johnson&Johnson Vision Care, Inc. Method of fitting contact lenses
JP2008257773A (en) * 2007-04-02 2008-10-23 Toshiba Corp Nonvolatile semiconductor memory device, method for controlling the same, nonvolatile semiconductor memory system, and memory card
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7913032B1 (en) * 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US7689762B2 (en) * 2007-05-03 2010-03-30 Atmel Corporation Storage device wear leveling
US7577029B2 (en) * 2007-05-04 2009-08-18 Mosaid Technologies Incorporated Multi-level cell access buffer with dual function
US8041883B2 (en) 2007-05-09 2011-10-18 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
US7991942B2 (en) * 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US7882301B2 (en) * 2007-05-09 2011-02-01 Stmicroelectronics S.R.L. Wear leveling in storage devices based on flash memories and related circuit, system, and method
US7743203B2 (en) * 2007-05-11 2010-06-22 Spansion Llc Managing flash memory based upon usage history
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US20080294814A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US8301833B1 (en) * 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
KR100857761B1 (en) * 2007-06-14 2008-09-10 삼성전자주식회사 Memory system performing wear levelling and write method thereof
JP2009003880A (en) * 2007-06-25 2009-01-08 Toshiba Corp Control device and method for non-volatile memory and storage device
US7850468B2 (en) 2007-06-28 2010-12-14 Super Talent Electronics, Inc. Lipstick-type USB device
US7865761B1 (en) * 2007-06-28 2011-01-04 Emc Corporation Accessing multiple non-volatile semiconductor memory modules in an uneven manner
US20090190277A1 (en) * 2007-09-28 2009-07-30 Super Talent Electronics, Inc. ESD Protection For USB Memory Devices
US7789680B2 (en) * 2007-07-05 2010-09-07 Super Talent Electronics, Inc. USB device with connected cap
CN100538662C (en) * 2007-07-05 2009-09-09 炬力集成电路设计有限公司 A kind of deterioration balance method of the storer based on local sampling
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US7908423B2 (en) * 2007-07-25 2011-03-15 Silicon Motion, Inc. Memory apparatus, and method of averagely using blocks of a flash memory
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
TWI372397B (en) * 2007-08-06 2012-09-11 Ind Tech Res Inst Method and system of defect management for storage medium
US7558123B2 (en) * 2007-08-13 2009-07-07 Spansion Llc Efficient and systematic measurement flow on drain voltage for different trimming in flash silicon characterization
WO2009025715A1 (en) * 2007-08-22 2009-02-26 Thomson Licensing Hard disk sector/track remapping for transparent wear leveling
US7944702B2 (en) 2007-08-27 2011-05-17 Super Talent Electronics, Inc. Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8239612B2 (en) * 2007-09-27 2012-08-07 Tdk Corporation Memory controller, flash memory system with memory controller, and control method of flash memory
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
CN101409108B (en) * 2007-10-09 2011-04-13 群联电子股份有限公司 Average abrasion method and controller using the same
US20090100214A1 (en) * 2007-10-12 2009-04-16 Bei-Chuan Chen Management Platform For Extending Lifespan Of Memory In Storage Devices
US7970983B2 (en) * 2007-10-14 2011-06-28 Sandisk Il Ltd. Identity-based flash management
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8427867B2 (en) * 2007-10-22 2013-04-23 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8241047B2 (en) * 2007-10-30 2012-08-14 Super Talent Electronics, Inc. Flash drive with spring-loaded swivel connector
US20090113702A1 (en) * 2007-11-01 2009-05-07 Western Digital Technologies, Inc. Disk drive comprising a double sided flex circuit wherein a first side lead provides an etching mask for a second side lead
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
KR101509836B1 (en) 2007-11-13 2015-04-06 애플 인크. Optimized selection of memory units in multi-unit memory devices
WO2009063614A1 (en) * 2007-11-14 2009-05-22 Panasonic Corporation Memory controller, nonvolatile storage module, access module, and nonvolatile storage system
CN101436431B (en) * 2007-11-14 2013-01-02 深圳市朗科科技股份有限公司 Data storage method of flash memory medium
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
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US7852582B2 (en) * 2007-11-21 2010-12-14 Nokia Corporation Method for determining wear of a data storage medium and data storage device
US7913128B2 (en) * 2007-11-23 2011-03-22 Mosaid Technologies Incorporated Data channel test apparatus and method thereof
WO2009068074A1 (en) 2007-11-26 2009-06-04 Hyperstone Gmbh Method for even utilization of a plurality of flash memory chips
US9183133B2 (en) 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8116083B2 (en) * 2007-12-04 2012-02-14 Super Talent Electronics, Inc. Lipstick-type USB device with tubular housing
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US7636258B2 (en) * 2007-12-12 2009-12-22 Qimonda Flash Gmbh Integrated circuits, memory controller, and memory modules
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8122179B2 (en) * 2007-12-14 2012-02-21 Silicon Motion, Inc. Memory apparatus and method of evenly using the blocks of a flash memory
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US7983099B2 (en) 2007-12-20 2011-07-19 Mosaid Technologies Incorporated Dual function compatible non-volatile memory device
US7953919B2 (en) * 2007-12-21 2011-05-31 Spansion Llc Physical block addressing of electronic memory devices
US8656083B2 (en) * 2007-12-21 2014-02-18 Spansion Llc Frequency distributed flash memory allocation based on free page tables
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US7940572B2 (en) * 2008-01-07 2011-05-10 Mosaid Technologies Incorporated NAND flash memory having multiple cell substrates
US8594110B2 (en) 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US7843730B2 (en) * 2008-01-16 2010-11-30 Freescale Semiconductor, Inc. Non-volatile memory with reduced charge fluence
US8352671B2 (en) 2008-02-05 2013-01-08 Spansion Llc Partial allocate paging mechanism using a controller and a buffer
US8275945B2 (en) 2008-02-05 2012-09-25 Spansion Llc Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8095724B2 (en) * 2008-02-05 2012-01-10 Skymedi Corporation Method of wear leveling for non-volatile memory and apparatus using via shifting windows
US8209463B2 (en) * 2008-02-05 2012-06-26 Spansion Llc Expansion slots for flash memory based random access memory subsystem
US8332572B2 (en) * 2008-02-05 2012-12-11 Spansion Llc Wear leveling mechanism using a DRAM buffer
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8825938B1 (en) * 2008-03-28 2014-09-02 Netapp, Inc. Use of write allocation decisions to achieve desired levels of wear across a set of redundant solid-state memory devices
US7817097B2 (en) * 2008-04-07 2010-10-19 Toyota Motor Engineering & Manufacturing North America, Inc. Microwave antenna and method for making same
US20090259819A1 (en) * 2008-04-09 2009-10-15 Skymedi Corporation Method of wear leveling for non-volatile memory
US8341331B2 (en) * 2008-04-10 2012-12-25 Sandisk Il Ltd. Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes
JP5218228B2 (en) * 2008-04-23 2013-06-26 新東工業株式会社 Conveying device and blasting device
JP4439569B2 (en) * 2008-04-24 2010-03-24 株式会社東芝 Memory system
US8082385B2 (en) * 2008-05-02 2011-12-20 Sony Corporation Systematic memory shift for pre-segmented memory
US8275928B2 (en) * 2008-05-15 2012-09-25 Silicon Motion, Inc. Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
WO2009140700A1 (en) * 2008-05-16 2009-11-19 Fusion Multisystems, Inc. Apparatus, system, and method for detecting and replacing failed data storage
US20090287748A1 (en) * 2008-05-19 2009-11-19 Ling Jun Wong Simplified data transfer using segmented memory
US20090292826A1 (en) * 2008-05-20 2009-11-26 Ling Jun Wong Active port selection and data storage or transfer queueing
US20090292838A1 (en) * 2008-05-20 2009-11-26 Ling Jun Wong Simplified data transfer using intermediary
US8031521B1 (en) * 2008-05-20 2011-10-04 Marvell International Ltd. Reprogramming non-volatile memory devices for read disturbance mitigation
US7924623B2 (en) 2008-05-27 2011-04-12 Micron Technology, Inc. Method for memory cell erasure with a programming monitor of reference cells
US8060719B2 (en) 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
KR101464255B1 (en) * 2008-06-23 2014-11-25 삼성전자주식회사 Flash memory device and system including the same
KR20110036816A (en) * 2008-06-24 2011-04-11 샌디스크 아이엘 엘티디 Method and apparatus for error correction according to erase counts of a solid-state memory
US8527690B2 (en) * 2008-06-26 2013-09-03 Microsoft Corporation Optimization of non-volatile solid-state memory by moving data based on data generation and memory wear
US8139390B2 (en) * 2008-07-08 2012-03-20 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US20100017566A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer
US20100017588A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for providing an extended capability to a system
TWI385669B (en) * 2008-07-23 2013-02-11 Phison Electronics Corp Wear leveling method and storage system and controller using the same
KR101103061B1 (en) * 2008-07-28 2012-01-06 주식회사 팍스디스크 Solid State Storage System and Controlling Method thereof
US7719876B2 (en) 2008-07-31 2010-05-18 Unity Semiconductor Corporation Preservation circuit and methods to maintain values representing data in one or more layers of memory
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
CN101645309B (en) * 2008-08-05 2013-05-22 威刚科技(苏州)有限公司 Non-volatile memory device and control method thereof
TW201007451A (en) * 2008-08-12 2010-02-16 Phison Electronics Corp Block management method for flash memory and storage system and controller using the same
US8213229B2 (en) * 2008-08-22 2012-07-03 HGST Netherlands, B.V. Error control in a flash memory device
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US20100064093A1 (en) * 2008-09-09 2010-03-11 Radoslav Danilak System, method, and computer program product for converting data in a binary representation to a non-power of two representation
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US9009358B1 (en) 2008-09-23 2015-04-14 Western Digital Technologies, Inc. Configuring a data storage device with a parameter file interlocked with configuration code
TWI470428B (en) * 2008-10-03 2015-01-21 Phison Electronics Corp Memory managing method for non-volatile memory and controller using the same
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8244995B2 (en) * 2008-10-30 2012-08-14 Dell Products L.P. System and method for hierarchical wear leveling in storage devices
KR101014149B1 (en) * 2008-11-13 2011-02-14 (주)인디링스 Controller for solid state disk of controlling access to memory bank
US7996725B2 (en) * 2008-11-14 2011-08-09 Nokia Corporation Providing protection for a memory device
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
WO2010059146A1 (en) * 2008-11-24 2010-05-27 Hewlett-Packard Development Company L.P. Wear leveling memory cells
US20100146236A1 (en) * 2008-12-08 2010-06-10 Radoslav Danilak System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command
US20110238903A1 (en) 2008-12-10 2011-09-29 Amir Ban Method and device of managing a reduced wear memory
US8209466B2 (en) * 2008-12-16 2012-06-26 Intel Corporation Methods and systems to allocate addresses in a high-endurance/low-endurance hybrid flash memory
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US20100161932A1 (en) * 2008-12-18 2010-06-24 Ori Moshe Stern Methods for writing data from a source location to a destination location in a memory device
US8194481B2 (en) * 2008-12-18 2012-06-05 Mosaid Technologies Incorporated Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation
US8037235B2 (en) * 2008-12-18 2011-10-11 Mosaid Technologies Incorporated Device and method for transferring data to a non-volatile memory device
WO2010076829A1 (en) * 2008-12-30 2010-07-08 Massimo Iaculo Wear leveling for erasable memories
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8291152B2 (en) * 2009-01-07 2012-10-16 Silicon Motion, Inc. Method for operating non-volatile memory and data storage system using the same
TWI379194B (en) * 2009-01-15 2012-12-11 Phison Electronics Corp Block management method for flash memory, and storage system and controller using the same
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8250293B2 (en) * 2009-01-19 2012-08-21 Qimonda Ag Data exchange in resistance changing memory for improved endurance
US8312204B2 (en) * 2009-01-23 2012-11-13 Seagate Technology Llc System and method for wear leveling in a data storage device
JP4666081B2 (en) * 2009-02-09 2011-04-06 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4666080B2 (en) * 2009-02-09 2011-04-06 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
KR20100091544A (en) * 2009-02-10 2010-08-19 삼성전자주식회사 Memory system and wear leveling method thereof
JP4844639B2 (en) * 2009-02-19 2011-12-28 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8090899B1 (en) 2009-03-04 2012-01-03 Western Digital Technologies, Inc. Solid state drive power safe wear-leveling
KR101586047B1 (en) 2009-03-25 2016-01-18 삼성전자주식회사 Nonvolatile memory device and program methods for the same
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US20100250830A1 (en) * 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US8090905B2 (en) * 2009-03-27 2012-01-03 Sandforce, Inc. System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format
US8230159B2 (en) 2009-03-27 2012-07-24 Lsi Corporation System, method, and computer program product for sending logical block address de-allocation status information
US8433843B2 (en) * 2009-03-31 2013-04-30 Qualcomm Incorporated Method for protecting sensitive data on a storage device having wear leveling
US8661187B2 (en) * 2009-04-08 2014-02-25 International Business Machines Corporation System, method, and computer program product for skewing expected wearout times of memory devices
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
CN101872327A (en) * 2009-04-23 2010-10-27 深圳富泰宏精密工业有限公司 Data erasing system of flash memory and method thereof
US8051241B2 (en) * 2009-05-07 2011-11-01 Seagate Technology Llc Wear leveling technique for storage devices
TWI469148B (en) * 2009-05-15 2015-01-11 Chi Mei Comm Systems Inc System and method for erasing data of a flash memory
US8307258B2 (en) * 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
KR101015655B1 (en) * 2009-05-29 2011-02-22 주식회사 하이닉스반도체 Operating method of nonvolatile memory device
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8732389B2 (en) * 2009-06-23 2014-05-20 Seagate Technology Llc Memory wear control
US7974124B2 (en) 2009-06-24 2011-07-05 Sandisk Corporation Pointer based column selection techniques in non-volatile memories
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US9792074B2 (en) * 2009-07-06 2017-10-17 Seagate Technology Llc System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8521980B2 (en) * 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US8140712B2 (en) * 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US8484428B2 (en) * 2009-07-30 2013-07-09 Micron Technology, Inc. Enhanced block copy
US8914625B1 (en) 2009-07-31 2014-12-16 Western Digital Technologies, Inc. Automatically configuring a web browser file when booting an operating system from a data storage device
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US20110041005A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US20110041039A1 (en) 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110040924A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US8489966B2 (en) * 2010-01-08 2013-07-16 Ocz Technology Group Inc. Solid-state mass storage device and method for failure anticipation
US8108737B2 (en) * 2009-10-05 2012-01-31 Sandforce, Inc. System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8560770B2 (en) * 2009-11-13 2013-10-15 Seagate Technology Llc Non-volatile write cache for a data storage system
TWI436369B (en) * 2009-11-13 2014-05-01 Silicon Motion Inc Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
US8495281B2 (en) * 2009-12-04 2013-07-23 International Business Machines Corporation Intra-block memory wear leveling
US8407403B2 (en) * 2009-12-07 2013-03-26 Microsoft Corporation Extending SSD lifetime using hybrid storage
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
FR2954979B1 (en) 2010-01-05 2012-06-01 Commissariat Energie Atomique METHOD FOR SELECTING A RESOURCE AMONG A PLURALITY OF PROCESSING RESOURCES, SO THAT PROBABLE TIMES BEFORE THE RESOURCE FAILURE THEN EVENTUALLY IDENTICAL
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8621145B1 (en) 2010-01-29 2013-12-31 Netapp, Inc. Concurrent content management and wear optimization for a non-volatile solid-state cache
KR101655306B1 (en) * 2010-02-24 2016-09-07 삼성전자주식회사 Memory system and access method thereof
US9330715B1 (en) 2010-03-22 2016-05-03 Western Digital Technologies, Inc. Mapping of shingled magnetic recording media
US9396104B1 (en) 2010-03-22 2016-07-19 Seagate Technology, Llc Accessing compressed data of varying-sized quanta in non-volatile memory
US8687306B1 (en) 2010-03-22 2014-04-01 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones
US8713066B1 (en) 2010-03-29 2014-04-29 Western Digital Technologies, Inc. Managing wear leveling and garbage collection operations in a solid-state memory using linked lists
TWI455131B (en) * 2010-04-16 2014-10-01 Silicon Motion Inc Data storage device and data writing method for a memory
TWI475564B (en) * 2010-04-21 2015-03-01 Silicon Motion Inc Data storage device and data writing method for a memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8799747B2 (en) * 2010-06-03 2014-08-05 Seagate Technology Llc Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
US8499116B2 (en) 2010-06-11 2013-07-30 Hewlett-Packard Development Company, L.P. Managing wear on independent storage devices
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
KR20120001405A (en) * 2010-06-29 2012-01-04 삼성전자주식회사 Memory system and wear leveling method thereof
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
KR101131560B1 (en) 2010-07-15 2012-04-04 주식회사 하이닉스반도체 Non-Volitile Memory Device For Performing Wear-Leveling and Method Thereof
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8949506B2 (en) 2010-07-30 2015-02-03 Apple Inc. Initiating wear leveling for a non-volatile memory
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US9268499B1 (en) 2010-08-13 2016-02-23 Western Digital Technologies, Inc. Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8879188B1 (en) 2010-08-23 2014-11-04 Western Digital Technologies, Inc. Disk drive employing fly height calibration tracks to account for magnetic entropy and thermal decay
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8954664B1 (en) 2010-10-01 2015-02-10 Western Digital Technologies, Inc. Writing metadata files on a disk
US8539139B1 (en) * 2010-12-17 2013-09-17 Teradota Us, Inc. Managing device wearout using I/O metering
KR20120072228A (en) * 2010-12-23 2012-07-03 한국전자통신연구원 File system of flash memory
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
US8521948B2 (en) * 2011-01-03 2013-08-27 Apple Inc. Handling dynamic and static data for a system having non-volatile memory
KR101180406B1 (en) * 2011-01-28 2012-09-10 에스케이하이닉스 주식회사 Non-Volatile Memory System and Management Method for Block Thereof
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8621328B2 (en) 2011-03-04 2013-12-31 International Business Machines Corporation Wear-focusing of non-volatile memories for improved endurance
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8762625B2 (en) * 2011-04-14 2014-06-24 Apple Inc. Stochastic block allocation for improved wear leveling
KR20120128978A (en) * 2011-05-18 2012-11-28 삼성전자주식회사 Data storage device and data management method thereof
US9268649B1 (en) 2011-06-23 2016-02-23 Western Digital Technologies, Inc. Disk drive with recent write streams list for data refresh determination
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8626991B1 (en) * 2011-06-30 2014-01-07 Emc Corporation Multi-LUN SSD optimization system and method
US9189392B1 (en) 2011-06-30 2015-11-17 Western Digital Technologies, Inc. Opportunistic defragmentation during garbage collection
US8990493B1 (en) 2011-06-30 2015-03-24 Western Digital Technologies, Inc. Method and apparatus for performing force unit access writes on a disk
US9218852B2 (en) 2011-06-30 2015-12-22 Sandisk Technologies Inc. Smart bridge for memory core
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
US9588883B2 (en) 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
US8909889B1 (en) 2011-10-10 2014-12-09 Western Digital Technologies, Inc. Method and apparatus for servicing host commands by a disk drive
US9158722B1 (en) 2011-11-02 2015-10-13 Western Digital Technologies, Inc. Data storage device to communicate with a host in a SATA or a USB mode
US8593866B2 (en) * 2011-11-11 2013-11-26 Sandisk Technologies Inc. Systems and methods for operating multi-bank nonvolatile memory
US9268686B2 (en) 2011-12-05 2016-02-23 Intel Corporation Background reordering—a preventive wear-out control mechanism with limited overhead
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US9213493B1 (en) 2011-12-16 2015-12-15 Western Digital Technologies, Inc. Sorted serpentine mapping for storage drives
US9208070B2 (en) * 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9063838B1 (en) 2012-01-23 2015-06-23 Western Digital Technologies, Inc. Data storage device shifting data chunks of alignment zone relative to sector boundaries
US8996839B1 (en) 2012-01-23 2015-03-31 Western Digital Technologies, Inc. Data storage device aligning partition to boundary of sector when partition offset correlates with offset of write commands
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US9298252B2 (en) 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US8749910B1 (en) 2012-05-07 2014-06-10 Western Digital Technologies, Inc. Hard disk drive assembly including a NVSM to store configuration data for controlling disk drive operations
TWI454916B (en) * 2012-05-08 2014-10-01 Phison Electronics Corp Storage unit management method, memory controller and memory storage device using the same
US8681442B2 (en) 2012-05-11 2014-03-25 Western Digital Technologies, Inc. Disk drive comprising extended range head proximity sensor
CN103425586B (en) * 2012-05-17 2016-09-14 群联电子股份有限公司 Storage unit management method, Memory Controller and memorizer memory devices
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9128820B1 (en) 2012-06-18 2015-09-08 Western Digital Technologies, Inc. File management among different zones of storage media
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
CN102866863B (en) * 2012-08-23 2016-09-21 深圳Tcl新技术有限公司 Embedded multi-media card data migration method, system layer and embedded device
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US9383923B1 (en) 2012-10-18 2016-07-05 Western Digital Technologies, Inc. Write pointer management for a disk drive
US8970978B1 (en) 2012-10-22 2015-03-03 Western Digital Technologies, Inc. Disk drive detecting head touchdown by applying DC+AC control signal to fly height actuator
US20140129758A1 (en) * 2012-11-06 2014-05-08 Spansion Llc Wear leveling in flash memory devices with trim commands
US8959281B1 (en) 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US8902529B1 (en) 2012-11-20 2014-12-02 Western Digital Technologies, Inc. Dual frequency crystal oscillator
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US20150143021A1 (en) * 2012-12-26 2015-05-21 Unisys Corporation Equalizing wear on storage devices through file system controls
US9430339B1 (en) 2012-12-27 2016-08-30 Marvell International Ltd. Method and apparatus for using wear-out blocks in nonvolatile memory
US20140207998A1 (en) * 2013-01-21 2014-07-24 Skymedi Corporation System and method of wear leveling for a non-volatile memory
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US8941941B1 (en) 2013-02-28 2015-01-27 Western Digital Technologies, Inc. Disk drive calibrating touchdown sensor
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US8891341B1 (en) 2013-03-11 2014-11-18 Western Digital Technologies, Inc. Energy assisted magnetic recording disk drive using modulated laser light
US9417628B2 (en) 2013-03-13 2016-08-16 Western Digital Technologies, Inc. Production failure analysis system
US9074941B1 (en) 2013-03-14 2015-07-07 Western Digital Technologies, Inc. Systems and methods for measuring ambient and laser temperature in heat assisted magnetic recording
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9053749B1 (en) 2013-03-15 2015-06-09 Western Digital Technologies, Inc. Disk drive comprising a per-drive and per-head fly height filter
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
JP6155768B2 (en) * 2013-03-29 2017-07-05 富士通株式会社 Storage control device, storage control program, and storage control method
US8922939B1 (en) 2013-04-02 2014-12-30 Western Digital Technologies, Inc. Disk drive generating feed-forward fly height control based on temperature sensitive fly height sensor
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9064542B1 (en) 2013-04-08 2015-06-23 Western Digital Technologies, Inc. Scheduled load of heads to reduce lubricant migration on pole tip and decrease time to ready
US8949521B1 (en) 2013-04-10 2015-02-03 Western Digital Technologies, Inc. Actuator prepositioning for disk drive
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US8947816B1 (en) 2013-05-01 2015-02-03 Western Digital Technologies, Inc. Data storage assembly for archive cold storage
US8891193B1 (en) 2013-05-09 2014-11-18 Western Digital Technologies, Inc. Disk drive calibrating threshold and gain of touchdown sensor
US9153287B1 (en) 2013-05-13 2015-10-06 Western Digital Technologies, Inc. Data access for shingled magnetic recording media
US9632926B1 (en) 2013-05-16 2017-04-25 Western Digital Technologies, Inc. Memory unit assignment and selection for internal memory operations in data storage systems
US9436600B2 (en) 2013-06-11 2016-09-06 Svic No. 28 New Technology Business Investment L.L.P. Non-volatile memory storage for multi-channel memory system
US9183864B1 (en) 2013-06-13 2015-11-10 Western Digital Technologies, Inc. Disk drive adjusting closed-loop fly height target based on change in open-loop fly height control signal
US9164694B1 (en) 2013-06-19 2015-10-20 Western Digital Technologies, Inc. Data storage device detecting read-before-write conditions and returning configurable return data
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
KR102065664B1 (en) 2013-08-09 2020-01-13 삼성전자 주식회사 Method for estimating degradation state of memory device and wear leveling method in memory system using the same
JP6213040B2 (en) * 2013-08-19 2017-10-18 富士通株式会社 Semiconductor memory device and method for controlling semiconductor memory device
US9965199B2 (en) * 2013-08-22 2018-05-08 Sandisk Technologies Llc Smart dynamic wear balancing between memory pools
US9025270B1 (en) 2013-09-17 2015-05-05 Western Digital Technologies, Inc. Electronic system with current conservation mechanism and method of operation thereof
US9355666B1 (en) 2013-09-30 2016-05-31 Western Digital Technologies, Inc. Disk drive measuring stroke difference between heads by detecting a difference between ramp contact
US9336129B2 (en) * 2013-10-02 2016-05-10 Sandisk Technologies Inc. System and method for bank logical data remapping
US9099144B1 (en) 2013-10-11 2015-08-04 Western Digital Technologies, Inc. Disk drive evaluating laser performance for heat assisted magnetic recording
US9293153B2 (en) 2013-10-18 2016-03-22 Seagate Technology Llc Method and system for preserving data of a storage device
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9064525B2 (en) 2013-11-26 2015-06-23 Western Digital Technologies, Inc. Disk drive comprising laser transmission line optimized for heat assisted magnetic recording
US9047917B1 (en) 2013-11-26 2015-06-02 Western Digital Technologies, Inc. Disk drive slider with sense amplifier for coupling to a preamp through a supply/bias line and a read signal line
US9257145B1 (en) 2013-11-27 2016-02-09 Western Digital Technologies, Inc. Disk drive measuring down-track spacing of read sensors
US9013818B1 (en) 2013-12-06 2015-04-21 Western Digital Technologies, Inc. Disk drive measuring reader/writer gap by measuring fractional clock cycle over disk radius
US9021410B1 (en) 2013-12-10 2015-04-28 Western Technologies, Inc. Electronic system with multi-cycle simulation coverage mechanism and method of operation thereof
US9514845B1 (en) * 2013-12-12 2016-12-06 SK Hynix Inc. Check after write for assessing wear related degradation in solid state storage
US8958167B1 (en) 2013-12-23 2015-02-17 Western Digital Technologies, Inc. Detection of disk surface irregularities in data storage devices
US8908311B1 (en) 2014-01-27 2014-12-09 Western Digital Technologies, Inc. Data storage device writing a multi-sector codeword in segments over multiple disk revolutions
US9501393B2 (en) 2014-01-27 2016-11-22 Western Digital Technologies, Inc. Data storage system garbage collection based on at least one attribute
US9864529B1 (en) 2014-01-27 2018-01-09 Western Digital Technologies, Inc. Host compatibility for host managed storage media
US9064504B1 (en) 2014-01-29 2015-06-23 Western Digital Technologies, Inc. Electronic system with media recovery mechanism and method of operation thereof
US9230585B1 (en) 2014-01-31 2016-01-05 Western Digital Technologies, Inc. Per wedge preheat DFH to improve data storage device performance
US9257146B1 (en) 2014-02-11 2016-02-09 Western Digital Technologies, Inc. Data storage device comprising sequence detector compensating for inter-track interference
TWI548991B (en) * 2014-02-14 2016-09-11 群聯電子股份有限公司 Memory management method, memory control circuit unit and memory storage apparatus
US9117489B1 (en) 2014-02-18 2015-08-25 Western Digital Technologies, Inc. Data storage device screening heads by verifying defects after defect scan
US8988809B1 (en) 2014-02-18 2015-03-24 Western Digital (Fremont), Llc Disk recording device for writing a radially coherent reference band by measuring relative timing offsets of reference bursts
US9245556B2 (en) 2014-03-10 2016-01-26 Western Digital Technologies, Inc. Disk drive employing multiple read elements to increase radial band for two-dimensional magnetic recording
US9082458B1 (en) 2014-03-10 2015-07-14 Western Digital Technologies, Inc. Data storage device balancing and maximizing quality metric when configuring arial density of each disk surface
US9070406B1 (en) 2014-03-10 2015-06-30 Western Digital Technologies, Inc. Disk drive configuring one-dimensional and two-dimensional recording areas based on read element spacing
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9263088B2 (en) 2014-03-21 2016-02-16 Western Digital Technologies, Inc. Data management for a data storage device using a last resort zone
JP5858081B2 (en) * 2014-03-27 2016-02-10 Tdk株式会社 Memory controller, memory system, and memory control method
US8947812B1 (en) 2014-03-27 2015-02-03 Western Digital Technologies, Inc. Data storage device comprising equalizer filter and inter-track interference filter
US9916616B2 (en) 2014-03-31 2018-03-13 Western Digital Technologies, Inc. Inventory management system using incremental capacity formats
US9645752B1 (en) 2014-04-07 2017-05-09 Western Digital Technologies, Inc. Identification of data committed to non-volatile memory by use of notification commands
US9632711B1 (en) 2014-04-07 2017-04-25 Western Digital Technologies, Inc. Processing flush requests by utilizing storage system write notifications
US9659191B2 (en) * 2014-04-09 2017-05-23 Seagate Technology Llc Encryption key storage and modification in a data storage device
US9123370B1 (en) 2014-04-15 2015-09-01 Western Digital Technologies, Inc. Data storage device calibrating fly height actuator based on laser power for heat assisted magnetic recording
US8976633B1 (en) 2014-04-15 2015-03-10 Western Digital Technologies, Inc. Data storage device calibrating fly height actuator based on laser power for heat assisted magnetic recording
US8988810B1 (en) 2014-04-16 2015-03-24 Western Digital Technologies, Inc. Track measurement for data storage device
US9317211B2 (en) 2014-05-02 2016-04-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method of life management for low endurance SSD NAND devices used as secondary cache
US9401165B1 (en) 2014-05-05 2016-07-26 Western Digital Technologies, Inc. Method and system to monitor magnetic head loading and unloading stability for a data storage system
US9245558B1 (en) 2014-05-09 2016-01-26 Western Digital Technologies, Inc. Electronic system with data management mechanism and method of operation thereof
US9075714B1 (en) 2014-05-13 2015-07-07 Western Digital Technologies, Inc. Electronic system with data management mechanism and method of operation thereof
US9251856B1 (en) 2014-05-30 2016-02-02 Western Digial Technologies, Inc. Read failover method and apparatus for a data storage system
US9251844B1 (en) 2014-06-02 2016-02-02 Western Digital Technologies, Inc. Waterfall method and apparatus for a data storage device read system
US9025267B1 (en) 2014-06-09 2015-05-05 Western Digital Technologies, Inc. Data storage device using branch metric from adjacent track to compensate for inter-track interference
US9013821B1 (en) 2014-06-10 2015-04-21 Western Digital Technologies, Inc. Data storage device employing one-dimensional and two-dimensional channels
US8953277B1 (en) 2014-06-16 2015-02-10 Western Digital Technologies, Inc. Data storage device writing tracks on a disk with equal spacing
US9171575B1 (en) 2014-06-23 2015-10-27 Western Digital Technologies, Inc. Data storage device detecting media defects by writing opposite polarity test pattern
US9117463B1 (en) 2014-06-23 2015-08-25 Western Digital Technologies, Inc. Data storage device erasing multiple adjacent data tracks to recover from inter-track interference
US9424864B2 (en) 2014-07-02 2016-08-23 Western Digital Technologies, Inc. Data management for a data storage device with zone relocation
US8953269B1 (en) 2014-07-18 2015-02-10 Western Digital Technologies, Inc. Management of data objects in a data object zone
US9001453B1 (en) 2014-07-18 2015-04-07 Western Digital Technologies, Inc. Data storage device calibrating fly height actuator based on read mode touchdown resistance of touchdown sensor
US10528461B2 (en) 2014-08-04 2020-01-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Controlling wear among flash memory devices based on remaining warranty
US9875055B1 (en) 2014-08-04 2018-01-23 Western Digital Technologies, Inc. Check-pointing of metadata
US9952950B1 (en) 2014-09-08 2018-04-24 Western Digital Technologies, Inc. Data management in RAID environment
US9153266B1 (en) 2014-09-11 2015-10-06 Western Digital Technologies, Inc. Data storage device measuring laser protrusion fly height profile
US9600205B1 (en) 2014-09-22 2017-03-21 Western Digital Technologies, Inc. Power aware power safe write buffer
US9117479B1 (en) 2014-09-24 2015-08-25 Western Digital Technologies, Inc. Data storage device calibrating laser write power for heat assisted magnetic recording
US9747928B1 (en) 2014-09-25 2017-08-29 Western Digital Technologies, Inc. Data storage device modifying write operation when a laser mode hop is detected
US9286947B1 (en) 2014-10-07 2016-03-15 Seagate Technology Llc Method and system for preserving data of a storage device
US9025421B1 (en) 2014-10-08 2015-05-05 Western Digital Technologies, Inc. Data storage device adjusting laser input power to compensate for temperature variations
US9236086B1 (en) 2014-10-15 2016-01-12 Western Digital Technologies, Inc. Methods for reducing operational latency of data storage systems
US9099103B1 (en) 2014-10-21 2015-08-04 Western Digital Technologies, Inc. Heat assisted magnetic recording withinterlaced high-power heated and low-power heated tracks
US9129628B1 (en) 2014-10-23 2015-09-08 Western Digital Technologies, Inc. Data management for data storage device with different track density regions
US9123382B1 (en) 2014-10-28 2015-09-01 Western Digital Technologies, Inc. Non-volatile caching for sequence of data
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9230605B1 (en) 2014-12-01 2016-01-05 Western Digital Technologies, Inc. Data storage device maximizing areal density based on a target quality metric
US10282371B1 (en) 2014-12-02 2019-05-07 Western Digital Technologies, Inc. Object storage device with probabilistic data structure
US9269393B1 (en) 2014-12-08 2016-02-23 Western Digital Technologies, Inc. Electronic system with data refresh mechanism and method of operation thereof
US10282096B1 (en) 2014-12-17 2019-05-07 Western Digital Technologies, Inc. Identification of data with predetermined data pattern
US9281009B1 (en) 2014-12-18 2016-03-08 Western Digital Technologies, Inc. Data storage device employing variable size interleave written track segments
US9311939B1 (en) 2014-12-23 2016-04-12 Western Digital Technologies, Inc. Write-through media caching
US9842622B1 (en) 2014-12-23 2017-12-12 Western Digital Technologies, Inc. Data storage device having improved read failure tolerance
US9076474B1 (en) 2014-12-23 2015-07-07 Western Digital Technologies, Inc. Data storage device attenuating thermal decay effect on fly height measurement
US9257143B1 (en) 2014-12-23 2016-02-09 Western Digital Technologies, Inc. Precautionary measures for data storage device environmental conditions
US9257134B1 (en) 2014-12-24 2016-02-09 Western Digital Technologies, Inc. Allowing fast data zone switches on data storage devices
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10365836B1 (en) 2015-01-27 2019-07-30 Western Digital Technologies, Inc. Electronic system with declustered data protection by parity based on reliability and method of operation thereof
US9099134B1 (en) 2015-01-27 2015-08-04 Western Digital Technologies, Inc. Data storage device employing multiple jog profiles for a butterfly written disk surface
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9672107B1 (en) 2015-02-11 2017-06-06 Western Digital Technologies, Inc. Data protection for a data storage device
US9933955B1 (en) 2015-03-05 2018-04-03 Western Digital Technologies, Inc. Power safe write buffer for data storage device
US9318137B1 (en) 2015-03-13 2016-04-19 Western Digital Technologies, Inc. Data storage device executing retry operation by buffering signal samples at different radial offsets
US9196302B1 (en) 2015-03-18 2015-11-24 Western Digital Technologies, Inc. Electronic system with media maintenance mechanism and method of operation thereof
US9870281B1 (en) 2015-03-20 2018-01-16 Western Digital Technologies, Inc. Power loss mitigation for data storage device
US9183877B1 (en) 2015-03-20 2015-11-10 Western Digital Technologies, Inc. Data storage device comprising two-dimensional data dependent noise whitening filters for two-dimensional recording
US9384774B1 (en) 2015-03-23 2016-07-05 Western Digital Technologies, Inc. Data storage device calibrating a laser power for heat assisted magnetic recording based on slope of quality metric
US9368131B1 (en) 2015-04-03 2016-06-14 Western Digital (Fremont), Llc Data storage device employing mirrored cross-track profiles for top and bottom disk surfaces
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9502068B1 (en) 2015-04-08 2016-11-22 Western Digital Technologies, Inc. Data storage device updating laser power during non-write mode for heat assisted magnetic recording
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9361938B1 (en) 2015-04-16 2016-06-07 Western Digital Technologies, Inc. Disk defect management for a data storage device
US9472219B1 (en) 2015-05-01 2016-10-18 Western Digital Technologies, Inc. Data storage device calibrating parameter for heat assisted magnetic recording
US9588898B1 (en) 2015-06-02 2017-03-07 Western Digital Technologies, Inc. Fullness control for media-based cache operating in a steady state
US9466321B1 (en) 2015-06-05 2016-10-11 Western Digital Technologies, Inc. Angular position tracking of data accesses to mitigate risk of data loss
US9842617B1 (en) 2015-06-29 2017-12-12 Western Digital Technologies, Inc. Electronic system with head management mechanism and method of operation thereof
US9639287B1 (en) 2015-06-29 2017-05-02 Western Digital Technologies, Inc. Write command reporting
US10445232B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Determining control states for address mapping in non-volatile memories
US10452533B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Access network for address mapping in non-volatile memories
US9921969B2 (en) 2015-07-14 2018-03-20 Western Digital Technologies, Inc. Generation of random address mapping in non-volatile memories using local and global interleaving
US10452560B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US10445251B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US10067672B2 (en) * 2015-08-31 2018-09-04 International Business Machines Corporation Memory activity driven adaptive performance measurement
US9368132B1 (en) 2015-09-04 2016-06-14 Western Digital Technologies, Inc. Data storage device employing differential write data signal and differential write pattern signal
US9437242B1 (en) 2015-09-14 2016-09-06 Western Digital Technologies, Inc. Data storage device employing different frequency preambles in adjacent data tracks
US9959052B1 (en) 2015-09-17 2018-05-01 Western Digital Technologies, Inc. Media based cache for data storage device
US10063257B1 (en) 2015-11-03 2018-08-28 Western Digital Technologies, Inc. Data storage device encoding and interleaving codewords to improve trellis sequence detection
US9761273B1 (en) 2015-11-03 2017-09-12 Western Digital Technologies, Inc. Data storage device encoding and interleaving codewords to improve trellis sequence detection
US10056920B1 (en) 2015-11-03 2018-08-21 Western Digital Technologies, Inc. Data storage device encoding and interleaving codewords to improve trellis sequence detection
KR20170075835A (en) * 2015-12-23 2017-07-04 에스케이하이닉스 주식회사 Memory system and operating method of memory system
US9793888B2 (en) 2016-03-14 2017-10-17 Altera Corporation Techniques for enabling and disabling transistor legs in an output driver circuit
US20170277629A1 (en) * 2016-03-25 2017-09-28 Alibaba Group Holding Limited Extending the useful lifespan of nonvolatile memory
US10078500B2 (en) 2016-09-23 2018-09-18 Dspace Digital Signal Processing And Control Engineering Gmbh Method and system for automatic code generation
US10489064B2 (en) 2016-10-03 2019-11-26 Cypress Semiconductor Corporation Systems, methods, and devices for user configurable wear leveling of non-volatile memory
CN106844227A (en) * 2017-01-14 2017-06-13 郑州云海信息技术有限公司 Solid state hard disc abrasion equilibrium method and device based on grouping mechanism
KR20180094391A (en) * 2017-02-15 2018-08-23 에스케이하이닉스 주식회사 Memory system and operating method thereof
US11742038B2 (en) * 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
US11551990B2 (en) * 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
US10318169B2 (en) 2017-10-27 2019-06-11 EMC IP Holding Company LLC Load balancing of I/O by moving logical unit (LUN) slices between non-volatile storage represented by different rotation groups of RAID (Redundant Array of Independent Disks) extent entries in a RAID extent table of a mapped RAID data storage system
US10884889B2 (en) 2018-06-22 2021-01-05 Seagate Technology Llc Allocating part of a raid stripe to repair a second raid stripe
JP6727365B1 (en) * 2019-03-27 2020-07-22 ウィンボンド エレクトロニクス コーポレーション Semiconductor memory device
CN110333828B (en) * 2019-07-12 2023-07-07 四川虹美智能科技有限公司 EEPROM data storage method, controller and system
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4093985A (en) * 1976-11-05 1978-06-06 North Electric Company Memory sparing arrangement
US4279024A (en) * 1978-06-30 1981-07-14 Siemens Aktiengesellschaft Word-by-word electrically reprogrammable nonvolatile memory
US4430727A (en) * 1981-11-10 1984-02-07 International Business Machines Corp. Storage element reconfiguration
US4528683A (en) * 1981-06-15 1985-07-09 Vdo Adolf Schindling Ag Circuit for storing a multi-digit decimal numerical value of the distance traversed by a vehicle
US4530054A (en) * 1982-03-03 1985-07-16 Sperry Corporation Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory
US4562532A (en) * 1978-12-13 1985-12-31 Fujitsu Limited Main storage configuration control system
US4563752A (en) * 1982-06-11 1986-01-07 U.S. Philips Corporation Series/parallel/series shift register memory comprising redundant parallel-connected storage registers, and display apparatus comprising a picture memory thus organized
US4608671A (en) * 1982-04-30 1986-08-26 Hitachi, Ltd. Buffer storage including a swapping circuit
US4612640A (en) * 1984-02-21 1986-09-16 Seeq Technology, Inc. Error checking and correction circuitry for use with an electrically-programmable and electrically-erasable memory array
US4616311A (en) * 1980-10-03 1986-10-07 Tokyo Shibaura Denki Kabushiki Kaisha Data processing system
US4638430A (en) * 1983-07-15 1987-01-20 United Technologies Corporation EAROM and EEPROM data storage management
US4638457A (en) * 1981-06-12 1987-01-20 Siemens Aktiengesellschaft Method and apparatus for the non-volatile storage of the count of an electronic counting circuit
US4663770A (en) * 1985-02-27 1987-05-05 Hughes Microlectronics Limited Non-volatile counting circuit and method which provides for extended counter life
US4682287A (en) * 1983-08-30 1987-07-21 Nippondenso Co., Ltd. Electronic odometer
US4718041A (en) * 1986-01-09 1988-01-05 Texas Instruments Incorporated EEPROM memory having extended life
US4774544A (en) * 1986-02-28 1988-09-27 Casio Computer Co., Ltd. Counter apparatus for an image forming apparatus for counting and managing the number of image forming operations
US4803707A (en) * 1987-12-21 1989-02-07 Ncr Corporation Nonvolatile electronic odometer with excess write cycle protection
US4899272A (en) * 1987-10-23 1990-02-06 Chips & Technologies, Inc. Addressing multiple types of memory devices
US4922456A (en) * 1988-04-29 1990-05-01 Scientific-Atlanta, Inc. Method of reducing wearout in a non-volatile memory with double buffer
US4924375A (en) * 1987-10-23 1990-05-08 Chips And Technologies, Inc. Page interleaved memory access
US4943962A (en) * 1987-10-30 1990-07-24 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory having page mode programming function
US4947410A (en) * 1989-02-23 1990-08-07 General Motors Corporation Method and apparatus for counting with a nonvolatile memory
US4953073A (en) * 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
US5034926A (en) * 1988-08-12 1991-07-23 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US5065364A (en) * 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5103411A (en) * 1989-05-31 1992-04-07 Nippon Seiki Co., Ltd. Electronic odometer wherein medium order digit data addresses locations which store high and low order digit data
US5134589A (en) * 1989-10-30 1992-07-28 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having a flash write function
US5138580A (en) * 1989-06-06 1992-08-11 Gemplus Card International Method for the erasure of memory cells, device designed to implement it, and use of said method in a device with non-supplied memory
US5155705A (en) * 1988-09-20 1992-10-13 Fujitsu Limited Semiconductor memory device having flash write function
US5163021A (en) * 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5168465A (en) * 1988-06-08 1992-12-01 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5172338A (en) * 1989-04-13 1992-12-15 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5193071A (en) * 1988-12-22 1993-03-09 Digital Equipment Corporation Memory apparatus for multiple processor systems
US5210716A (en) * 1989-07-24 1993-05-11 Seiko Instruments Inc. Semiconductor nonvolatile memory
US5222109A (en) * 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
US5263003A (en) * 1991-11-12 1993-11-16 Allen-Bradley Company, Inc. Flash memory circuit and method of operation
US5267218A (en) * 1992-03-31 1993-11-30 Intel Corporation Nonvolatile memory card with a single power supply input
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5270979A (en) * 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5272669A (en) * 1991-02-20 1993-12-21 Sundisk Corporation Method and structure for programming floating gate memory cells
US5280447A (en) * 1992-06-19 1994-01-18 Intel Corporation Floating gate nonvolatile memory with configurable erasure blocks
US5295255A (en) * 1991-02-22 1994-03-15 Electronic Professional Services, Inc. Method and apparatus for programming a solid state processor with overleaved array memory modules
US5297148A (en) * 1989-04-13 1994-03-22 Sundisk Corporation Flash eeprom system
US5303198A (en) * 1990-09-28 1994-04-12 Fuji Photo Film Co., Ltd. Method of recording data in memory card having EEPROM and memory card system using the same
US5341489A (en) * 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
US5357473A (en) * 1990-08-09 1994-10-18 Mitsubishi Denki Kabushiki Kaisha Semiconductor storage system including defective bit replacement
US5371876A (en) * 1991-05-10 1994-12-06 Intel Corporation Computer system with a paged non-volatile memory
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5544356A (en) * 1990-12-31 1996-08-06 Intel Corporation Block-erasable non-volatile semiconductor memory which tracks and stores the total number of write/erase cycles for each block
US5548554A (en) * 1993-12-29 1996-08-20 Sgs-Thompson Microelectronics, S.R.L. Integrated programming circuitry for an electrically programmable semiconductor memory device with redundancy
US5568626A (en) * 1990-02-27 1996-10-22 Nec Corporation Method and system for rewriting data in a non-volatile memory a predetermined large number of times
US5630093A (en) * 1990-12-31 1997-05-13 Intel Corporation Disk emulation for a non-volatile semiconductor memory utilizing a mapping table
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5726937A (en) * 1994-01-31 1998-03-10 Norand Corporation Flash memory system having memory cache
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6081447A (en) * 1991-09-13 2000-06-27 Western Digital Corporation Wear leveling techniques for flash EEPROM systems

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US528447A (en) * 1894-10-30 Julius m
US524572A (en) * 1894-08-14 Grinding-wheel
US517338A (en) * 1894-03-27 Coupling for cable-conveyers
DE2840305C3 (en) 1978-09-15 1981-03-26 Siemens AG, 1000 Berlin und 8000 München Method for programming read-only memories that can be rewritten
DE3200872A1 (en) 1982-01-14 1983-07-21 Sartorius GmbH, 3400 Göttingen Electronic balance
JPS58215795A (en) 1982-06-08 1983-12-15 Toshiba Corp Non-volatile memory device
JPS58215794A (en) 1982-06-08 1983-12-15 Toshiba Corp Non-volatile memory device
JPS5945695A (en) 1982-09-07 1984-03-14 Fujitsu Ltd Ic memory
JPS59162695A (en) 1983-03-07 1984-09-13 Nec Corp Storage device
JPS60179857A (en) 1984-02-28 1985-09-13 Fujitsu Ltd Control system of cache device
JPS60212900A (en) 1984-04-09 1985-10-25 Nec Corp Semiconductor fixed memory
JPS61165894A (en) 1985-01-17 1986-07-26 Matsushita Electronics Corp Semiconductor memory device
JPS62229598A (en) 1986-03-29 1987-10-08 Fanuc Ltd Data storage system using nonvolatile memory
JPS62245600A (en) 1986-04-17 1987-10-26 Fanuc Ltd Data memory system using non-volatile memory
JPH07109717B2 (en) * 1986-05-31 1995-11-22 キヤノン株式会社 Memory write control method
JP2685173B2 (en) 1986-05-31 1997-12-03 キヤノン株式会社 Memory write control method
JPS636600A (en) 1986-06-27 1988-01-12 財団法人 ライフテクノロジ−研究所 Nasal detector
US5155105A (en) * 1986-09-15 1992-10-13 Bristol-Myers Squibb Company Pharmaceutical methods for relief of dysmenorrhea and/or premenstrual syndrome and process
JPS63183700A (en) 1987-01-26 1988-07-29 Mitsubishi Electric Corp Eeprom access method
JPH01235075A (en) 1988-03-14 1989-09-20 Fuji Xerox Co Ltd Disk memory controller
JPH02189790A (en) 1989-01-18 1990-07-25 Mitsubishi Electric Corp Dynamic semiconductor memory
WO1994027382A1 (en) 1993-05-11 1994-11-24 Norand Corporation Premises, peripheral and vehicular local area networking
JPH0373496A (en) 1989-05-16 1991-03-28 Seiko Epson Corp Eeprom writer
JPH0325798A (en) 1989-06-23 1991-02-04 Ricoh Co Ltd Storage device using eeprom
JPH0330034A (en) 1989-06-28 1991-02-08 Hitachi Ltd Optical disk file managing method
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
DE3935971A1 (en) 1989-10-28 1991-05-02 Schmermund Maschf Alfred DEVICE FOR FORMING CIGARETTE GROUPS
JPH03283094A (en) 1990-03-29 1991-12-13 Nec Corp Semiconductor memory
JPH04123243A (en) 1990-09-14 1992-04-23 Toshiba Corp Data writing device
JP3137993B2 (en) 1991-01-16 2001-02-26 富士通株式会社 Nonvolatile semiconductor memory device
FR2675287B1 (en) 1991-04-15 1993-06-18 Bull Sa COUPLING CIRCUIT AND ITS USE IN A CARD AND METHOD.
JP2582487B2 (en) 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション External storage system using semiconductor memory and control method thereof
JP2549034B2 (en) 1991-07-22 1996-10-30 株式会社メルコ Storage device
JP3231832B2 (en) 1991-11-26 2001-11-26 株式会社日立製作所 Semiconductor disk using flash memory as storage medium
JP3122201B2 (en) 1991-11-30 2001-01-09 株式会社東芝 Memory card device
JPH05289039A (en) 1992-04-10 1993-11-05 Idemitsu Kosan Co Ltd Washing method for substrate
KR0121800B1 (en) 1992-05-08 1997-11-22 사또오 후미오 Memory card device
JP3749037B2 (en) * 1999-06-04 2006-02-22 矢崎総業株式会社 Electronic odometer device

Patent Citations (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4093985A (en) * 1976-11-05 1978-06-06 North Electric Company Memory sparing arrangement
US4279024A (en) * 1978-06-30 1981-07-14 Siemens Aktiengesellschaft Word-by-word electrically reprogrammable nonvolatile memory
US4562532A (en) * 1978-12-13 1985-12-31 Fujitsu Limited Main storage configuration control system
US4616311A (en) * 1980-10-03 1986-10-07 Tokyo Shibaura Denki Kabushiki Kaisha Data processing system
US4638457A (en) * 1981-06-12 1987-01-20 Siemens Aktiengesellschaft Method and apparatus for the non-volatile storage of the count of an electronic counting circuit
US4528683A (en) * 1981-06-15 1985-07-09 Vdo Adolf Schindling Ag Circuit for storing a multi-digit decimal numerical value of the distance traversed by a vehicle
US4430727A (en) * 1981-11-10 1984-02-07 International Business Machines Corp. Storage element reconfiguration
US4530054A (en) * 1982-03-03 1985-07-16 Sperry Corporation Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory
US4608671A (en) * 1982-04-30 1986-08-26 Hitachi, Ltd. Buffer storage including a swapping circuit
US4563752A (en) * 1982-06-11 1986-01-07 U.S. Philips Corporation Series/parallel/series shift register memory comprising redundant parallel-connected storage registers, and display apparatus comprising a picture memory thus organized
US4638430A (en) * 1983-07-15 1987-01-20 United Technologies Corporation EAROM and EEPROM data storage management
US4682287A (en) * 1983-08-30 1987-07-21 Nippondenso Co., Ltd. Electronic odometer
US4612640A (en) * 1984-02-21 1986-09-16 Seeq Technology, Inc. Error checking and correction circuitry for use with an electrically-programmable and electrically-erasable memory array
US4663770A (en) * 1985-02-27 1987-05-05 Hughes Microlectronics Limited Non-volatile counting circuit and method which provides for extended counter life
US4718041A (en) * 1986-01-09 1988-01-05 Texas Instruments Incorporated EEPROM memory having extended life
US4953073A (en) * 1986-02-06 1990-08-28 Mips Computer Systems, Inc. Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
US4774544A (en) * 1986-02-28 1988-09-27 Casio Computer Co., Ltd. Counter apparatus for an image forming apparatus for counting and managing the number of image forming operations
US4899272A (en) * 1987-10-23 1990-02-06 Chips & Technologies, Inc. Addressing multiple types of memory devices
US4924375A (en) * 1987-10-23 1990-05-08 Chips And Technologies, Inc. Page interleaved memory access
US4943962A (en) * 1987-10-30 1990-07-24 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory having page mode programming function
US4803707A (en) * 1987-12-21 1989-02-07 Ncr Corporation Nonvolatile electronic odometer with excess write cycle protection
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US4922456A (en) * 1988-04-29 1990-05-01 Scientific-Atlanta, Inc. Method of reducing wearout in a non-volatile memory with double buffer
US5544118A (en) * 1988-06-08 1996-08-06 Harari; Eliyahou Flash EEPROM system cell array with defect management including an error correction scheme
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5168465A (en) * 1988-06-08 1992-12-01 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5034926A (en) * 1988-08-12 1991-07-23 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory
US5155705A (en) * 1988-09-20 1992-10-13 Fujitsu Limited Semiconductor memory device having flash write function
US5193071A (en) * 1988-12-22 1993-03-09 Digital Equipment Corporation Memory apparatus for multiple processor systems
US4947410A (en) * 1989-02-23 1990-08-07 General Motors Corporation Method and apparatus for counting with a nonvolatile memory
US5163021A (en) * 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5172338A (en) * 1989-04-13 1992-12-15 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5297148A (en) * 1989-04-13 1994-03-22 Sundisk Corporation Flash eeprom system
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5103411A (en) * 1989-05-31 1992-04-07 Nippon Seiki Co., Ltd. Electronic odometer wherein medium order digit data addresses locations which store high and low order digit data
US5138580A (en) * 1989-06-06 1992-08-11 Gemplus Card International Method for the erasure of memory cells, device designed to implement it, and use of said method in a device with non-supplied memory
US5210716A (en) * 1989-07-24 1993-05-11 Seiko Instruments Inc. Semiconductor nonvolatile memory
US5065364A (en) * 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5134589A (en) * 1989-10-30 1992-07-28 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having a flash write function
US5568626A (en) * 1990-02-27 1996-10-22 Nec Corporation Method and system for rewriting data in a non-volatile memory a predetermined large number of times
US5357473A (en) * 1990-08-09 1994-10-18 Mitsubishi Denki Kabushiki Kaisha Semiconductor storage system including defective bit replacement
US5303198A (en) * 1990-09-28 1994-04-12 Fuji Photo Film Co., Ltd. Method of recording data in memory card having EEPROM and memory card system using the same
US5222109A (en) * 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US5630093A (en) * 1990-12-31 1997-05-13 Intel Corporation Disk emulation for a non-volatile semiconductor memory utilizing a mapping table
US5544356A (en) * 1990-12-31 1996-08-06 Intel Corporation Block-erasable non-volatile semiconductor memory which tracks and stores the total number of write/erase cycles for each block
US5272669A (en) * 1991-02-20 1993-12-21 Sundisk Corporation Method and structure for programming floating gate memory cells
US5295255A (en) * 1991-02-22 1994-03-15 Electronic Professional Services, Inc. Method and apparatus for programming a solid state processor with overleaved array memory modules
US5270979A (en) * 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5371876A (en) * 1991-05-10 1994-12-06 Intel Corporation Computer system with a paged non-volatile memory
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
US6594183B1 (en) * 1991-09-13 2003-07-15 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6081447A (en) * 1991-09-13 2000-06-27 Western Digital Corporation Wear leveling techniques for flash EEPROM systems
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6850443B2 (en) * 1991-09-13 2005-02-01 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5263003A (en) * 1991-11-12 1993-11-16 Allen-Bradley Company, Inc. Flash memory circuit and method of operation
US5267218A (en) * 1992-03-31 1993-11-30 Intel Corporation Nonvolatile memory card with a single power supply input
US5341489A (en) * 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
US5280447A (en) * 1992-06-19 1994-01-18 Intel Corporation Floating gate nonvolatile memory with configurable erasure blocks
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5548554A (en) * 1993-12-29 1996-08-20 Sgs-Thompson Microelectronics, S.R.L. Integrated programming circuitry for an electrically programmable semiconductor memory device with redundancy
US5726937A (en) * 1994-01-31 1998-03-10 Norand Corporation Flash memory system having memory cache
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825940B1 (en) 2008-12-02 2014-09-02 Siliconsystems, Inc. Architecture for optimizing execution of storage access commands
US20100174849A1 (en) * 2009-01-07 2010-07-08 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US9176859B2 (en) 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US8266408B2 (en) * 2009-03-17 2012-09-11 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
US9280464B2 (en) 2009-03-17 2016-03-08 Cisco Technology, Inc. System and method for simultaneously storing and reading data from a memory system
US20110022791A1 (en) * 2009-03-17 2011-01-27 Sundar Iyer High speed memory systems and methods for designing hierarchical memory systems
US8433880B2 (en) * 2009-03-17 2013-04-30 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
US20130311748A1 (en) * 2009-03-17 2013-11-21 Memoir Systems, Inc. System and Method for Storing Data in a Virtualized Memory System With Destructive Reads
US10042573B2 (en) 2009-03-17 2018-08-07 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US8838934B2 (en) * 2009-03-17 2014-09-16 Memoir Systems, Inc. System and method for storing data in a virtualized memory system with destructive reads
US20110167192A1 (en) * 2009-03-17 2011-07-07 Sundar Iyer System and method for storing data in a virtualized high speed memory system
US9442846B2 (en) 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US20100241784A1 (en) * 2009-03-17 2010-09-23 Sundar Iyer System and method for storing data in a virtualized high speed memory system
US10079048B2 (en) 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US20100250793A1 (en) * 2009-03-24 2010-09-30 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US20140310482A1 (en) * 2009-09-08 2014-10-16 Memoir Systems, Inc. System And Method For Storing Multiple Copies of Data In A High Speed Memory System
US8935507B2 (en) * 2009-09-08 2015-01-13 Memoir Systems, Inc. System and method for storing multiple copies of data in a high speed memory system
US8719531B2 (en) 2011-06-14 2014-05-06 Western Digital Technologies, Inc. System and method for performing data retention that incorporates environmental conditions
CN103325424A (en) * 2012-03-23 2013-09-25 绿智慧流科技公司 Method for evaluating lifetime of flash memory
US10885957B2 (en) 2012-10-26 2021-01-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US11347402B2 (en) * 2014-05-28 2022-05-31 Micron Technology, Inc. Performing wear leveling operations in a memory based on block cycles and use of spare blocks
WO2016077091A1 (en) * 2014-11-13 2016-05-19 Micron Technology, Inc Memory wear leveling
US9830087B2 (en) 2014-11-13 2017-11-28 Micron Technology, Inc. Memory wear leveling

Also Published As

Publication number Publication date
US20050114589A1 (en) 2005-05-26
US7353325B2 (en) 2008-04-01
US6230233B1 (en) 2001-05-08
US6081447A (en) 2000-06-27
US20030227804A1 (en) 2003-12-11
US6594183B1 (en) 2003-07-15
US6850443B2 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
US6850443B2 (en) Wear leveling techniques for flash EEPROM systems
KR101174308B1 (en) Automated wear leveling in non-volatile storage systems
US7631138B2 (en) Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8040727B1 (en) Flash EEprom system with overhead data stored in user data sectors
US7184306B2 (en) Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US7441067B2 (en) Cyclic flash memory wear leveling
US6587382B1 (en) Nonvolatile memory using flexible erasing methods and method and system for using same
US8760957B2 (en) Non-volatile memory and method having a memory array with a high-speed, short bit-line portion
US20060161724A1 (en) Scheduling of housekeeping operations in flash memory systems
US20070147168A1 (en) Methods for writing non-volatile memories for increased endurance
US20070150644A1 (en) System for writing non-volatile memories for increased endurance
US5726937A (en) Flash memory system having memory cache
EP1713085A1 (en) Automated wear leveling in non-volatile storage systems
US6400634B1 (en) Technique for increasing endurance of integrated circuit memory
CN113918480A (en) Method and apparatus for wear leveling

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: SANDISK TECHNOLOGIES LLC, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SANDISK CORPORATION;REEL/FRAME:039551/0231

Effective date: 20160712