US6567307B1 - Block management for mass storage - Google Patents
Block management for mass storage Download PDFInfo
- Publication number
- US6567307B1 US6567307B1 US10/086,462 US8646202A US6567307B1 US 6567307 B1 US6567307 B1 US 6567307B1 US 8646202 A US8646202 A US 8646202A US 6567307 B1 US6567307 B1 US 6567307B1
- Authority
- US
- United States
- Prior art keywords
- block
- sector
- sector information
- nonvolatile memory
- information
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Definitions
- the present invention relates generally to methods and apparatus for improving the performance of file management within nonvolatile memory devices and particularly to increasing the speed of writing or storing information to such nonvolatile memory devices.
- Various prior art methods and techniques were used to manage files, i.e. store data and read back data, within nonvolatile memory devices.
- a host device commands a controller, coupled between the host device and nonvolatile memory, to store certain information within nonvolatile memory and later to read the same.
- Such information depends on the application of the nonvolatile memory device. For example, in the case of digital cameras, digital pictures or photos is the information stored and retrieve from nonvolatile memory. In the case of Personal Computers (PCs), information is stored and retrieved from hard disk.
- PCs Personal Computers
- each sector including a predetermined number of user data and a predetermined number of overhead data
- the host commands the controller to store sector information by referencing addresses associated with particular sectors. For example, there may be sectors 0 through N and each a group of sectors may define a block which would also have an address associated therewith for identifying the same.
- the controller uses sector addresses to organize digital information within the nonvolatile memory device.
- FIG. 1 depicting a block 10 and a block 12 , each of which include 64 K bytes of storage area organized into sector locations for storing sector information.
- the number of sector locations included within a block is a function of the size of each sector. In the case, for example, where each sector includes 512 bytes, the number of sectors included within a block having 64 K bytes is obviously 64 ⁇ 1024 divided by 512 or 128.
- the controller when the host writes to a sector location identified by LBA 0 , the controller stores said information into 14 and associated flag(s) are set to ‘new’ the first time such a write or store operation takes place after erasure of the block 10 .
- sector 0 at 14 will be set to ‘old’ indicating that the information stored therein is no longer current and that the controller should read another location to obtain the latest sector 0 information. This occurs when sector 0 is re-written or updated a following time and because information at 14 cannot be re-written without the block 10 first being erased.
- sector information identified by LBA 1 is initially written at 16 and the next time it is written, it is written to the next available location in Block 10 which is location 30 and the following time after that when it is written by the host, it is written at 36 and the flags of 16 , 30 and 36 are updated as describe above. This process continues until the block 10 becomes full at which time a new, or available, or free block is found by the controller, in this case, block 12 . From thereon, updated sector information is written to the block 12 , not only this, but at some point, if necessary, all sector locations including current sector information are moved to the block 12 , as explained in U.S. Pat. No. 5, 341,330.
- the re-writing of sector 50 takes place within the block 12 rather than the block 10 .
- the re-written sector 50 information is written at 50 and all other sectors designated as having current or ‘new’ sector information are moved to the block 12 .
- a method and apparatus for improving the performance of managing files or data within nonvolatile memory by organizing the memory into smaller block sizes and introducing a virtual logical block address (VLBA) to PBA relationship and a unique VLBA was assigned to each block and within each VLBA were sectors arranged in sequential order for decreasing the number of moves to expedite or improve the performance of the system through the use of mapping of PBAs to VLBAs.
- VLBA to PBA mapping caused the size of the space manager within the controller device to decrease thereby resulting in a less expensive manufacturing of the controller device.
- this method it is presumed that sectors are written in sequential order by the host, if this is not the case, there is much wasted memory space.
- FIG. 1 ( a ) shows another method for updating sector information in that when sector information is re-written by a host, the new or updated information need be written to a free block.
- FIG. 1 ( a ) when sector information, identified by LBA 0 in Block 0 , is re-written or updated, the updated LBA 0 sector information is written to LBA 0 of Block 1 . All other sectors within the Block 0 need then be moved to Block 1 . Accordingly, every time there is a re-write or update of a sector, an entire block of information is moved to a new or free block. Obviously, this adversely affects system performance because every time there is a re-write of a sector, a new location within a free block is written thereto while the old information remains in the previous block until the system erases the latter.
- sectors are not moved necessarily right away after every sector information update, rather, re-writes and move operations are kept track thereof and when a block is full or nearly full of mostly old sector information, its current sector information is then moved to a new block.
- FIG. 1 ( b ) when sector information to LBA 0 is updated, it is written to an available sector location in an available or free block but the remaining sectors of the previous block are not moved to the new block.
- the previous block continues to hold some current sector information as well as some old sector information.
- the system keeps track of rewrites so that it has knowledge of which sectors are old and which are current and when a block is full or nearly full of old sector information, it moves the current sector information, if any, to the new of available block.
- an embodiment of the present invention includes a nonvolatile memory system comprising nonvolatile memory for storing sector information, the nonvolatile memory being organized into blocks with each block including a plurality of sectors, each sector identified by a logical block address and for storing sector information.
- a controller is coupled to the nonvolatile memory for writing sector information to the latter and for updating the sector information, wherein upon updating sector information, the controller writes to the next free or available sector(s) of a block such that upon multiple re-writes or updating of sector information, a plurality of blocks are substantially filled with sector information and upon such time, the controller rearranges the updated sector information in sequential order based on their respective logical block addresses thereby increasing system performance and improving manufacturing costs of the controller.
- FIG. 1 shows an example of a prior art technique for moving sector information upon re-write or updating operations.
- FIG. 1 ( a ) shows another example of a prior art technique for moving sector information upon re-write or updating operations.
- FIG. 1 ( b ) shows yet another example of a prior art technique for moving sector information upon re-write or updating operations.
- FIG. 2 shows an example of the organization of information within nonvolatile memory devices is shown, in accordance with an embodiment of the present invention.
- FIG. 3 illustrates the notion of finding free blocks by the controller and using the same for re-arranging sector information in accordance with a method of the present invention.
- FIG. 4 further expands on the example of FIG. 2 .
- FIG. 2 an example of the organization of information within nonvolatile memory devices is shown, in accordance with an embodiment of the present invention, to include M number of blocks 100 , M being an integer with each block including sector information.
- the blocks 100 are temporary locations for storage of sector information commanded to be written by the host through a controller device.
- the blocks 100 are shown to include Block N, Block N+M and Block N+M ⁇ 1, wherein N is also an integer number.
- the reason for the notation N is to emphasize that Block N and in fact Blocks N+M and N+M ⁇ 1 can be any one of the blocks within a nonvolatile memory.
- four blocks are designated as the blocks within 100 and thus temporary locations for storing data or information received from the host but in other embodiments of the present invention, any number of blocks may be employed.
- each block includes 8 sectors but again, any number of sectors may be assigned to a block without departing from the scope and spirit of the present invention.
- Block N includes eight sector locations, as does Block N+M and Block N+M ⁇ 1.
- this information is placed in the first sector location of Block N, at 102 .
- Block N+M the next time the host rewrites to or updates the sector identified by LBA 0 , this information is stored in Block N+M, at its first sector location, 116 and at such time, the information at 102 in Block N is designated as being ‘old’ through the use of a flag or other means while the sector information at 117 is designated as ‘new’.
- the same events occur when the scenario repeats itself for the updating of sector 1 where the location at 104 in Block N is designated as being ‘old’ and the location at 118 in Block N+M is designated as ‘new’ through the use of their respective flags.
- the following sectors to be written namely the sectors identified by LBAs 2 , 3 , 50 , 496 , 497 and 498 , are also stored in Block N+M at 120 - 130 , respectively.
- the sector identified by LBA 50 was previously written by the host and stored at 110 in Block N so that when it is updated, the new sector information is stored at 124 in Block N+M and the flag at 110 is modified to indicate ‘old’ whereas the flag at 124 is modified to indicate ‘new’.
- the following sector writes are of sectors of sequential LBA order.
- This sector information are stored in block N+M ⁇ 1 at 132 - 146 , respectively. That is, the sector identified by LBA 400 is stored at 132 , the next sector, identified by LBA 402 is stored at 134 and so on until the eight sequential sectors are stored within the Block N+M ⁇ 1.
- the controller performs a ‘clean-up’ operation, arranging the sectors in sequential order within blocks other than those included with the blocks 100 thus enabling the space manager within the controller device to avoid maintaining track of information stored within nonvolatile memory on a sector-by-sector basis thereby improving manufacturing costs associated with the controller device by the latter having a smaller space manager requirement. Additionally, as will be evident, the number of move operations of sectors is reduced thereby increasing system performance.
- free blocks are found by the controller and used for re-arranging sector information.
- four blocks are employed while other number of blocks may be used without departing from the spirit and scope of the present invention.
- blocks 200 are shown to include four blocks, namely Block 4 , Block 5 , Block 6 and Block 7 . Again, these blocks need not be Blocks 4 - 7 and can be any free blocks found by the controller.
- Each VLBA identifies a unique block having eight sectors. For example, VLBAO identifies Block 4 , VLBA 1 identified Block 6 , VLBA 62 identifies Block 5 and VLBA 6 identified Block 7 . It is important to note that the numbering of the VLBAs is a function of the sequential order of the LBAs associated with sectors. That is, sectors identified by LBA 0 - 7 will be located in VLBAO and the next eight sectors, LBA 8 - 15 will be in VLBA 1 and the next eight (not shown in FIG.
- the sectors of FIG. 2 having current sector information are re-arranged into sequential order and placed within the blocks 3 of FIG. 3 .
- the sector identified by LBA 0 is moved from 117 (in FIG. 2) to 202 in FIG. 3 . That is, the current sector 0 information, which now resides in Block N+M rather than Block N, is moved to the first location of Block 4 , at 202 .
- the sector that is in the next sequential order, i.e. sector 1 is found in the blocks 100 of FIG. 2, at 118 and moved to 204 in FIG. 3 (whenever reference is made throughout this document to moving a sector, the information within the sector or sector information is what is physically moved).
- Sector 2 is found at 120 in Block N+M in FIG. 2 and moved to 206 in FIG. 3 and sector 3 is found at 122 in FIG. 2 and moved to 208 in FIG. 3 .
- the next sequentially-ordered sector, sector 4 is found in Block 0 (shown in FIG. 1 ( b )) and moved to 210 in FIG. 3 and the following 3 sectors follow at 212 , 214 and 216 in FIG. 3 .
- the following eight sectors are sequentially placed within the block identified by VLBA 1 in FIG. 3 . Each of these sectors is also found from various temporary block locations within blocks 100 in FIG. 2 and moved to the locations 218 - 232 , respectively. That is, sectors 8 and 9 are found in Block 2 (shown in FIG. 1 ( b )) and moved to 218 and 220 , respectively. Sectors 10 - 11 are found at 104 and 106 , respectively in Block N of FIG. 2 and remaining sectors 12 - 15 are found in Block 2 (shown in FIG. 1 ( b )) and placed at 226 - 232 , respectively.
- VLBA 62 is shown to include information for sectors 496 - 503 with sectors 496 - 498 being moved from Block N+M at 124 - 130 of FIG. 2, respectively, to 250 - 254 of VLBA 62 of FIG. 3, respectively and sectors 499 - 503 being moved from Block 1 , not shown in FIG. 2, to 256 - 264 in FIG. 3, respectively.
- VLBA 6 of FIG. 3 is updated to include sectors 48 - 55 from temporary blocks 100 .
- Block N+M ⁇ 1 includes sectors that are already in sequential order, as noted above, since the host wrote them in sequential order. Accordingly, there is no need to move these sectors into another block for the purpose of reorganizing them into sequential order. Rather, Block N+M ⁇ 1 is renumbered as VLBA Block 50 (this is due to sectors 400 as divided into 8 being 50) and taken out of temporary blocks 100 and considered among the blocks 200 of FIG. 3 . Thus as shown in FIG. 4, no moves are required for sectors 400 - 408 saving a number of operations that substantially increases the system performance. In fact, the more the number of sequential writes of at least a number of sectors equal to the number of sectors within a block, the greater the system performance due to a lesser number of move operations.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/086,462 US6567307B1 (en) | 2000-07-21 | 2002-02-28 | Block management for mass storage |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/620,544 US6978342B1 (en) | 1995-07-31 | 2000-07-21 | Moving sectors within a block of information in a flash memory mass storage architecture |
US10/086,462 US6567307B1 (en) | 2000-07-21 | 2002-02-28 | Block management for mass storage |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/620,544 Continuation-In-Part US6978342B1 (en) | 1995-07-31 | 2000-07-21 | Moving sectors within a block of information in a flash memory mass storage architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
US6567307B1 true US6567307B1 (en) | 2003-05-20 |
Family
ID=46280371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/086,462 Expired - Lifetime US6567307B1 (en) | 2000-07-21 | 2002-02-28 | Block management for mass storage |
Country Status (1)
Country | Link |
---|---|
US (1) | US6567307B1 (en) |
Cited By (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126481A1 (en) * | 2001-09-28 | 2003-07-03 | Payne Robert Edwin | Power management system |
US20030126451A1 (en) * | 2001-09-28 | 2003-07-03 | Gorobets Sergey Anatolievich | Data processing |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US20040199714A1 (en) * | 1995-07-31 | 2004-10-07 | Petro Estakhri | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US20040237010A1 (en) * | 1992-05-20 | 2004-11-25 | Auclair Daniel L. | Soft errors handling in EEPROM devices |
US20050144357A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Adaptive metablocks |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US20050141313A1 (en) * | 2003-12-30 | 2005-06-30 | Gorobets Sergey A. | Non-volatile memory and method with memory planes alignment |
US20050144361A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US20050144358A1 (en) * | 2003-12-30 | 2005-06-30 | Conley Kevin M. | Management of non-volatile memory systems having large erase blocks |
US20060020745A1 (en) * | 2004-07-21 | 2006-01-26 | Conley Kevin M | Fat analysis for optimized sequential cluster management |
US20060039196A1 (en) * | 2003-10-03 | 2006-02-23 | Gorobets Sergey A | Corrected data storage and handling methods |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US20060067181A1 (en) * | 1999-05-08 | 2006-03-30 | Samsung Electronics Co., Ltd | Recording medium for storing linking type information and method of processing defective area using the same |
US20060106949A1 (en) * | 2004-11-12 | 2006-05-18 | Emulex Design & Manufacturing Corporation | Legacy-compatible extended command input-output control block |
US7058754B2 (en) | 2003-12-22 | 2006-06-06 | Silicon Storage Technology, Inc. | Nonvolatile memory device capable of simultaneous erase and program of different blocks |
US20060123160A1 (en) * | 2004-12-03 | 2006-06-08 | Emulex Design & Manufacturing Corporation | Interrupt notification block |
US20060126419A1 (en) * | 2004-12-15 | 2006-06-15 | Samsung Electronics Co., Ltd. | Method of configuring memory cell array block, method of addressing the same, semiconductor memory device and memory cell array block |
US20060155921A1 (en) * | 2004-12-16 | 2006-07-13 | Gorobets Sergey A | Non-volatile memory and method with multi-stream update tracking |
US20060155920A1 (en) * | 2004-12-16 | 2006-07-13 | Smith Peter J | Non-volatile memory and method with multi-stream updating |
US20060155922A1 (en) * | 2004-12-16 | 2006-07-13 | Gorobets Sergey A | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US20060161722A1 (en) * | 2004-12-16 | 2006-07-20 | Bennett Alan D | Scratch pad block |
US20060161728A1 (en) * | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
US20060161733A1 (en) * | 2005-01-19 | 2006-07-20 | Emulex Design & Manufacturing Corporation | Host buffer queues |
US20060184722A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20060184720A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage in flash memories |
US20060256610A1 (en) * | 2005-05-16 | 2006-11-16 | Freescale Semiconductor, Inc. | Nonvolatile memory system using magneto-resistive random access memory (MRAM) |
US20070033323A1 (en) * | 2005-08-03 | 2007-02-08 | Gorobets Sergey A | Interfacing systems operating through a logical address space and on a direct data file basis |
US20070033375A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Indexing of File Data in Reprogrammable Non-Volatile Memories That Directly Store Data Files |
US20070033374A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Reprogrammable Non-Volatile Memory Systems With Indexing of Directly Stored Data Files |
US20070033373A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Method and system for dual mode access for storage devices |
US20070033330A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Reclaiming Data Storage Capacity in Flash Memory Systems |
US20070033362A1 (en) * | 2005-02-04 | 2007-02-08 | Sinclair Alan W | Mass data storage system |
EP1758027A2 (en) | 2003-12-30 | 2007-02-28 | SanDisk Corporation | Non-volatile memory and method with control data management |
US20070086260A1 (en) * | 2005-10-13 | 2007-04-19 | Sinclair Alan W | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US20070088904A1 (en) * | 2005-10-13 | 2007-04-19 | Sinclair Alan W | Memory system storing transformed units of data in fixed sized storage blocks |
US20070101095A1 (en) * | 2005-10-27 | 2007-05-03 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US20070136555A1 (en) * | 2005-12-13 | 2007-06-14 | Sinclair Alan W | Logically-addressed file storage methods |
US20070143532A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Method and system for accessing non-volatile storage devices |
US20070143571A1 (en) * | 2005-12-21 | 2007-06-21 | Sinclair Alan W | Dual mode access for non-volatile storage devices |
US20070143570A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Method and system for accessing non-volatile storage devices |
US20070168632A1 (en) * | 2006-01-19 | 2007-07-19 | Sigmatel, Inc. | Non-volatile memory |
US20070274150A1 (en) * | 2001-09-28 | 2007-11-29 | Lexar Media, Inc. | Non-volatile memory control |
US20080034259A1 (en) * | 2006-07-12 | 2008-02-07 | Gwon Hee Ko | Data recorder |
US20080071969A1 (en) * | 2006-09-15 | 2008-03-20 | Lin Jason T | Method for Class-Based Update Block Replacement Rules in Non-Volatile Memory |
US20080071970A1 (en) * | 2006-09-15 | 2008-03-20 | Lin Jason T | Non-Volatile Memory With Class-Based Update Block Replacement Rules |
US20080077842A1 (en) * | 2006-09-27 | 2008-03-27 | Gonzalez Carlos J | Memory with Cell Population Distribution Assisted Read Margining |
US20080077841A1 (en) * | 2006-09-27 | 2008-03-27 | Gonzalez Carlos J | Methods of Cell Population Distribution Assisted Read Margining |
US20080091901A1 (en) * | 2006-10-12 | 2008-04-17 | Alan David Bennett | Method for non-volatile memory with worst-case control data management |
US20080091871A1 (en) * | 2006-10-12 | 2008-04-17 | Alan David Bennett | Non-volatile memory with worst-case control data management |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US20080155184A1 (en) * | 2001-09-28 | 2008-06-26 | Lexar Media, Inc. | Methods and apparatus for writing data to non-volatile memory |
US7395404B2 (en) | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US20080183953A1 (en) * | 2006-12-06 | 2008-07-31 | David Flynn | Apparatus, system, and method for storage space recovery in solid-state storage |
US20080239808A1 (en) * | 2007-03-28 | 2008-10-02 | Lin Jason T | Flash Memory Refresh Techniques Triggered by Controlled Scrub Data Reads |
US20080239851A1 (en) * | 2007-03-28 | 2008-10-02 | Lin Jason T | Flash Memory with Data Refresh Triggered by Controlled Scrub Data Reads |
US20090043952A1 (en) * | 1995-07-31 | 2009-02-12 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US20090077434A1 (en) * | 2004-08-27 | 2009-03-19 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US20090125671A1 (en) * | 2006-12-06 | 2009-05-14 | David Flynn | Apparatus, system, and method for storage space recovery after reaching a read count limit |
US20090150641A1 (en) * | 2007-12-06 | 2009-06-11 | David Flynn | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US20090175088A1 (en) * | 2006-08-14 | 2009-07-09 | Satoshi Torii | Method and architecture for fast flash memory programming |
US20090204750A1 (en) * | 1995-07-31 | 2009-08-13 | Petro Estakhri | Direct logical block addressing flash memory mass storage architecture |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7634624B2 (en) | 2001-09-28 | 2009-12-15 | Micron Technology, Inc. | Memory system for data storage and retrieval |
US20090327595A1 (en) * | 2004-08-27 | 2009-12-31 | Lexar Media, Inc. | Storage capacity status |
US20090327368A1 (en) * | 2008-06-30 | 2009-12-31 | Bluearc Uk Limited | Dynamic Write Balancing in a Data Storage System |
US20100037102A1 (en) * | 2008-08-08 | 2010-02-11 | Seagate Technology Llc | Fault-tolerant non-volatile buddy memory structure |
US20100095057A1 (en) * | 2008-10-15 | 2010-04-15 | Seagate Technology Llc | Non-volatile resistive sense memory on-chip cache |
US20100118587A1 (en) * | 2008-11-12 | 2010-05-13 | Seagate Technology Llc | Resistive sense memory array with partial block update capability |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7734862B2 (en) | 2000-07-21 | 2010-06-08 | Lexar Media, Inc. | Block management for mass storage |
WO2010078222A1 (en) | 2009-01-05 | 2010-07-08 | Sandisk Corporation | Non-volatile memory and method with write cache partitioning |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US20100172180A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Non-Volatile Memory and Method With Write Cache Partitioning |
US20100174846A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Nonvolatile Memory With Write Cache Having Flush/Eviction Methods |
WO2010078540A2 (en) | 2009-01-05 | 2010-07-08 | Sandisk Corporation | Spare block management in non-volatile memories |
US20100177250A1 (en) * | 2007-06-01 | 2010-07-15 | Hiromasa Hoshino | Recording apparatus and recording method |
US20100228912A1 (en) * | 2009-03-04 | 2010-09-09 | Seagate Technology Llc | Non-Volatile Memory With Hybrid Index Tag Array |
US20100309719A1 (en) * | 2009-06-05 | 2010-12-09 | Yan Li | Folding Data Stored in Binary Format Into Multi-State Format Within Non-Volatile Memory Devices |
US7865659B2 (en) | 2004-04-30 | 2011-01-04 | Micron Technology, Inc. | Removable storage device |
WO2011075594A1 (en) | 2009-12-18 | 2011-06-23 | Sandisk Corporation | Non-volatile memory with multi-gear control using on-chip folding of data |
US20110149650A1 (en) * | 2009-12-18 | 2011-06-23 | Jianmin Huang | Data Transfer Flows for On-Chip Folding |
WO2011075572A1 (en) | 2009-12-18 | 2011-06-23 | Sandisk Corporation | Maintaining updates of multi-level non-volatile memory in binary non-volatile memory |
WO2011162973A1 (en) | 2010-06-23 | 2011-12-29 | Sandisk Technologies Inc. | Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems |
US8122322B2 (en) | 2007-07-31 | 2012-02-21 | Seagate Technology Llc | System and method of storing reliability data |
US20120096237A1 (en) * | 2010-10-13 | 2012-04-19 | Riverbed Technology, Inc. | Method of improving performance of a data storage device |
US8166488B2 (en) | 2002-02-22 | 2012-04-24 | Micron Technology, Inc. | Methods of directly accessing a mass storage data device |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US8228729B2 (en) | 2009-06-05 | 2012-07-24 | Sandisk Technologies Inc. | Structure and method for shuffling data within non-volatile memory devices |
US8244960B2 (en) | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8543757B2 (en) | 2010-06-23 | 2013-09-24 | Sandisk Technologies Inc. | Techniques of maintaining logical to physical mapping information in non-volatile memory systems |
US8681548B2 (en) | 2012-05-03 | 2014-03-25 | Sandisk Technologies Inc. | Column redundancy circuitry for non-volatile memory |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US8725935B2 (en) | 2009-12-18 | 2014-05-13 | Sandisk Technologies Inc. | Balanced performance for on-chip folding of non-volatile memories |
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 |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US9170754B2 (en) | 2007-12-06 | 2015-10-27 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
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 |
US9349479B1 (en) | 2014-11-18 | 2016-05-24 | Sandisk Technologies Inc. | Boundary word line operation in nonvolatile memory |
US9449700B2 (en) | 2015-02-13 | 2016-09-20 | Sandisk Technologies Llc | Boundary word line search and open block read methods with reduced read disturb |
US9466383B2 (en) | 2013-12-30 | 2016-10-11 | Sandisk Technologies Llc | Non-volatile memory and method with adaptive logical groups |
US9490035B2 (en) | 2012-09-28 | 2016-11-08 | SanDisk Technologies, Inc. | Centralized variable rate serializer and deserializer for bad column management |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US9552171B2 (en) | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9653154B2 (en) | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US9978456B2 (en) | 2014-11-17 | 2018-05-22 | Sandisk Technologies Llc | Techniques for reducing read disturb in partially written blocks of non-volatile memory |
US10032524B2 (en) | 2015-02-09 | 2018-07-24 | Sandisk Technologies Llc | Techniques for determining local interconnect defects |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
Citations (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4210959A (en) | 1978-05-10 | 1980-07-01 | Apple Computer, Inc. | Controller for magnetic disc, recorder, or the like |
US4355376A (en) | 1980-09-30 | 1982-10-19 | Burroughs Corporation | Apparatus and method for utilizing partially defective memory devices |
US4405952A (en) | 1978-05-26 | 1983-09-20 | Cii Honeywell Bull | Apparatus for detecting faulty sectors and for allocating replacement sectors in a magnetic disc memory |
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 |
WO1984000628A1 (en) | 1982-07-30 | 1984-02-16 | Western Electric Co | Management of defects in storage media |
JPS5945695A (en) | 1982-09-07 | 1984-03-14 | Fujitsu Ltd | Ic memory |
US4450559A (en) | 1981-12-24 | 1984-05-22 | International Business Machines Corporation | Memory system with selective assignment of spare locations |
US4456971A (en) | 1981-02-09 | 1984-06-26 | Sony Corporation | Semiconductor RAM that is accessible in magnetic disc storage format |
JPS59162695A (en) | 1983-03-07 | 1984-09-13 | Nec Corp | Storage device |
US4525839A (en) | 1981-10-30 | 1985-06-25 | Hitachi, Ltd. | Method of controlling storage device |
JPS60212900A (en) | 1984-04-09 | 1985-10-25 | Nec Corp | Semiconductor fixed memory |
JPS6196598A (en) | 1984-10-17 | 1986-05-15 | Fuji Electric Co Ltd | Electrically erasable P-ROM count data storage method |
US4616311A (en) | 1980-10-03 | 1986-10-07 | Tokyo Shibaura Denki Kabushiki Kaisha | Data processing system |
AU557723B2 (en) | 1982-12-17 | 1987-01-08 | Blue Circle Southern Cement Ltd. | Electronic memory system |
US4654847A (en) | 1984-12-28 | 1987-03-31 | International Business Machines | Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array |
EP0220718A2 (en) | 1985-10-29 | 1987-05-06 | Toppan Printing Co., Ltd. | IC card |
EP0243503A1 (en) | 1985-10-28 | 1987-11-04 | Matsushita Electric Industrial Co., Ltd. | Data recording/regenerating device |
US4710871A (en) | 1982-11-01 | 1987-12-01 | Ncr Corporation | Data transmitting and receiving apparatus |
JPS62283496A (en) | 1986-05-31 | 1987-12-09 | Canon Inc | Management system for of number of times of writing programmable read only memory |
JPS62283497A (en) | 1986-05-31 | 1987-12-09 | Canon Inc | Management system for of number of times of writing programmable read only memory |
US4746998A (en) | 1985-11-20 | 1988-05-24 | Seagate Technology, Inc. | Method for mapping around defective sectors in a disc drive |
US4757474A (en) | 1986-01-28 | 1988-07-12 | Fujitsu Limited | Semiconductor memory device having redundancy circuit portion |
JPS63183700A (en) | 1987-01-26 | 1988-07-29 | Mitsubishi Electric Corp | Eeprom access method |
US4774700A (en) | 1985-03-12 | 1988-09-27 | Matsushita Electric Industrial Co., Ltd. | Information recording and reproducing apparatus with detection and management of defective sectors |
US4800520A (en) | 1985-10-29 | 1989-01-24 | Kabushiki Kaisha Toshiba | Portable electronic device with garbage collection function |
US4896262A (en) | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
US4914529A (en) | 1988-07-18 | 1990-04-03 | Western Digital Corp. | Data disk defect handling using relocation ID fields |
US4920518A (en) | 1985-04-23 | 1990-04-24 | Hitachi, Ltd. | Semiconductor integrated circuit with nonvolatile memory |
US4924331A (en) | 1985-11-20 | 1990-05-08 | Seagate Technology, Inc. | Method for mapping around defective sectors in a disc drive |
US4953122A (en) | 1986-10-31 | 1990-08-28 | Laserdrive Ltd. | Pseudo-erasable and rewritable write-once optical disk memory system |
EP0424191A2 (en) | 1989-10-17 | 1991-04-24 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US5070474A (en) | 1988-07-26 | 1991-12-03 | Disk Emulation Systems, Inc. | Disk emulation system |
EP0489204A1 (en) | 1990-12-04 | 1992-06-10 | Hewlett-Packard Limited | Reprogrammable data storage device |
JPH04332999A (en) | 1991-05-07 | 1992-11-19 | Hitachi Koki Co Ltd | Method of using memory |
US5168465A (en) | 1988-06-08 | 1992-12-01 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
EP0522780A2 (en) | 1991-07-12 | 1993-01-13 | International Business Machines Corporation | Control method for a computer memory device |
US5198380A (en) | 1988-06-08 | 1993-03-30 | Sundisk Corporation | Method of highly compact EPROM and flash EEPROM devices |
EP0544252A2 (en) | 1991-11-28 | 1993-06-02 | Fujitsu Limited | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system |
US5226168A (en) | 1989-04-25 | 1993-07-06 | Seiko Epson Corporation | Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory |
FR2687811A1 (en) | 1992-02-20 | 1993-08-27 | Fujitsu Ltd | FLASH MEMORY CONTROL METHOD AND APPARATUS. |
US5268318A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
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 |
US5293560A (en) | 1988-06-08 | 1994-03-08 | Eliyahou Harari | Multi-state flash EEPROM system using incremental programing and erasing methods |
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 |
US5315541A (en) | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
US5337275A (en) | 1992-10-30 | 1994-08-09 | Intel Corporation | Method for releasing space in flash EEPROM memory array to allow the storage of compressed data |
US5341330A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for writing to a flash memory array during erase suspend intervals |
US5341339A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US5353256A (en) | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
US5357475A (en) | 1992-10-30 | 1994-10-18 | Intel Corporation | Method for detaching sectors in a flash EEPROM memory array |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5396468A (en) | 1991-03-15 | 1995-03-07 | Sundisk Corporation | Streamlined write operation for EEPROM system |
US5422842A (en) | 1993-07-08 | 1995-06-06 | Sundisk Corporation | Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells |
US5428621A (en) | 1992-09-21 | 1995-06-27 | Sundisk Corporation | Latent defect handling in EEPROM devices |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5438573A (en) | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US5457658A (en) * | 1993-02-24 | 1995-10-10 | International Business Machines Corporation | Nonvolatile memory with cluster-erase flash capability and solid state file apparatus using the same |
US5479638A (en) | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5485595A (en) | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5504760A (en) | 1991-03-15 | 1996-04-02 | Sandisk Corporation | Mixed data encoding EEPROM system |
US5508971A (en) | 1994-10-17 | 1996-04-16 | Sandisk Corporation | Programmable power generation circuit for flash EEPROM memory systems |
US5532962A (en) | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5534456A (en) | 1994-05-25 | 1996-07-09 | Sandisk Corporation | Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with sidewall spacers |
US5535328A (en) | 1989-04-13 | 1996-07-09 | Sandisk Corporation | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells |
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 |
US5554553A (en) | 1988-06-08 | 1996-09-10 | Harari; Eliyahou | Highly compact EPROM and flash EEPROM devices |
US5566314A (en) | 1993-08-30 | 1996-10-15 | Lucent Technologies Inc. | Flash memory device employing unused cell arrays to update files |
US5663901A (en) | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
US5778418A (en) | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US5896393A (en) * | 1996-05-23 | 1999-04-20 | Advanced Micro Devices, Inc. | Simplified file management scheme for flash memory |
-
2002
- 2002-02-28 US US10/086,462 patent/US6567307B1/en not_active Expired - Lifetime
Patent Citations (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4210959A (en) | 1978-05-10 | 1980-07-01 | Apple Computer, Inc. | Controller for magnetic disc, recorder, or the like |
US4405952A (en) | 1978-05-26 | 1983-09-20 | Cii Honeywell Bull | Apparatus for detecting faulty sectors and for allocating replacement sectors in a magnetic disc memory |
US4355376A (en) | 1980-09-30 | 1982-10-19 | Burroughs Corporation | Apparatus and method for utilizing partially defective memory devices |
US4616311A (en) | 1980-10-03 | 1986-10-07 | Tokyo Shibaura Denki Kabushiki Kaisha | Data processing system |
US4456971A (en) | 1981-02-09 | 1984-06-26 | Sony Corporation | Semiconductor RAM that is accessible in magnetic disc storage format |
US4525839A (en) | 1981-10-30 | 1985-06-25 | Hitachi, Ltd. | Method of controlling storage device |
US4450559A (en) | 1981-12-24 | 1984-05-22 | International Business Machines Corporation | Memory system with selective assignment of spare locations |
JPS58215794A (en) | 1982-06-08 | 1983-12-15 | Toshiba Corp | Non-volatile memory device |
JPS58215795A (en) | 1982-06-08 | 1983-12-15 | Toshiba Corp | Non-volatile memory device |
US4498146A (en) | 1982-07-30 | 1985-02-05 | At&T Bell Laboratories | Management of defects in storage media |
WO1984000628A1 (en) | 1982-07-30 | 1984-02-16 | Western Electric Co | Management of defects in storage media |
JPS5945695A (en) | 1982-09-07 | 1984-03-14 | Fujitsu Ltd | Ic memory |
US4710871A (en) | 1982-11-01 | 1987-12-01 | Ncr Corporation | Data transmitting and receiving apparatus |
AU557723B2 (en) | 1982-12-17 | 1987-01-08 | Blue Circle Southern Cement Ltd. | Electronic memory system |
JPS59162695A (en) | 1983-03-07 | 1984-09-13 | Nec Corp | Storage device |
US4896262A (en) | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
JPS60212900A (en) | 1984-04-09 | 1985-10-25 | Nec Corp | Semiconductor fixed memory |
JPS6196598A (en) | 1984-10-17 | 1986-05-15 | Fuji Electric Co Ltd | Electrically erasable P-ROM count data storage method |
US4654847A (en) | 1984-12-28 | 1987-03-31 | International Business Machines | Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array |
US4774700A (en) | 1985-03-12 | 1988-09-27 | Matsushita Electric Industrial Co., Ltd. | Information recording and reproducing apparatus with detection and management of defective sectors |
US4920518A (en) | 1985-04-23 | 1990-04-24 | Hitachi, Ltd. | Semiconductor integrated circuit with nonvolatile memory |
EP0243503A1 (en) | 1985-10-28 | 1987-11-04 | Matsushita Electric Industrial Co., Ltd. | Data recording/regenerating device |
EP0220718A2 (en) | 1985-10-29 | 1987-05-06 | Toppan Printing Co., Ltd. | IC card |
US4748320A (en) | 1985-10-29 | 1988-05-31 | Toppan Printing Co., Ltd. | IC card |
US4800520A (en) | 1985-10-29 | 1989-01-24 | Kabushiki Kaisha Toshiba | Portable electronic device with garbage collection function |
US4746998A (en) | 1985-11-20 | 1988-05-24 | Seagate Technology, Inc. | Method for mapping around defective sectors in a disc drive |
US4924331A (en) | 1985-11-20 | 1990-05-08 | Seagate Technology, Inc. | Method for mapping around defective sectors in a disc drive |
US4757474A (en) | 1986-01-28 | 1988-07-12 | Fujitsu Limited | Semiconductor memory device having redundancy circuit portion |
JPS62283497A (en) | 1986-05-31 | 1987-12-09 | Canon Inc | Management system for of number of times of writing programmable read only memory |
JPS62283496A (en) | 1986-05-31 | 1987-12-09 | Canon Inc | Management system for of number of times of writing programmable read only memory |
US4953122A (en) | 1986-10-31 | 1990-08-28 | Laserdrive Ltd. | Pseudo-erasable and rewritable write-once optical disk memory system |
JPS63183700A (en) | 1987-01-26 | 1988-07-29 | Mitsubishi Electric Corp | Eeprom access method |
US5293560A (en) | 1988-06-08 | 1994-03-08 | Eliyahou Harari | Multi-state flash EEPROM system using incremental programing and erasing methods |
US5198380A (en) | 1988-06-08 | 1993-03-30 | Sundisk Corporation | Method of highly compact EPROM and flash EEPROM devices |
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5712819A (en) | 1988-06-08 | 1998-01-27 | Harari; Eliyahou | Flash EEPROM system with storage of sector characteristic information within the sector |
US5642312A (en) | 1988-06-08 | 1997-06-24 | Harari; Eliyahou | Flash EEPROM system cell array with more than two storage states per memory cell |
US5168465A (en) | 1988-06-08 | 1992-12-01 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
US5583812A (en) | 1988-06-08 | 1996-12-10 | Harari; Eliyahou | Flash EEPROM system cell array with more than two storage states per memory cell |
US5268318A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
US5568439A (en) | 1988-06-08 | 1996-10-22 | Harari; Eliyahou | Flash EEPROM system which maintains individual memory block cycle counts |
US5554553A (en) | 1988-06-08 | 1996-09-10 | Harari; Eliyahou | Highly compact EPROM and flash EEPROM devices |
US5544118A (en) | 1988-06-08 | 1996-08-06 | Harari; Eliyahou | Flash EEPROM system cell array with defect management including an error correction scheme |
US5434825A (en) | 1988-06-08 | 1995-07-18 | Harari; Eliyahou | Flash EEPROM system cell array with more than two storage states per memory cell |
US4914529A (en) | 1988-07-18 | 1990-04-03 | Western Digital Corp. | Data disk defect handling using relocation ID fields |
US5070474A (en) | 1988-07-26 | 1991-12-03 | Disk Emulation Systems, Inc. | Disk emulation system |
US5535328A (en) | 1989-04-13 | 1996-07-09 | Sandisk Corporation | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells |
US5297148A (en) | 1989-04-13 | 1994-03-22 | Sundisk Corporation | Flash eeprom system |
US5719808A (en) | 1989-04-13 | 1998-02-17 | Sandisk Corporation | Flash EEPROM system |
US5418752A (en) | 1989-04-13 | 1995-05-23 | Sundisk Corporation | Flash EEPROM system with erase sector select |
US5226168A (en) | 1989-04-25 | 1993-07-06 | Seiko Epson Corporation | Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory |
US5200959A (en) | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
EP0424191A2 (en) | 1989-10-17 | 1991-04-24 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
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 |
EP0489204A1 (en) | 1990-12-04 | 1992-06-10 | Hewlett-Packard Limited | Reprogrammable data storage device |
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 |
US5504760A (en) | 1991-03-15 | 1996-04-02 | Sandisk Corporation | Mixed data encoding EEPROM system |
US5396468A (en) | 1991-03-15 | 1995-03-07 | Sundisk Corporation | Streamlined write operation for EEPROM system |
US5270979A (en) | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
US5369615A (en) | 1991-03-15 | 1994-11-29 | 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 |
JPH04332999A (en) | 1991-05-07 | 1992-11-19 | Hitachi Koki Co Ltd | Method of using memory |
EP0522780A2 (en) | 1991-07-12 | 1993-01-13 | International Business Machines Corporation | Control method for a computer memory device |
US5524230A (en) | 1991-07-12 | 1996-06-04 | International Business Machines Incorporated | External information storage system with a semiconductor memory |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5438573A (en) | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US5471478A (en) | 1991-09-13 | 1995-11-28 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US5778418A (en) | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
EP0544252A2 (en) | 1991-11-28 | 1993-06-02 | Fujitsu Limited | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system |
EP0686976A2 (en) | 1991-11-28 | 1995-12-13 | Fujitsu Limited | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system |
FR2687811A1 (en) | 1992-02-20 | 1993-08-27 | Fujitsu Ltd | FLASH MEMORY CONTROL METHOD AND APPARATUS. |
US5532962A (en) | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5315541A (en) | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
US5428621A (en) | 1992-09-21 | 1995-06-27 | Sundisk Corporation | Latent defect handling in EEPROM devices |
US5337275A (en) | 1992-10-30 | 1994-08-09 | Intel Corporation | Method for releasing space in flash EEPROM memory array to allow the storage of compressed data |
US5341330A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for writing to a flash memory array during erase suspend intervals |
US5341339A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US5357475A (en) | 1992-10-30 | 1994-10-18 | Intel Corporation | Method for detaching sectors in a flash EEPROM memory array |
US5457658A (en) * | 1993-02-24 | 1995-10-10 | International Business Machines Corporation | Nonvolatile memory with cluster-erase flash capability and solid state file apparatus using the same |
US5485595A (en) | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5479638A (en) | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5353256A (en) | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
US5532964A (en) | 1993-07-08 | 1996-07-02 | Sandisk Corporation | Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells |
US5422842A (en) | 1993-07-08 | 1995-06-06 | Sundisk Corporation | Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells |
US5495442A (en) | 1993-07-08 | 1996-02-27 | Sandisk Corporation | Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells |
US5566314A (en) | 1993-08-30 | 1996-10-15 | Lucent Technologies Inc. | Flash memory device employing unused cell arrays to update files |
US5534456A (en) | 1994-05-25 | 1996-07-09 | Sandisk Corporation | Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with sidewall spacers |
US5592420A (en) | 1994-10-17 | 1997-01-07 | Sandisk Corporation | Programmable power generation circuit for flash EEPROM memory systems |
US5563825A (en) | 1994-10-17 | 1996-10-08 | Sandisk Corporation | Programmable power generation circuit for flash eeprom memory systems |
US5693570A (en) | 1994-10-17 | 1997-12-02 | Sandisk Corporation | Process for manufacturing a programmable power generation circuit for flash EEPROM memory systems |
US5508971A (en) | 1994-10-17 | 1996-04-16 | Sandisk Corporation | Programmable power generation circuit for flash EEPROM memory systems |
US5896393A (en) * | 1996-05-23 | 1999-04-20 | Advanced Micro Devices, Inc. | Simplified file management scheme for flash memory |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
Non-Patent Citations (7)
Title |
---|
1992 Symposium of VLSI Circuits Digest of Technical Papers, "EEPROM for Solid State Disk Applications", S. Mehoura et al., SunDisk Corporation, Santa Clara, CA. R. W. Gregor et al., AT&T Bell Laboratories, Allentown, PA. pp. 24 and 25. |
Book-Computer Architecture and Parallel Processing, Kai Hwang & Faye A. Briggs, McGraw-Hill Book Co.,(C)1984, p. 64. |
Book—Computer Architecture and Parallel Processing, Kai Hwang & Faye A. Briggs, McGraw-Hill Book Co.,©1984, p. 64. |
Magazine-"State of the Art Magnetic VS. Optical Store Data in a Flash", by Walter Lahti and Dean McCarron, Byte magazine dated Nov. 1, 1990. 311, vol. 15, No. 12. |
Magazine—"State of the Art Magnetic VS. Optical Store Data in a Flash", by Walter Lahti and Dean McCarron, Byte magazine dated Nov. 1, 1990. 311, vol. 15, No. 12. |
Magazine-Technology Updates, Integrated Cirrcuits, "1-Mbit flash memories seek their role in system designs", Ron Wison, Senior Editor, Computer Design magazine 28 Mar 1, 1989 No. 5, Tulsa OK, US, pp. 30 and 32. |
Magazine—Technology Updates, Integrated Cirrcuits, "1-Mbit flash memories seek their role in system designs", Ron Wison, Senior Editor, Computer Design magazine 28 Mar 1, 1989 No. 5, Tulsa OK, US, pp. 30 and 32. |
Cited By (292)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100020616A1 (en) * | 1992-05-20 | 2010-01-28 | Auclair Daniel L | Soft Errors Handling in EEPROM Devices |
US7616484B2 (en) | 1992-05-20 | 2009-11-10 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US7839685B2 (en) | 1992-05-20 | 2010-11-23 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US7548461B2 (en) | 1992-05-20 | 2009-06-16 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US20040237010A1 (en) * | 1992-05-20 | 2004-11-25 | Auclair Daniel L. | Soft errors handling in EEPROM devices |
US20050058008A1 (en) * | 1992-05-20 | 2005-03-17 | Auclair Daniel L. | Soft errors handling in eeprom devices |
US20050083726A1 (en) * | 1992-05-20 | 2005-04-21 | Auclair Daniel L. | Soft errors handling EEPROM devices |
US7437631B2 (en) | 1992-05-20 | 2008-10-14 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US20090043952A1 (en) * | 1995-07-31 | 2009-02-12 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US7774576B2 (en) | 1995-07-31 | 2010-08-10 | Lexar Media, Inc. | Direct logical block addressing flash memory mass storage architecture |
US20090204750A1 (en) * | 1995-07-31 | 2009-08-13 | Petro Estakhri | Direct logical block addressing flash memory mass storage architecture |
US8793430B2 (en) | 1995-07-31 | 2014-07-29 | Micron Technology, Inc. | Electronic system having memory with a physical block having a sector storing data and indicating a move status of another sector of the physical block |
US20040199714A1 (en) * | 1995-07-31 | 2004-10-07 | Petro Estakhri | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US8078797B2 (en) | 1995-07-31 | 2011-12-13 | Micron Technology, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US8554985B2 (en) | 1995-07-31 | 2013-10-08 | Micron Technology, Inc. | Memory block identified by group of logical block addresses, storage device with movable sectors, and methods |
US8397019B2 (en) | 1995-07-31 | 2013-03-12 | Micron Technology, Inc. | Memory for accessing multiple sectors of information substantially concurrently |
US9026721B2 (en) | 1995-07-31 | 2015-05-05 | Micron Technology, Inc. | Managing defective areas of memory |
US8032694B2 (en) | 1995-07-31 | 2011-10-04 | Micron Technology, Inc. | Direct logical block addressing flash memory mass storage architecture |
US20060155923A1 (en) * | 1995-07-31 | 2006-07-13 | Petro Estakhri | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US7908426B2 (en) | 1995-07-31 | 2011-03-15 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US20070266201A1 (en) * | 1995-07-31 | 2007-11-15 | Petro Estakhri | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US20060195651A1 (en) * | 1995-07-31 | 2006-08-31 | Petro Estakhri | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US20060067181A1 (en) * | 1999-05-08 | 2006-03-30 | Samsung Electronics Co., Ltd | Recording medium for storing linking type information and method of processing defective area using the same |
US8019932B2 (en) | 2000-07-21 | 2011-09-13 | Micron Technology, Inc. | Block management for mass storage |
US8250294B2 (en) | 2000-07-21 | 2012-08-21 | Micron Technology, Inc. | Block management for mass storage |
US7734862B2 (en) | 2000-07-21 | 2010-06-08 | Lexar Media, Inc. | Block management for mass storage |
US20110029724A1 (en) * | 2001-01-19 | 2011-02-03 | Conley Kevin M | Partial Block Data Programming And Reading Operations In A Non-Volatile Memory |
US7657702B2 (en) | 2001-01-19 | 2010-02-02 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US20090150601A1 (en) * | 2001-01-19 | 2009-06-11 | Conley Kevin M | Partial Block Data Programming And Reading Operations In A Non-Volatile Memory |
US20060031627A1 (en) * | 2001-01-19 | 2006-02-09 | Conley Kevin M | Partial block data programming and reading operations in a non-volatile memory |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US8316177B2 (en) | 2001-01-19 | 2012-11-20 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US7970987B2 (en) | 2001-01-19 | 2011-06-28 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6968421B2 (en) | 2001-01-19 | 2005-11-22 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US7818490B2 (en) | 2001-01-19 | 2010-10-19 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US7944762B2 (en) | 2001-09-28 | 2011-05-17 | Micron Technology, Inc. | Non-volatile memory control |
US20100095055A1 (en) * | 2001-09-28 | 2010-04-15 | Lexar Media, Inc. | Memory system for data storage and retrieval |
US20080155184A1 (en) * | 2001-09-28 | 2008-06-26 | Lexar Media, Inc. | Methods and apparatus for writing data to non-volatile memory |
US8135925B2 (en) | 2001-09-28 | 2012-03-13 | Micron Technology, Inc. | Methods of operating a memory system |
US7634624B2 (en) | 2001-09-28 | 2009-12-15 | Micron Technology, Inc. | Memory system for data storage and retrieval |
US9489301B2 (en) | 2001-09-28 | 2016-11-08 | Micron Technology, Inc. | Memory systems |
US7681057B2 (en) | 2001-09-28 | 2010-03-16 | Lexar Media, Inc. | Power management of non-volatile memory systems |
US20030126451A1 (en) * | 2001-09-28 | 2003-07-03 | Gorobets Sergey Anatolievich | Data processing |
US20030126481A1 (en) * | 2001-09-28 | 2003-07-03 | Payne Robert Edwin | Power management system |
US8694722B2 (en) | 2001-09-28 | 2014-04-08 | Micron Technology, Inc. | Memory systems |
US7917709B2 (en) | 2001-09-28 | 2011-03-29 | Lexar Media, Inc. | Memory system for data storage and retrieval |
US20070274150A1 (en) * | 2001-09-28 | 2007-11-29 | Lexar Media, Inc. | Non-volatile memory control |
US9032134B2 (en) | 2001-09-28 | 2015-05-12 | Micron Technology, Inc. | Methods of operating a memory system that include outputting a data pattern from a sector allocation table to a host if a logical sector is indicated as being erased |
US8386695B2 (en) | 2001-09-28 | 2013-02-26 | Micron Technology, Inc. | Methods and apparatus for writing data to non-volatile memory |
US8208322B2 (en) | 2001-09-28 | 2012-06-26 | Micron Technology, Inc. | Non-volatile memory control |
US9213606B2 (en) | 2002-02-22 | 2015-12-15 | Micron Technology, Inc. | Image rescue |
US8166488B2 (en) | 2002-02-22 | 2012-04-24 | Micron Technology, Inc. | Methods of directly accessing a mass storage data device |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US8050095B2 (en) | 2003-10-03 | 2011-11-01 | Sandisk Technologies Inc. | Flash memory data correction and scrub techniques |
US20060039196A1 (en) * | 2003-10-03 | 2006-02-23 | Gorobets Sergey A | Corrected data storage and handling methods |
US7518919B2 (en) | 2003-10-03 | 2009-04-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US20090187785A1 (en) * | 2003-10-03 | 2009-07-23 | Gonzalez Carlos J | Flash Memory Data Correction And Scrub Techniques |
US7224607B2 (en) | 2003-10-03 | 2007-05-29 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US8004895B2 (en) | 2003-10-03 | 2011-08-23 | Sandisk Technologies Inc. | Flash memory data correction and scrub techniques |
US7173852B2 (en) | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US20060062048A1 (en) * | 2003-10-03 | 2006-03-23 | Gonzalez Carlos J | Flash memory data correction and scrub techniques |
US20110055468A1 (en) * | 2003-10-03 | 2011-03-03 | Gonzalez Carlos J | Flash Memory Data Correction and Scrub Techniques |
US7058754B2 (en) | 2003-12-22 | 2006-06-06 | Silicon Storage Technology, Inc. | Nonvolatile memory device capable of simultaneous erase and program of different blocks |
US20050144365A1 (en) * | 2003-12-30 | 2005-06-30 | Sergey Anatolievich Gorobets | Non-volatile memory and method with control data management |
US20090019217A1 (en) * | 2003-12-30 | 2009-01-15 | Sergey Anatolievich Gorobets | Non-Volatile Memory And Method With Memory Planes Alignment |
EP1758027A2 (en) | 2003-12-30 | 2007-02-28 | SanDisk Corporation | Non-volatile memory and method with control data management |
US8504798B2 (en) | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US20050141312A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Non-volatile memory and method with non-sequential update block management |
US7913061B2 (en) | 2003-12-30 | 2011-03-22 | Sandisk Corporation | Non-volatile memory and method with memory planes alignment |
US20050144358A1 (en) * | 2003-12-30 | 2005-06-30 | Conley Kevin M. | Management of non-volatile memory systems having large erase blocks |
US20110219174A1 (en) * | 2003-12-30 | 2011-09-08 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method with Phased Program Failure Handling |
US8301826B2 (en) | 2003-12-30 | 2012-10-30 | Sandisk Technologies Inc. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US8745322B2 (en) | 2003-12-30 | 2014-06-03 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US20050144357A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Adaptive metablocks |
US20100049908A1 (en) * | 2003-12-30 | 2010-02-25 | Gonzalez Carlos J | Adaptive Mode Switching of Flash Memory Address Mapping Based on Host Usage Characteristics |
US20090037651A1 (en) * | 2003-12-30 | 2009-02-05 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method with Phased Program Failure Handling |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US20050166087A1 (en) * | 2003-12-30 | 2005-07-28 | Gorobets Sergey A. | Non-volatile memory and method with phased program failure handling |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US8051257B2 (en) | 2003-12-30 | 2011-11-01 | Sandisk Technologies Inc. | Non-volatile memory and method with control data management |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US20050144360A1 (en) * | 2003-12-30 | 2005-06-30 | Bennett Alan D. | Non-volatile memory and method with block management system |
US7945759B2 (en) | 2003-12-30 | 2011-05-17 | Sandisk Corporation | Non-volatile memory and method with phased program failure handling |
US8621177B2 (en) | 2003-12-30 | 2013-12-31 | Sandisk Corporation | Non-volatile memory and method with phased program failure handling |
US20090019218A1 (en) * | 2003-12-30 | 2009-01-15 | Alan Welsh Sinclair | Non-Volatile Memory And Method With Non-Sequential Update Block Management |
US8117380B2 (en) | 2003-12-30 | 2012-02-14 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US8103841B2 (en) | 2003-12-30 | 2012-01-24 | Sandisk Technologies Inc. | Non-volatile memory and method with non-sequential update block management |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US8239643B2 (en) | 2003-12-30 | 2012-08-07 | Sandisk Technologies Inc. | Non-volatile memory and method with control data management |
US20050144361A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US20090216938A1 (en) * | 2003-12-30 | 2009-08-27 | Conley Kevin M | Management Of Non-Volatile Memory Systems Having Large Erase Blocks |
US20050141313A1 (en) * | 2003-12-30 | 2005-06-30 | Gorobets Sergey A. | Non-volatile memory and method with memory planes alignment |
US8316165B2 (en) | 2004-04-20 | 2012-11-20 | Micron Technology, Inc. | Direct secondary device interface by a host |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US8090886B2 (en) | 2004-04-20 | 2012-01-03 | Micron Technology, Inc. | Direct secondary device interface by a host |
US8151041B2 (en) | 2004-04-30 | 2012-04-03 | Micron Technology, Inc. | Removable storage device |
US9576154B2 (en) | 2004-04-30 | 2017-02-21 | Micron Technology, Inc. | Methods of operating storage systems including using a key to determine whether a password can be changed |
US8612671B2 (en) | 2004-04-30 | 2013-12-17 | Micron Technology, Inc. | Removable devices |
US10049207B2 (en) | 2004-04-30 | 2018-08-14 | Micron Technology, Inc. | Methods of operating storage systems including encrypting a key salt |
US20110082979A1 (en) * | 2004-04-30 | 2011-04-07 | Lexar Media, Inc. | Removable storage device |
US7865659B2 (en) | 2004-04-30 | 2011-01-04 | Micron Technology, Inc. | Removable storage device |
US20060020745A1 (en) * | 2004-07-21 | 2006-01-26 | Conley Kevin M | Fat analysis for optimized sequential cluster management |
US8607016B2 (en) | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US20090077434A1 (en) * | 2004-08-27 | 2009-03-19 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US8296545B2 (en) | 2004-08-27 | 2012-10-23 | Micron Technology, Inc. | Storage capacity status |
US7743290B2 (en) | 2004-08-27 | 2010-06-22 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7949822B2 (en) | 2004-08-27 | 2011-05-24 | Micron Technology, Inc. | Storage capacity status |
US20110219175A1 (en) * | 2004-08-27 | 2011-09-08 | Lexar Media, Inc. | Storage capacity status |
US20090327595A1 (en) * | 2004-08-27 | 2009-12-31 | Lexar Media, Inc. | Storage capacity status |
US20060106949A1 (en) * | 2004-11-12 | 2006-05-18 | Emulex Design & Manufacturing Corporation | Legacy-compatible extended command input-output control block |
US7644191B2 (en) | 2004-11-12 | 2010-01-05 | Emulex Design & Manufacturing Corporation | Legacy-compatible extended command input-output control block |
US20060123160A1 (en) * | 2004-12-03 | 2006-06-08 | Emulex Design & Manufacturing Corporation | Interrupt notification block |
US7721033B2 (en) | 2004-12-03 | 2010-05-18 | Emulex Design & Manufacturing Corporation | Interrupt notification block |
US7227807B2 (en) * | 2004-12-15 | 2007-06-05 | Samsung Electronics, Co., Ltd. | Method of configuring memory cell array block, method of addressing the same, semiconductor memory device and memory cell array block |
US20060126419A1 (en) * | 2004-12-15 | 2006-06-15 | Samsung Electronics Co., Ltd. | Method of configuring memory cell array block, method of addressing the same, semiconductor memory device and memory cell array block |
US20080301359A1 (en) * | 2004-12-16 | 2008-12-04 | Peter John Smith | Non-Volatile Memory and Method With Multi-Stream Updating |
US20060161722A1 (en) * | 2004-12-16 | 2006-07-20 | Bennett Alan D | Scratch pad block |
US20060155921A1 (en) * | 2004-12-16 | 2006-07-13 | Gorobets Sergey A | Non-volatile memory and method with multi-stream update tracking |
US20060155922A1 (en) * | 2004-12-16 | 2006-07-13 | Gorobets Sergey A | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
TWI393140B (en) * | 2004-12-16 | 2013-04-11 | Sandisk Technologies Inc | Methods of storing data in a non-volatile memory |
US8151035B2 (en) | 2004-12-16 | 2012-04-03 | Sandisk Technologies Inc. | Non-volatile memory and method with multi-stream updating |
US20060155920A1 (en) * | 2004-12-16 | 2006-07-13 | Smith Peter J | Non-volatile memory and method with multi-stream updating |
US7366826B2 (en) | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7412560B2 (en) | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7386655B2 (en) | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7395404B2 (en) | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US20060161733A1 (en) * | 2005-01-19 | 2006-07-20 | Emulex Design & Manufacturing Corporation | Host buffer queues |
US8364883B2 (en) | 2005-01-20 | 2013-01-29 | Sandisk Technologies Inc. | Scheduling of housekeeping operations in flash memory systems |
US20060161728A1 (en) * | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
US7565478B2 (en) | 2005-01-20 | 2009-07-21 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US20080091872A1 (en) * | 2005-01-20 | 2008-04-17 | Bennett Alan D | Scheduling of Housekeeping Operations in Flash Memory Systems |
US20090265508A1 (en) * | 2005-01-20 | 2009-10-22 | Alan David Bennett | Scheduling of Housekeeping Operations in Flash Memory Systems |
US7315917B2 (en) | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US20070033362A1 (en) * | 2005-02-04 | 2007-02-08 | Sinclair Alan W | Mass data storage system |
US10126959B2 (en) | 2005-02-04 | 2018-11-13 | Sandisk Technologies Llc | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US10055147B2 (en) | 2005-02-04 | 2018-08-21 | Sandisk Technologies Llc | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US20060184722A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7984233B2 (en) | 2005-02-16 | 2011-07-19 | Sandisk Corporation | Direct data file storage implementation techniques in flash memories |
US7877539B2 (en) | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20100217926A1 (en) * | 2005-02-16 | 2010-08-26 | Sinclair Alan W | Direct Data File Storage Implementation Techniques in Flash Memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US8214583B2 (en) | 2005-02-16 | 2012-07-03 | Sandisk Technologies Inc. | Direct file data programming and deletion in flash memories |
US20060184723A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20060184720A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage in flash memories |
US20100223423A1 (en) * | 2005-02-16 | 2010-09-02 | Sinclair Alan W | Direct File Data Programming and Deletion in Flash Memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20060256610A1 (en) * | 2005-05-16 | 2006-11-16 | Freescale Semiconductor, Inc. | Nonvolatile memory system using magneto-resistive random access memory (MRAM) |
US7245527B2 (en) | 2005-05-16 | 2007-07-17 | Freescale Semiconductor, Inc. | Nonvolatile memory system using magneto-resistive random access memory (MRAM) |
US20070033373A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Method and system for dual mode access for storage devices |
US7610437B2 (en) | 2005-08-03 | 2009-10-27 | Sandisk Corporation | Data consolidation and garbage collection in direct data file storage memories |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7558905B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Reclaiming data storage capacity in flash memory systems |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US8291151B2 (en) | 2005-08-03 | 2012-10-16 | Sandisk Technologies Inc. | Enhanced host interface |
US7562181B2 (en) | 2005-08-03 | 2009-07-14 | Sandisk Corporation | Flash memory systems with direct data file storage utilizing data consolidation and garbage collection |
US8055832B2 (en) | 2005-08-03 | 2011-11-08 | SanDisk Technologies, Inc. | Management of memory blocks that directly store data files |
US7480766B2 (en) | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7581057B2 (en) | 2005-08-03 | 2009-08-25 | Sandisk Corporation | Memory system with management of memory blocks that directly store data files |
US7590794B2 (en) | 2005-08-03 | 2009-09-15 | Sandisk Corporation | Data operations in flash memories utilizing direct data file storage |
US7590795B2 (en) | 2005-08-03 | 2009-09-15 | Sandisk Corporation | Flash memory systems utilizing direct data file storage |
US7450420B2 (en) | 2005-08-03 | 2008-11-11 | Sandisk Corporation | Reclaiming data storage capacity in flash memories |
US7627733B2 (en) | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US20070033326A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Enhanced host interfacing methods |
US7949845B2 (en) | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7669003B2 (en) | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US20070030734A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Reclaiming Data Storage Capacity in Flash Memories |
US20070186032A1 (en) * | 2005-08-03 | 2007-08-09 | Sinclair Alan W | Flash Memory Systems With Direct Data File Storage Utilizing Data Consolidation and Garbage Collection |
US20070033323A1 (en) * | 2005-08-03 | 2007-02-08 | Gorobets Sergey A | Interfacing systems operating through a logical address space and on a direct data file basis |
US20070033328A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Management of Memory Blocks That Directly Store Data Files |
US20070033329A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Memory System With Management of Memory Blocks That Directly Store Data Files |
US20070033375A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Indexing of File Data in Reprogrammable Non-Volatile Memories That Directly Store Data Files |
US20070033327A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Enhanced host interface |
US20070033376A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Data Consolidation and Garbage Collection in Direct Data File Storage Memories |
US20070033330A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Reclaiming Data Storage Capacity in Flash Memory Systems |
US20070033374A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Reprogrammable Non-Volatile Memory Systems With Indexing of Directly Stored Data Files |
US20070086260A1 (en) * | 2005-10-13 | 2007-04-19 | Sinclair Alan W | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US20070088904A1 (en) * | 2005-10-13 | 2007-04-19 | Sinclair Alan W | Memory system storing transformed units of data in fixed sized storage blocks |
US7529905B2 (en) | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7814262B2 (en) | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US20070101095A1 (en) * | 2005-10-27 | 2007-05-03 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7877540B2 (en) | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US20070136555A1 (en) * | 2005-12-13 | 2007-06-14 | Sinclair Alan W | Logically-addressed file storage methods |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US20070143571A1 (en) * | 2005-12-21 | 2007-06-21 | Sinclair Alan W | Dual mode access for non-volatile storage devices |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US8209516B2 (en) | 2005-12-21 | 2012-06-26 | Sandisk Technologies Inc. | Method and system for dual mode access for storage devices |
US20070143570A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Method and system for accessing non-volatile storage devices |
US20070143532A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Method and system for accessing non-volatile storage devices |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US20070168632A1 (en) * | 2006-01-19 | 2007-07-19 | Sigmatel, Inc. | Non-volatile memory |
US7594087B2 (en) | 2006-01-19 | 2009-09-22 | Sigmatel, Inc. | System and method for writing data to and erasing data from non-volatile memory |
US20100318748A1 (en) * | 2006-07-12 | 2010-12-16 | Gwon Hee Ko | Data recorder |
US20080034259A1 (en) * | 2006-07-12 | 2008-02-07 | Gwon Hee Ko | Data recorder |
US7783956B2 (en) | 2006-07-12 | 2010-08-24 | Cronera Systems Incorporated | Data recorder |
US8095852B2 (en) | 2006-07-12 | 2012-01-10 | Cronera Systems Incorporated | Data recorder |
US7764546B2 (en) * | 2006-08-14 | 2010-07-27 | Spansion Llc | Method and architecture for fast flash memory programming |
US20090175088A1 (en) * | 2006-08-14 | 2009-07-09 | Satoshi Torii | Method and architecture for fast flash memory programming |
US20080071969A1 (en) * | 2006-09-15 | 2008-03-20 | Lin Jason T | Method for Class-Based Update Block Replacement Rules in Non-Volatile Memory |
US7774392B2 (en) | 2006-09-15 | 2010-08-10 | Sandisk Corporation | Non-volatile memory with management of a pool of update memory blocks based on each block's activity and data order |
US7779056B2 (en) | 2006-09-15 | 2010-08-17 | Sandisk Corporation | Managing a pool of update memory blocks based on each block's activity and data order |
US20080071970A1 (en) * | 2006-09-15 | 2008-03-20 | Lin Jason T | Non-Volatile Memory With Class-Based Update Block Replacement Rules |
US7716538B2 (en) | 2006-09-27 | 2010-05-11 | Sandisk Corporation | Memory with cell population distribution assisted read margining |
US8473813B2 (en) | 2006-09-27 | 2013-06-25 | Sandisk Technologies Inc. | Methods of cell population distribution assisted read margining |
US20080077842A1 (en) * | 2006-09-27 | 2008-03-27 | Gonzalez Carlos J | Memory with Cell Population Distribution Assisted Read Margining |
US20080077841A1 (en) * | 2006-09-27 | 2008-03-27 | Gonzalez Carlos J | Methods of Cell Population Distribution Assisted Read Margining |
US7886204B2 (en) | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
US20110099438A1 (en) * | 2006-09-27 | 2011-04-28 | Gonzalez Carlos J | Methods of Cell Population Distribution Assisted Read Margining |
US20080091901A1 (en) * | 2006-10-12 | 2008-04-17 | Alan David Bennett | Method for non-volatile memory with worst-case control data management |
US20080091871A1 (en) * | 2006-10-12 | 2008-04-17 | Alan David Bennett | Non-volatile memory with worst-case control data management |
US20080183953A1 (en) * | 2006-12-06 | 2008-07-31 | David Flynn | Apparatus, system, and method for storage space recovery in solid-state storage |
US8402201B2 (en) | 2006-12-06 | 2013-03-19 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery in solid-state storage |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US11960412B2 (en) | 2006-12-06 | 2024-04-16 | Unification Technologies Llc | Systems and methods for identifying storage resources that are not in use |
US9734086B2 (en) | 2006-12-06 | 2017-08-15 | Sandisk Technologies Llc | Apparatus, system, and method for a device shared between multiple independent hosts |
US11847066B2 (en) | 2006-12-06 | 2023-12-19 | Unification Technologies Llc | Apparatus, system, and method for managing commands of solid-state storage using bank interleave |
US11640359B2 (en) | 2006-12-06 | 2023-05-02 | Unification Technologies Llc | Systems and methods for identifying storage resources that are not in use |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US20090125671A1 (en) * | 2006-12-06 | 2009-05-14 | David Flynn | Apparatus, system, and method for storage space recovery after reaching a read count limit |
US11573909B2 (en) | 2006-12-06 | 2023-02-07 | Unification Technologies Llc | Apparatus, system, and method for managing commands of solid-state storage using bank interleave |
US8074011B2 (en) | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
US20080239851A1 (en) * | 2007-03-28 | 2008-10-02 | Lin Jason T | Flash Memory with Data Refresh Triggered by Controlled Scrub Data Reads |
US20080239808A1 (en) * | 2007-03-28 | 2008-10-02 | Lin Jason T | Flash Memory Refresh Techniques Triggered by Controlled Scrub Data Reads |
US7477547B2 (en) | 2007-03-28 | 2009-01-13 | Sandisk Corporation | Flash memory refresh techniques triggered by controlled scrub data reads |
US7573773B2 (en) | 2007-03-28 | 2009-08-11 | Sandisk Corporation | Flash memory with data refresh triggered by controlled scrub data reads |
US20100177250A1 (en) * | 2007-06-01 | 2010-07-15 | Hiromasa Hoshino | Recording apparatus and recording method |
US8346051B2 (en) * | 2007-06-01 | 2013-01-01 | Panasonic Corporation | Recording apparatus and recording method |
US8122322B2 (en) | 2007-07-31 | 2012-02-21 | Seagate Technology Llc | System and method of storing reliability data |
US9170754B2 (en) | 2007-12-06 | 2015-10-27 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9600184B2 (en) | 2007-12-06 | 2017-03-21 | Sandisk Technologies Llc | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US20090150641A1 (en) * | 2007-12-06 | 2009-06-11 | David Flynn | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US8195912B2 (en) | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US20090327368A1 (en) * | 2008-06-30 | 2009-12-31 | Bluearc Uk Limited | Dynamic Write Balancing in a Data Storage System |
US9778882B2 (en) * | 2008-06-30 | 2017-10-03 | Hitachi Data Systems Engineering UK Limited | Dynamic write balancing in a data storage system |
US20100037102A1 (en) * | 2008-08-08 | 2010-02-11 | Seagate Technology Llc | Fault-tolerant non-volatile buddy memory structure |
US20100095057A1 (en) * | 2008-10-15 | 2010-04-15 | Seagate Technology Llc | Non-volatile resistive sense memory on-chip cache |
US8650355B2 (en) | 2008-10-15 | 2014-02-11 | Seagate Technology Llc | Non-volatile resistive sense memory on-chip cache |
US7830700B2 (en) | 2008-11-12 | 2010-11-09 | Seagate Technology Llc | Resistive sense memory array with partial block update capability |
US20100118587A1 (en) * | 2008-11-12 | 2010-05-13 | Seagate Technology Llc | Resistive sense memory array with partial block update capability |
US20110029714A1 (en) * | 2008-11-12 | 2011-02-03 | Seagate Technology Llc | Resistive sense memory array with partial block update capability |
US7944731B2 (en) | 2008-11-12 | 2011-05-17 | Seagate Technology Llc | Resistive sense memory array with partial block update capability |
US8244960B2 (en) | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
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 |
US8700840B2 (en) | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US20100172179A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Spare Block Management of Non-Volatile Memories |
WO2010078540A2 (en) | 2009-01-05 | 2010-07-08 | Sandisk Corporation | Spare block management in non-volatile memories |
WO2010078222A1 (en) | 2009-01-05 | 2010-07-08 | Sandisk Corporation | Non-volatile memory and method with write cache partitioning |
US20100174846A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Nonvolatile Memory With Write Cache Having Flush/Eviction Methods |
US20100172180A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Non-Volatile Memory and Method With Write Cache Partitioning |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US20100228912A1 (en) * | 2009-03-04 | 2010-09-09 | Seagate Technology Llc | Non-Volatile Memory With Hybrid Index Tag Array |
US8489801B2 (en) | 2009-03-04 | 2013-07-16 | Henry F. Huang | Non-volatile memory with hybrid index tag array |
US8228729B2 (en) | 2009-06-05 | 2012-07-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 |
US20100309719A1 (en) * | 2009-06-05 | 2010-12-09 | Yan Li | Folding Data Stored in Binary Format Into Multi-State Format Within Non-Volatile Memory Devices |
US8725935B2 (en) | 2009-12-18 | 2014-05-13 | Sandisk Technologies Inc. | Balanced performance for on-chip folding of non-volatile memories |
US20110153912A1 (en) * | 2009-12-18 | 2011-06-23 | Sergey Anatolievich Gorobets | Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory |
WO2011075597A1 (en) | 2009-12-18 | 2011-06-23 | Sandisk Corporation | Data transfer flows for on-chip folding |
WO2011075572A1 (en) | 2009-12-18 | 2011-06-23 | Sandisk Corporation | Maintaining updates of multi-level non-volatile memory in binary non-volatile memory |
US20110153913A1 (en) * | 2009-12-18 | 2011-06-23 | Jianmin Huang | 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 |
US8468294B2 (en) | 2009-12-18 | 2013-06-18 | Sandisk Technologies Inc. | Non-volatile memory with multi-gear control using on-chip folding of data |
US20110149650A1 (en) * | 2009-12-18 | 2011-06-23 | Jianmin Huang | Data Transfer Flows for On-Chip Folding |
WO2011075594A1 (en) | 2009-12-18 | 2011-06-23 | Sandisk Corporation | Non-volatile memory with multi-gear control using on-chip folding of data |
WO2011162973A1 (en) | 2010-06-23 | 2011-12-29 | Sandisk Technologies Inc. | Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems |
US8417876B2 (en) | 2010-06-23 | 2013-04-09 | Sandisk Technologies Inc. | Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems |
US8543757B2 (en) | 2010-06-23 | 2013-09-24 | Sandisk Technologies Inc. | Techniques of maintaining logical to physical mapping information in non-volatile memory systems |
US8850161B2 (en) * | 2010-10-13 | 2014-09-30 | Riverbed Technology, Inc. | Method of improving performance of a data storage device |
US20120096237A1 (en) * | 2010-10-13 | 2012-04-19 | Riverbed Technology, Inc. | Method of improving performance of a data storage device |
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 |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US8681548B2 (en) | 2012-05-03 | 2014-03-25 | Sandisk Technologies Inc. | Column redundancy circuitry for non-volatile memory |
US8897080B2 (en) | 2012-09-28 | 2014-11-25 | Sandisk Technologies Inc. | Variable rate serial to parallel shift register |
US9490035B2 (en) | 2012-09-28 | 2016-11-08 | SanDisk Technologies, Inc. | Centralized variable rate serializer and deserializer for bad column management |
US9076506B2 (en) | 2012-09-28 | 2015-07-07 | Sandisk Technologies Inc. | Variable rate parallel to serial shift register |
US9466383B2 (en) | 2013-12-30 | 2016-10-11 | Sandisk Technologies Llc | Non-volatile memory and method with adaptive logical groups |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US9552171B2 (en) | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9978456B2 (en) | 2014-11-17 | 2018-05-22 | Sandisk Technologies Llc | Techniques for reducing read disturb in partially written blocks of non-volatile memory |
US9349479B1 (en) | 2014-11-18 | 2016-05-24 | Sandisk Technologies Inc. | Boundary word line operation in nonvolatile memory |
US10032524B2 (en) | 2015-02-09 | 2018-07-24 | Sandisk Technologies Llc | Techniques for determining local interconnect defects |
US9449700B2 (en) | 2015-02-13 | 2016-09-20 | Sandisk Technologies Llc | Boundary word line search and open block read methods with reduced read disturb |
US9899077B2 (en) | 2015-09-21 | 2018-02-20 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US9653154B2 (en) | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6567307B1 (en) | Block management for mass storage | |
US7734862B2 (en) | Block management for mass storage | |
KR100324028B1 (en) | Method for performing a continuous over-write of a file in a nonvolatile memory | |
KR100882862B1 (en) | System and method for flexible flash file system | |
KR100952135B1 (en) | Flash management system using only sequential recording | |
US6571326B2 (en) | Space allocation for data in a nonvolatile memory | |
US8135925B2 (en) | Methods of operating a memory system | |
US8341371B2 (en) | Method of managing copy operations in flash memories | |
US5745418A (en) | Flash memory mass storage system | |
US7711892B2 (en) | Flash memory allocation for improved performance and endurance | |
US5937425A (en) | Flash file system optimized for page-mode flash technologies | |
EP1548599B1 (en) | Faster write operations to nonvolatile memory by manipulation of frequently accessed sectors | |
KR101329068B1 (en) | Nonvolatile Memory with Block Management | |
US20060020744A1 (en) | Method and apparatus for maintaining data on non-volatile memory systems | |
KR20070060070A (en) | FT analysis for optimized sequential cluster management | |
US10810132B1 (en) | Object based extent mapping for flash memory | |
JP2004126945A (en) | Storage device and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LEXAR MEDIA, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ESTAKHRI, PETRO;REEL/FRAME:012657/0254 Effective date: 20020228 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: MERGER;ASSIGNOR:LEXAR MEDIA, INC.;REEL/FRAME:019704/0571 Effective date: 20060621 |
|
AS | Assignment |
Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: MERGER;ASSIGNOR:LEXAR MEDIA, INC.;REEL/FRAME:019955/0058 Effective date: 20070530 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038669/0001 Effective date: 20160426 Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN Free format text: SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038669/0001 Effective date: 20160426 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, MARYLAND Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038954/0001 Effective date: 20160426 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038954/0001 Effective date: 20160426 |
|
AS | Assignment |
Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:043079/0001 Effective date: 20160426 Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:043079/0001 Effective date: 20160426 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, ILLINOIS Free format text: SECURITY INTEREST;ASSIGNORS:MICRON TECHNOLOGY, INC.;MICRON SEMICONDUCTOR PRODUCTS, INC.;REEL/FRAME:047540/0001 Effective date: 20180703 Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL Free format text: SECURITY INTEREST;ASSIGNORS:MICRON TECHNOLOGY, INC.;MICRON SEMICONDUCTOR PRODUCTS, INC.;REEL/FRAME:047540/0001 Effective date: 20180703 |
|
AS | Assignment |
Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:047243/0001 Effective date: 20180629 |
|
AS | Assignment |
Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:050937/0001 Effective date: 20190731 |
|
AS | Assignment |
Owner name: MICRON SEMICONDUCTOR PRODUCTS, INC., IDAHO Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:051028/0001 Effective date: 20190731 Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:051028/0001 Effective date: 20190731 |