Source: http://www.google.com/patents/US7793068?dq=552685
Timestamp: 2015-04-01 05:02:49
Document Index: 673209039

Matched Legal Cases: ['art 4', 'art 4', 'Application No. 2006800089822', 'Application No. 200680009222', 'Application No. 200680089894', 'Application No. 06734659', 'Application No. 06720547', 'Application No. 06734695', 'Application No. 06788725', 'Application No. 06734695', 'Application No. 067720547', 'Application No. 095128233']

Patent US7793068 - Dual mode access for non-volatile storage devices - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsMethod and mass storage memory system is provided. The system includes, re-programmable non-volatile memory cells, the memory cells being arranged in a plurality of blocks that are erasable together; and a controller including a microprocessor that is adapted to receive files of data identified by unique...http://www.google.com/patents/US7793068?utm_source=gb-gplus-sharePatent US7793068 - Dual mode access for non-volatile storage devicesAdvanced Patent SearchPublication numberUS7793068 B2Publication typeGrantApplication numberUS 11/314,842Publication dateSep 7, 2010Filing dateDec 21, 2005Priority dateDec 21, 2005Fee statusPaidAlso published asUS20070143571, WO2007076378A2, WO2007076378A3Publication number11314842, 314842, US 7793068 B2, US 7793068B2, US-B2-7793068, US7793068 B2, US7793068B2InventorsAlan W. Sinclair, Sergey A. GorobetsOriginal AssigneeSandisk CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (109), Non-Patent Citations (107), Referenced by (3), Classifications (9), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetDual mode access for non-volatile storage devices
US 7793068 B2Abstract
1. A mass storage memory system, comprising: a flash device for interfacing with a host, the flash device including re-programmable nonvolatile memory cells, the memory cells being arranged in a plurality of blocks that are erasable together; and the flash device further including a controller including a microprocessor that is adapted to receive files of data identified by the host to the flash device using file identifiers via a first interface and the controller causes a received data file to be stored in one or more memory blocks; and the controller receives data identified by the host to the flash device using logical addresses via a second interface and stores the received data in one or more memory blocks, wherein the data written via the first interface is indexed using the file identifiers so that the data is accessible via the second interface and the first interface; and data received via the second interface is indexed so that the data can be accessed via the first interface and the second interface; wherein the first interface is a direct data file storage (DFS) interface where data files received from the host are identified by the host to the flash device using the file identifiers and the second interface is a logical interface where data files received from the host are identified by the host to the flash device using the logical addresses.
2. The mass storage memory system of claim 1, wherein entries for a directory and a file allocation table (�FAT�) are created for a file written via the first interface.
7. The mass storage memory system of claim 6, wherein the controller identifies logical block address (�LBA�) runs for data received via the second interface and determines if the received data is for a new file, an existing file that has been updated, or for a file that has been deleted, and based on that an index table entry is updated.
8. The mass storage memory system claim 7, wherein the controller indexes file data identified by the LBA runs so that each LBA run has a unique file identifier.
9. A mass storage memory system, comprising: a flash device for interfacing with a host, the flash device including re-programmable non-volatile memory cells, the memory cells being arranged in a plurality of blocks of memory cells that are erasable together; and the flash device further including a controller including a microprocessor that is adapted to receive files of data identified by the host to the flash device using file identifiers via a first interface, and the controller causes a received data file to be stored in one or more memory blocks; and the controller receives data via a second interface where the host identifies the data to the flash device using logical addresses and stores the received data in one or more memory cells; wherein data written via the first interface can be accessed via the second interface and the first interface; and data received via the second interface can be accessed via the first interface and the second interface; wherein the first interface is a direct data file storage (DFS) interface where data files received the host are identified by the host to the flash device using the file identifiers and the second interface is a logical interface where data files received the host are identified by the host to the flash device using the logical addresses.
10. The mass storage memory system of claim 9, wherein entries for a directory and a file allocation table (�FAT�) are created for a file written via the first interface.
15. The mass storage memory system of claim 14, wherein the controller identifies logical block address (�LBA�) runs for the data received via the second interface and determines if the received data is for a new file, an existing file that has been updated, or for a file that has been deleted, and based on that an index table entry is updated.
17. A method for transferring data between a host and a flash device including a reprogrammable non-volatile mass storage system having memory cells organized into blocks of memory cells that are erasable together, comprising: at the flash device, receiving, from the host, unique file identifiers for individual files via a first interface; at the flash device, translating file identifiers directly into physical addresses of blocks of memory cells in which data of the identified files are written, wherein the flash device translates the file identifiers; and allocating a cluster chain within a logical block address (�LBA�) range to a file that is identified by a file identifier, so that the file can be read or updated via a second interface between the host system and the flash device, wherein the flash device performs the allocation and the first interface is a direct data file storage (DFS) interface wherein data files received from the host are identified by the host to the flash device using the file identifiers and the second interface is a logical interface wherein data files received from the host are identified by the host to the flash device using the logical address.
18. The method of claim 17, wherein the mass storage system receives the individual files with unique identifiers from the host system via the first interface.
20. The method of claim 17, wherein a file allocation table (�FAT�) entries are updated so that the file is accessible via the second interface.
22. The method of claim 17, wherein the host system sends a command to the mass storage system to create entries for a directory and file allocation table (�FAT�) so that a file written via a first interface is accessible using the second interface.
23. The method of claim 22, wherein a logical write pointer in the FAT is incremented after a directory entry for the file is written. Description
Ser. No. 11/060,249; Filed on Feb. 16, 2005; entitled �Direct Data File Storage in Flash Memories� with Alan W. Sinclair and Peter J. Smith as inventors;
Ser. No. 11/060,174; Filed on Feb. 16, 2005; entitled �Direct Data File Programming and Deletion in Flash Memories�, with Alan W. Sinclair and Peter J. Smith as inventors;
Ser. No. 11/060,248; Filed on Feb. 16, 2005; entitled �Direct Data File Storage Implementation Techniques in Flash Memories�, with Alan W. Sinclair as inventor;
Provisional patent application filed by Alan W. Sinclair and Barry Wright concurrently herewith, and entitled �Direct Data File Storage in Flash Memories�;
Ser. No. 11/196,168, Filed on Aug. 3, 2005, entitled �Method And System For Dual Mode Access For Storage Devices�;
Ser. No. 11/313,567, filed on even data herewith, entitled �Method and System for Accessing Non-Volatile Storage Devices�;
Ser. No. 11/313,633, filed on even data herewith, entitled �Method and System for Accessing Non-Volatile Storage Devices�; (the foregoing hereinafter collectively referenced as the �Direct Data File Storage Applications�).
A host system interfaces with flash mass storage devices (also referred to as �flash device�, �flash� or �flash card� interchangeably throughout this specification) via an interface. In an early generation of commercial flash memory systems, a rectangular array of memory cells were divided into a large number of groups of cells that each stored the amount of data of a standard disk drive sector, namely 512 bytes. An additional amount of data, such as 16 bytes, are also usually included in each group to store an error correction code (ECC) and possibly other overhead data relating to the user data and/or to the memory cell group in which it is stored. The memory cells in each such group are the minimum number of memory cells that are erasable together. That is, the erase unit is effectively the number of memory cells that store one data sector and any overhead data that is included. Examples of this type of memory system are described in U.S. Pat. Nos. 5,602,987 and 6,426,893. It is a characteristic of flash memory that the memory cells need to be erased prior to re-programming them with data.
In yet another aspect of the present invention, a method for transferring data between a host system and a re-programmable non-volatile mass storage system having memory cells organized into blocks of memory cells that are erasable together is provided. The method includes receiving unique file identifiers for individual files; translating file identifiers directly into physical addresses of blocks of memory cells in which data of the identified files are written, wherein the mass storage system translates the file identifiers; and allocating a cluster chain within a logical block address (�LBA�) range to a file that is identified by a file identifier, so that the file can be read or updated via a second interface between the host system and the mass storage system, wherein the mass storage system performs the allocation.
FIG. 1A shows a block diagram of a typical host system 100 that includes a central processing unit (�CPU�) (or microprocessor) 101 connected to a system bus 101A. Random access main memory (�RAM�) 103 is also coupled to system bus 101A and provides CPU 101 with access to memory storage. When executing program instructions, CPU 101 stores those process steps in RAM 103 and executes the stored process steps out of RAM 103.
Flash device (or card) 105 also provides non-volatile memory for CPU 101. Flash device 105 includes a controller module 106 (may also be referred to as �memory system controller�) and solid state memory modules 107-108 (shown as Memory Module #1 and Memory Module #N). Controller module 106 interfaces with host system 100 via a bus interface 104 or directly via system bus 101A or another peripheral bus (not shown).
Direct Data File Storage (�DFS�):
A direct data file storage (�DFS�) methodology/system is disclosed in co-pending patent application Ser. No. 11/060,249; Filed on Feb. 16, 2005; entitled �Direct Data File Storage in Flash Memories� and also in other the Direct Data File Storage Applications referenced above.
With reference to FIG. 1M, functional layers of an example mass storage system being described herein are illustrated. The �Direct File Storage Back End System� communicates through a �Direct-File Interface� and a �File-Based Front-End System� with a host system over a file-based interface channel. Each host file is uniquely identified, such as by a file name. Data within a file are identified by an offset address within a linear address space that is unique to the file.
The file pathname syntax may conform to the standard used by the DOS file system. The pathname describes a hierarchy of directories and a file within the lowest level of directory. Path segments may be delimited by �\�. A path prefixed by �\� is relative to the root directory. A path not prefixed by �\� is relative to the current directory. A segment of �.� indicates the parent directory of the current directory.
File directory 203 records file attribute information and a pointer to a first entry in a file index table 204 defining data groups for a file. File directory 203 and the file index table (may also be referred to as �FIT�) 204 are generated by flash device 105.
When data is written via file interface 300 (shown as (A)), it is accessible via logical interface 302 (shown as (D)) after a �convert to logical� operation, as described below. Also, DOS and FAT information relating to data written via file interface 300, (shown as (A)) is accessible after the convert to logical operation.
When data is written via logical interface 302 (shown as (C)), it is accessible via file interface 300 (shown as (B)) after a �convert to file� operation that is described below.
Logical interface 302 and a logical store manager module (�LSM�) 303 facilitate access to device 105 via a logical path 302A. Logical interface 302 interfaces with a host system to receive host commands/data. LSM 303 interfaces with file directory (shown as FDIR) 203, FIT 204, a logical to physical mapping table (�LPT�) 308, a logical to file table (�LFT�) 309, a DOS index table (�DOSIT�) 310 and file storage manager 301, as described below with respect to FIG. 3B. File data/logical data 304, DOS sectors 305, FDIR 203, FIT 204, LPT 308, LFT 309 and DOSIT 310 are information structures stored in memory cells 107/108.
As stated earlier, data that is indexed by FIT 204 can also be accessed via the logical interface 302. Logical to File table (�LFT�) 309 maps a LBA run to a file indexed by FIT 204.
If the command is for a data read operation, then in step S520, the data read operation is executed. Details of the read operation are provided in the patent application filed herewith, Ser. No. 11/196,168, Filed on Aug. 3, 2005, entitled �Method And System For Dual Mode Access For Storage Devices�.
If the command is not related to the logical read operation, then in step S522, memory controller 106 determines if the command is related to any other function. Examples of other logical interface functions include reading device parameters (�Identify Drive� command), changing device state (�Idle� and �Standby� commands) and others.
If logical data was received in step S602, then in step S604, controller 106 determines if the LBA is related to a directory or DOS sector. If the logical address of the data is lower than the �end� of root directory, then it is designated as a directory or FAT sector. If logical data is related to a DOS sector, then the logical data is stored in a DOS sector 305 in step S606, and in step S608, the DOSIT 310 is updated.
In step S610, controller 106 determines if an �end of file� condition is present. If the condition is present, then in step S612, the process moves to a �convert to file� operation described below with respect to FIG. 7 and in step S614, the process returns to step S504, FIG. 5. If in step S610, the end of file condition is not present, then the process reverts back to step S602.
The convert to file operation is initiated by an �end of file� condition in a sequence received at logical interface 302. The end of file condition is generated by a host system after the host completes writing data. The end of file condition is a characteristic sequence of directory and FAT write operations. It is noteworthy that the �convert to file� operation may also be initiated by a specific host command at the logical interface.
In one aspect of the present invention, data written via file interface 300 is accessible via logical interface 302. The convert to logical operation (shown as 311, FIG. 3B) is performed to make that data accessible. The �convert to logical� operation creates FAT and directory entries in DOS sectors 305 and in LFT 309, so that data that is written via file interface 300 can be accessed via logical interface 302. This operation may be initiated after a �Close� command is received via file interface 300. The Close command signifies that a file write operation via file interface 300 is complete. This operation may also be initiated by a specific command (for example, �convert to logical�) from the host. The specific command will allow a host that has written via file interface 300 to control file access via logical interface 302.
FIG. 8 shows a process flow diagram for performing the convert to logical operation. In step S800, the convert to logical operation begins. The operation starts after a �close� command or a specific command to start the convert to logical operation is received by controller 106.
FIGS. 9A and 9B provide block diagrams of yet other aspects of the present invention. A file dual index table (�FDIT�) 308 is maintained in flash memory (107/108). FDIT 308 maintains an entry for every file name with an offset value and a corresponding LBA (allocated by memory controller 106). This allows access to files written via file interface 301 and/or logical interface 302, as described below.
To write data in flash device 105 via file interface 301, host 900 sends a file name and an offset value (906) to flash 105. Data is then stored by the file storage back-end system 910 as variable data groups (shown as HFa, HBb . . . HFx). When data is received via file interface 301, memory controller 106 places a call to the file access to logical converter 907 (also referred to as �converter 907�) to register the received file (for example, HFa) with FDIT 908.
Each logical data run is assigned an internal file name (i.e. internal to the flash system 105) by memory controller 106 (using converter 909 interfacing with FDIT 908). In one aspect, more than one internal file name is used to identify and store the logical data runs. The internal file name can be based on various factors, for example, StartLBA_Length and/or the LBA. The StartLBA_Length is based on the length of a logical data run and the start of a LBA, while the second file identifier (�ID�) is based on the actual LBA.
File storage system 105 then updates FAT/directory files and merges all the internal files and associates them to the host file (�A�) (shown as 1018).
The updated dual file ID table (1020) saves the host file name �A� with the associated LBA ID (in this example, 100, 200 and 400, 200).
In order to update an existing host file (for example, host file �A�), host file system 904 identifies the LBAs for the fragment (shown as 1022) and generates the logical commands (shown as 1024). In this example, the LBA is 400,100 for the update process.
File storage system 105 then identifies the fragments offset in the existing stored file �A� (200*sector size) and then writes the new fragment (shown as 1026). The file identifiers stay the same (1028) but the physical location of the file data, especially the new fragment may change.
If Converter 907A used logical access commands 913A then converter 909 converts the �logical write� commands to file access commands 915.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4761737Jan 16, 1986Aug 2, 1988International Business Machines CorporationMethod to automatically increase the segment size of unix files in a page segmented virtual memory data processing systemUS4800520Oct 23, 1986Jan 24, 1989Kabushiki Kaisha ToshibaPortable electronic device with garbage collection functionUS4802117Dec 16, 1985Jan 31, 1989Pitney Bowes Inc.Method of preserving data storage in a postal meterUS4896262Feb 22, 1985Jan 23, 1990Kabushiki Kaisha MeidenshaEmulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memoryUS5226155Aug 24, 1989Jul 6, 1993Kabushiki Kaisha ToshibaMethod and system for allocating file space in memory of ic cardUS5369754Mar 30, 1994Nov 29, 1994Intel CorporationBlock specific status information in a memory deviceUS5388083Mar 26, 1993Feb 7, 1995Cirrus Logic, Inc.Flash memory mass storage architectureUS5404485Mar 8, 1993Apr 4, 1995M-Systems Flash Disk Pioneers Ltd.Flash file systemUS5530673Apr 8, 1994Jun 25, 1996Hitachi, Ltd.Flash memory control method and information processing system therewithUS5542066Dec 23, 1993Jul 30, 1996International Business Machines CorporationDestaging modified data blocks from cache memoryUS5544356Mar 3, 1995Aug 6, 1996Intel CorporationBlock-erasable non-volatile semiconductor memory which tracks and stores the total number of write/erase cycles for each blockUS5570315Sep 21, 1994Oct 29, 1996Kabushiki Kaisha ToshibaMulti-state EEPROM having write-verify control circuitUS5586291Dec 23, 1994Dec 17, 1996Emc CorporationDisk controller with volatile and non-volatile cache memoriesUS5592662Sep 29, 1993Jan 7, 1997Kabushiki Kaisha TishibaComputer systemUS5592669Dec 1, 1995Jan 7, 1997Intel CorporationFile structure for a non-volatile block-erasable semiconductor flash memoryUS5602987Dec 29, 1993Feb 11, 1997Sandisk CorporationFlash EEprom systemUS5619690Jun 21, 1994Apr 8, 1997Hitachi, Ltd.Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage systemUS5628014Feb 3, 1995May 6, 1997Paranode, Inc.Methods and apparatus for node caching at the file levelUS5634050Jun 7, 1995May 27, 1997Microsoft CorporationMethod and system for file system management using a flash-erasable programmable, read-only memoryUS5636355Jun 30, 1993Jun 3, 1997Digital Equipment CorporationDisk cache management techniques using non-volatile storageUS5708846Feb 24, 1995Jan 13, 1998Intel CorporationSystem for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequenceUS5754888Jan 18, 1996May 19, 1998The Board Of Governors For Higher Education, State Of Rhode Island And Providence PlantationsSystem for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segmentUS5774397Sep 10, 1996Jun 30, 1998Kabushiki Kaisha ToshibaNon-volatile semiconductor memory device and method of programming a non-volatile memory cell to a predetermined stateUS5778418Aug 8, 1994Jul 7, 1998Sandisk CorporationMass computer storage system having both solid state and rotating disk types of memoryUS5798968Sep 24, 1996Aug 25, 1998Sandisk CorporationPlane decode/virtual sector architectureUS5799168Jan 5, 1996Aug 25, 1998M-Systems Flash Disk Pioneers Ltd.Standardized flash controllerUS5809558Mar 17, 1997Sep 15, 1998Intel CorporationMethod and data storage system for storing data in blocks without file reallocation before erasureUS5832493Apr 24, 1997Nov 3, 1998Trimble Navigation LimitedFlash file management systemUS5848420Jun 14, 1996Dec 8, 1998Eastman Kodak CompanyDigital photographic systemUS5867641Oct 27, 1995Feb 2, 1999Scm Microsystems (U.S.) Inc.Flash translation layer cleanup system and methodUS5890192Nov 5, 1996Mar 30, 1999Sandisk CorporationConcurrent write of multiple chunks of data into multiple subarrays of flash EEPROMUS5896393May 23, 1996Apr 20, 1999Advanced Micro Devices, Inc.Simplified file management scheme for flash memoryUS5907854Sep 27, 1996May 25, 1999Alcatel Usa Sourcing, L.P.Flash memory file system for writing data files without rewriting an entire volumeUS5928347Nov 18, 1997Jul 27, 1999Shuttle Technology Group Ltd.Universal memory card interface apparatusUS5933846Nov 2, 1995Aug 3, 1999Nec CorporationRewritable ROM file device having read/write buffer access control via copy of rewritable areaUS5937425Oct 16, 1997Aug 10, 1999M-Systems Flash Disk Pioneers Ltd.Flash file system optimized for page-mode flash technologiesUS5953538Nov 12, 1996Sep 14, 1999Digital Equipment CorporationMethod and apparatus providing DMA transfers between devices coupled to different host bus bridgesUS5966720Dec 24, 1997Oct 12, 1999Fujitsu LimitedFlash memory accessed using only the logical addressUS5973964Oct 30, 1998Oct 26, 1999Hitachi, Ltd.Flash memory control method and information processing system therewithUS5978893Jun 19, 1996Nov 2, 1999Apple Computer, Inc.Method and system for memory managementUS5987478Oct 31, 1995Nov 16, 1999Intel CorporationVirtual small block file manager for flash memory arrayUS5996047Jul 1, 1996Nov 30, 1999Sun Microsystems, Inc.Method and apparatus for caching file control information corresponding to a second file block in a first file blockUS6014724Sep 17, 1996Jan 11, 2000Scm Microsystems (U.S.) Inc.Flash translation layer block indication map revision system and methodUS6016530Apr 21, 1998Jan 18, 2000Sandisk CorporationMass computer storage system having both solid state and rotating disk types of memoryUS6021415Oct 29, 1997Feb 1, 2000International Business Machines CorporationStorage management system with file aggregation and space reclamation within aggregated filesUS6038636Apr 27, 1998Mar 14, 2000Lexmark International, Inc.Method and apparatus for reclaiming and defragmenting a flash memory deviceUS6046935Jan 27, 1999Apr 4, 2000Kabushiki Kaisha ToshibaSemiconductor device and memory systemUS6069827Mar 24, 1998May 30, 2000Memory Corporation PlcMemory systemUS6078520Jul 21, 1999Jun 20, 2000Hitachi, Ltd.Flash memory control method and information processing system therewithUS6094693Aug 18, 1997Jul 25, 2000Sony CorporationInformation recording apparatus using erasure unitsUS6145069Apr 26, 1999Nov 7, 2000Interactive Silicon, Inc.Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devicesUS6148354Apr 5, 1999Nov 14, 2000M-Systems Flash Disk Pioneers Ltd.Architecture for a universal serial bus-based PC flash diskUS6216204Jul 31, 1997Apr 10, 2001Schlumberger SystemesIntegrated circuit card comprising files classified in a tree structureUS6223271Jul 15, 1998Apr 24, 2001Compaq Computer Corp.System and method for detecting system memory size using ROM based paging tablesUS6226728Apr 21, 1998May 1, 2001Intel CorporationDynamic allocation for efficient management of variable sized data within a nonvolatile memoryUS6256690Nov 29, 1999Jul 3, 2001Todd CarperSystem and method for facilitating multiple applications on a smart cardUS6275436May 23, 2000Aug 14, 2001Hitachi, LtdFlash memory control method and apparatus processing system therewithUS6275804Aug 19, 1997Aug 14, 2001Grundig AgProcess and circuit arrangement for storing dictations in a digital dictating machineUS6279069Dec 26, 1996Aug 21, 2001Intel CorporationInterface for flash EEPROM memory arraysUS6286056Dec 23, 1998Sep 4, 2001Seagate Technology LlcData storage device with small computer system interface providing persistent reservationsUS6286256Aug 3, 2000Sep 11, 2001Southpac Trust International, Inc.Floral sleeve having expandable sidewallsUS6370614Jan 26, 1999Apr 9, 2002Motive Power, Inc.I/O cache with user configurable preloadUS6373746Sep 22, 2000Apr 16, 2002Kabushiki Kaisha ToshibaNonvolatile semiconductor memory having plural data storage portions for a bit line connected to memory cellsUS6380597Aug 28, 1998Apr 30, 2002Hans Gude GudesenRead-only memory and read-only memory deviceUS6385690Feb 25, 2000May 7, 2002Sony CorporationRecording method, managing method, and recording apparatusUS6389433Jul 16, 1999May 14, 2002Microsoft CorporationMethod and system for automatically merging files into a single instance storeUS6408357Jan 15, 1999Jun 18, 2002Western Digital Technologies, Inc.Disk drive having a cache portion for storing write data segments of a predetermined lengthUS6412040Jan 20, 2000Jun 25, 2002Intel CorporationMethod of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architectureUS6421279Aug 13, 2001Jul 16, 2002Hitachi, Ltd.Flash memory control method and apparatus processing system therewithUS6424486Dec 17, 1997Jul 23, 2002Texas Instruments IncorporatedMethod and apparatus for positioning a read/write head of a hard disk driveUS6426893Feb 17, 2000Jul 30, 2002Sandisk CorporationFlash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocksUS6427186Mar 30, 1999Jul 30, 2002Frank (Fong-Long) LinMemory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbersUS6446140Nov 8, 1999Sep 3, 2002Nec CorporationData input/output device, data input/output method and storage mediumUS6456528Sep 17, 2001Sep 24, 2002Sandisk CorporationSelective operation of a multi-state non-volatile memory system in a binary modeUS6466973Mar 6, 1998Oct 15, 2002Adaptec, Inc.Method and system for managing storage devices over a networkUS6467015Apr 11, 2002Oct 15, 2002Dell Products, L.P.High speed bus interface for non-volatile integrated circuit memory supporting continuous transferUS6467021Oct 1, 1998Oct 15, 2002Memquest, Inc.Data storage system storing data of varying block sizeUS6467022Nov 3, 2000Oct 15, 2002International Business Machines CorporationExtending adapter memory with solid state disks in JBOD and RAID environmentsUS6477616Apr 18, 2000Nov 5, 2002Tokyo Electron Device LimitedStorage device, storage system, memory management method, recording medium, and computer data signalUS6480935Aug 31, 1999Nov 12, 2002Todd CarperSmart card memory management system and methodUS6484937Feb 13, 1998Nov 26, 2002Oberthur Card Systems SaMethod for storing data in a chip card rewritable memoryUS6490649Feb 28, 2002Dec 3, 2002Lexar Media, Inc.Memory deviceUS6493811Jan 20, 1999Dec 10, 2002Computer Associated Think, Inc.Intelligent controller accessed through addressable virtual spaceUS6504846May 21, 1999Jan 7, 2003Advanced Micro Devices, Inc.Method and apparatus for reclaiming buffers using a single buffer bitUS6522580Jun 27, 2001Feb 18, 2003Sandisk CorporationOperating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data statesUS6535949Apr 19, 1999Mar 18, 2003Research In Motion LimitedPortable electronic device having a log-structured file system in flash memoryUS6542407Jan 18, 2002Apr 1, 2003Sandisk CorporationTechniques of recovering data from memory cells affected by field coupling with adjacent memory cellsUS6547150Apr 19, 2000Apr 15, 2003Microsoft CorporationSmart card application development system and methodUS6567307Feb 28, 2002May 20, 2003Lexar Media, Inc.Block management for mass storageUS6598114Aug 13, 2001Jul 22, 2003Nissan Motor Co., Ltd.Electronic control unit including flash memory and method and apparatus for storing control data group into flash memoryUS6604168Jul 9, 1999Aug 5, 2003Canon Kabushiki KaishaFlash eeprom management using ratio of used to unused sectorsUS6631453 *Nov 27, 2001Oct 7, 2003ZecuritySecure data storage deviceUS6631456Mar 6, 2001Oct 7, 2003Lance LeighnorHypercache RAM based disk emulation and methodUS6643188Jan 22, 2002Nov 4, 2003Kabushiki Kaisha ToshibaNon-volatile semiconductor memory device adapted to store a multi-valued data in a single memory cellUS6646948Aug 29, 2002Nov 11, 2003Motorola, Inc.Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval timeUS6667932Feb 19, 2003Dec 23, 2003Micron Technology, Inc.Synchronous flash memory with virtual segment architectureUS6668336Mar 29, 2002Dec 23, 2003M-Systems Flash Disk Pioneers Ltd.Ruggedized block device driverUS6681239Dec 23, 1996Jan 20, 2004International Business Machines CorporationComputer system having shared address space among multiple virtual address spacesUS6728851May 20, 2002Apr 27, 2004Lexar Media, Inc.Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devicesUS6748457Feb 2, 2001Jun 8, 2004Realtime Data, LlcData storewidth acceleratorUS20020178143 *Dec 18, 2001Nov 28, 2002Kazuhisa FujimotoStorage system, a method of file data backup and method of copying of file dataUS20030026186 *Aug 2, 2002Feb 6, 2003Hideo AndoInformation storage medium and information recording methodUS20040028068 *Aug 6, 2002Feb 12, 2004Govind KizhepatDual-mode network storage systems and methodsUS20040073727 *Oct 11, 2002Apr 15, 2004M-Systems Flash Disk Pioneers, Ltd.Portable storage media as file serversUS20040207512 *Aug 18, 2003Oct 21, 2004Bastian William A.Inventory system with image displayUS20060087957 *Apr 5, 2004Apr 27, 2006Koninklijke Philips Electronics N.V.Format mapping scheme for universal drive deviceUS20060143365 *Jun 17, 2003Jun 29, 2006Tokyo Electron Device LimitedMemory device, memory managing method and programUS20060168392 *Mar 28, 2006Jul 27, 2006Samsung Electronics Co., Ltd.Flash memory file systemEP1100001A2 *Oct 18, 2000May 16, 2001Sun Microsystems, Inc.Storage system supporting file-level and block-level accesses* Cited by examinerNon-Patent CitationsReference1"Intel AP-686 Application Note, Flash File System Selection Guide", Dec. 1998, 18 pages.2"ISO/IEC, International Standard, Information technology -Identification cards-Integrated circuit(s) with contacts", Part 4: Interindustry commands for interchange, ISO/IEC 7816-4, First Edition, Jan. 9, 1995, 46 pages.3"ISO/IEC, International Standard, Information technology -Identification cards�Integrated circuit(s) with contacts", Part 4: Interindustry commands for interchange, ISO/IEC 7816-4, First Edition, Jan. 9, 1995, 46 pages.4Advisory Action for U.S. Appl. No. 11/060,248 (Nov. 10, 2009).5Ban, Amir , "Inside Flash File Systems-Part I", IC Card Systems & Design, Jul./Aug. 1993, pp. 15-16, 18.6Ban, Amir , "Inside Flash File Systems-Part II", IC Card Systems & Design, Sep./Oct. 1993,, 21-24.7Ban, Amir , "Inside Flash File Systems�Part I", IC Card Systems & Design, Jul./Aug. 1993, pp. 15-16, 18.8Ban, Amir , "Inside Flash File Systems�Part II", IC Card Systems & Design, Sep./Oct. 1993,, 21-24.9Ban, Amir, "Local Flash Disks: Two Architectures Compared", M-Systems Flash Disk Pioneers, White Paper, Rev. 1.0, Aug. 2001, 9 pages.10Chiang et al., "Cleaning Policies in Mobile Computers Using Flash Memory," Journal of Systems & Software, vol. 48, pp. 213-231, (1999).11Chiang et al., "Data Management in a Flash Memory Based Storage Server," National Chiao-Tung University, Hsinchu, Taiwan, Dept. of Computer and Information Science, 8 pages, (Publication Date Unknown).12China State Intellectual Property Office, "First Office Action," corresponding Chinese Patent Application No. 2006800089822.0, mailed on Aug. 5. 2009, 7 pages.13China State Intellectual Property Office, "First Office Action," corresponding Chinese Patent Application No. 200680009222.3, mailed on Jul. 22, 2009, 7 pages.14China State Intellectual Property Office, "Office Action," corresponding Chinese Patent Application No. 200680089894, mailed on Apr. 24, 2009, 25 pages (including translation).15Commonly-assigned, co-pending U.S. Appl. No. 12/714,237 for "Method and System for Dual Mode Access for Storage Devices," (Unpublished, Feb. 26, 2010).16Communication pursuant to Article 94(3) EPC corresponding to European Patent Application No. 06734659.3 (Jun. 23, 2008).17Communication pursuant to Article 94(3) EPC for European Application No. 06720547.6 (May 19, 2008).18Communication pursuant to Article 94(3) EPC for European Application No. 06734695.7 (May 19, 2008).19Communication pursuant to Article 94(3) EPC for European Application No. 06788725.7 (Mar. 10, 2009).20Co-pending U.S. Provisional Patent Application entitled "Direct Data File Storage in Flash Memories," U.S. Appl. No. 60/705,388, filed Aug. 3, 2004.21Eshel et al., "Multiple Caching Schemes in a Lan-Attached Server," IP.Com Journal, IP.Com Inc., West Henrietta, NY, US. (Apr. 1, 1995).22Final Office Action for U.S. Appl. No. 11/196,168 (Jul. 24, 2008).23Final Official Action for U.S. Appl. No. 11/060,174 (Apr. 28, 2009).24Final Official Action for U.S. Appl. No. 11/060,174 (Dec. 12, 2007).25Final Official Action for U.S. Appl. No. 11/060,248 (Apr. 28, 2009).26Final Official Action for U.S. Appl. No. 11/060,248 (Dec. 26, 2007).27Final Official Action for U.S. Appl. No. 11/060,249 (Apr. 8, 2009).28Final Official Action for U.S. Appl. No. 11/060,249 (Dec. 26, 2007).29Final Official Action for U.S. Appl. No. 11/313,567 (May 28, 2008).30Final Official Action for U.S. Appl. No. 11/313,633 (Apr. 29, 2008).31Final Official Action for U.S. Appl. No. 11/314,842 (Apr. 1, 2008).32Final Official Action for U.S. Appl. No. 11/342,168 (Nov. 19, 2009).33Final Official Action for U.S. Appl. No. 11/342,170 (Mar. 4, 2010).34Gal et al. "Algorithms and Data Structures for Flash Memories," ACM Computing Surveys (CSUR) vol. 37, Issue 2, pp. 138-163, (Jun. 2005).35Gal, Eran et al., "Algorithms and Data Structures for Flash Memories", Internet: URL:http://delivery.acm.org/10.1145/1090000/1089735/p138-gal.pdf?kay1=1089735&key2=0271061911&coll=GUIDE&d1=GUIDE&CFID=1762036&CFTOKEN=58789463, XP002453935,(Jun. 1, 2005),138-155.36Hitz, D. et al., "File System Design for an NFS File Server Appliance," Network Appliance Technical Report 3002 Retrieved from http://citeseer.ist.psu.edu/hitz95file.html (Jan. 19, 1994).37Imamiya et al., "A 125-mm2 1-Gb NAND Flash Memory with 10-Mbyte/s Program Speed," IEEE Journal of Solid-State Circuits, vol. 37, No. 11, pp. 1493-1501, (Nov. 2002).38International Preliminary Report on Patentability for International Application No. PCT/US2006/004555 (Aug. 21, 2007).39International Preliminary Report on Patentability for International Application No. PCT/US2006/004585 (Aug. 21, 2007).40International Preliminary Report on Patentability for International Application No. PCT/US2006/004658 (Aug. 21, 2007).41International Search Report for International Application No. PCT/US2006/004658 (Aug. 23, 2006).42International Search Report on corresponding PCT application (PCT/US2006/029306) from International Searching Authority (EPO) dated Mar. 9, 2007.43International Search Report on corresponding PCT application (PCT/US2006/062340) from International Searching Authority (EPO) dated Oct. 29, 2007.44International Search Report on corresponding PCT application (PCT/US2006/062341) from International Searching Authority (EPO) dated Jun. 26, 2007.45Interview Summary for U.S. Appl. No. 11/060,249 (May 8, 2009).46Interview Summary for U.S. Appl. No. 11/313,567 (Feb. 2, 2009).47Interview Summary for U.S. Appl. No. 11/313,567 (Jan. 16, 2008).48Interview Summary for U.S. Appl. No. 11/313,567 (Nov. 5, 2009).49Interview Summary for U.S. Appl. No. 11/313,633 (Nov. 5, 2009).50Interview Summary for U.S. Appl. No. 11/314,842 (Jan. 16, 2008).51Kim et al., "A Space-Efficient Flash Translation Layer for CompactFlash Systems," IEEE Transactions on Consumer Electronics, vol. 48, No. 2, pp. 366-375, (May 2002).52Kim, et al., "A New Flash Memory Management for Flash Storage System," Computer Software and Applications Conference, 1999. Compsac '99 Proceedings. IEEE Comput. Soc., pp. 284-289 (1999).53Kjelso et al., "Memory Management in Flash-Memory Disks with Data Compression," Springer-Verlag, pp. 399-413 (1995).54Kolowsky, "Introduction to MTP: Media Transfer Protocol", Cypress Semiconductor.55LAI/The Waite Group, "Writing MS-DOS� Device Drivers," Second Edition, pp. 240-253 (2002).56Lim et al., "An Efficient NAND Flash File System for Flash Memory Storage," IEEE Transactions on Computer, vol. 55, No. 7, pp. 906-912 (Jul. 1, 2006).57Microsoft Computer Dictionary, Microsoft Press, 2002, Fifth Edition, p. 151.58Non-Final Office Action on co-pending US application (U.S. Appl. No. 11/196,168) dated Nov. 28, 2007.59Non-Final Office Action on corresponding US application (U.S. Appl. No. 11/313,567) dated Oct. 9, 2007.60Non-Final Office Action on corresponding US application (U.S. Appl. No. 11/313,633) dated Oct. 9, 2007.61Notice of Allowance and Fee(s) due for U.S. App. No. 10/772,789 (Jun. 16, 2006).62Notice of Allowance and Fee(s) due for U.S. Appl. No. 10/772,855 (Feb. 21, 2006).63Notice of Allowance and Fee(s) due for U.S. Appl. No. 10/772,855 (Jun. 16, 2006).64Notice of Allowance and Fee(s) Due for U.S. Appl. No. 11/196,168 (Jul. 16, 2009).65Notice of Allowance and Fee(s) Due for U.S. Appl. No. 11/313,633 (Mar. 22, 2010).66Notice of Allowance for U.S. Appl. No. 11/313,567 (Feb. 12, 2010).67Notice of Non-Compliant Appeal Brief for U.S. Appl. No. 11/060,249 (Feb. 22, 2010).68Notification Concerning the Transmittal of International Preliminary Report on Patentability for International Application No. PCT/US2006/062340 (Jul. 3, 2008).69Notification Concerning Transmittal of International Preliminary Report on Patentability for International Application No. PCT/US2006/029306 (Feb. 14, 2008).70Notification Concerning Transmittal of International Preliminary Report on Patentability for International Application No. PCT/US2006/062341 (Jul. 3, 2008).71Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2006/004555 (Oct. 4, 2006).72Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2006/004585 (Aug. 17, 2006).73Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2006/029306 (Mar. 9, 2007).74Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2006/062340 (Oct. 29, 2007).75Noting of loss of rights pursuant to Rule 112(1) EPC for European Application No. 06734695.7 (Jan. 21, 2009).76Noting of loss of rights pursuant to Rule 112(1) EPC for European Application No. 067720547.6 (Jan. 20, 2009).77Official Action for Taiwanese Patent Application No. 095128233 (Aug. 11, 2009).78Official Action for U.S. Appl. 11/314,842 (Oct. 9, 2007).79Official Action for U.S. Appl. No. 10/772,789 (Mar. 24, 2006).80Official Action for U.S. Appl. No. 11/060,174 (Jul. 24, 2008).81Official Action for U.S. Appl. No. 11/060,174 (Mar. 27, 2007).82Official Action for U.S. Appl. No. 11/060,248 (Apr. 5, 2007).83Official Action for U.S. Appl. No. 11/060,248 (Aug. 14, 2008).84Official Action for U.S. Appl. No. 11/060,249 (Apr. 13, 2007).85Official Action for U.S. Appl. No. 11/060,249 (Aug. 4, 2008).86Official Action for U.S. Appl. No. 11/196,168 (Dec. 24, 2008).87Official Action for U.S. Appl. No. 11/196,168 (Nov. 28, 2007).88Official Action for U.S. Appl. No. 11/313,567 (Jan. 6, 2009).89Official Action for U.S. Appl. No. 11/313,567 (Jun. 15, 2009).90Official Action for U.S. Appl. No. 11/313,567 (May 28, 2008).91Official Action for U.S. Appl. No. 11/313,633 (Apr. 29, 2008).92Official Action for U.S. Appl. No. 11/313,633 (Jan. 6, 2009).93Official Action for U.S. Appl. No. 11/313,633 (Jul. 17, 2009).94Official Action for U.S. Appl. No. 11/314,842 (Sep. 15, 2008).95Official Action for U.S. Appl. No. 11/342,168 (Aug. 19, 2008).96Official Action for U.S. Appl. No. 11/342,168 (Dec. 26, 2007).97Official Action for U.S. Appl. No. 11/342,168 (Mar. 4, 2009).98Official Action for U.S. Appl. No. 11/342,170 (Dec. 14, 2007).99Official Action for U.S. Appl. No. 11/342,170 (May 20, 2009).100Official Action for U.S. Appl. No. 11/342,170 (Oct. 17, 2008).101PNY Technologies Attache Flash Product, http://www.pny.com/products/flash/attache.asp (Copyright 2003).102Rankl, Wolfgang , "Smart Card Handbook", Third Edition, Translated by Kenneh Cox, John Wiley & Sons, Ltd., 2004,, 52-93, 233-369, 425-490.103Written Opinion of the International Searching Authority for International Application No. PCT/US2005/000275 (Aug. 7, 2006).104Written Opinion on corresponding PCT application (PCT/US2006/029306) from International Searching Authority (EPO) dated Mar. 9, 2007.105Written Opinion on corresponding PCT application (PCT/US2006/062340) from International Searching Authority (EPO) dated Oct. 29, 2007.106Written Opinion on corresponding PCT application (PCT/US2006/062341) from International Searching Authority (EPO) dated Jun. 26, 2007.107Wu et al., "Envy: A Non-Volatile, Main Memory Storage System," ACM Sigplan Notices, vol. 29, No. 11, pp. 86-97, (Nov. 1, 1994).Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8572308Jun 25, 2009Oct 29, 2013Stec, Inc.Supporting variable sector sizes in flash storage devicesUS8713283 *Jun 8, 2007Apr 29, 2014Sandisk Technologies Inc.Method of interfacing a host operating through a logical address space with a direct file storage mediumUS20080307155 *Jun 8, 2007Dec 11, 2008Sinclair Alan WMethod of Interfacing A Host Operating Through A Logical Address Space With A Direct File STorage Medium* Cited by examinerClassifications U.S. Classification711/203, 711/103International ClassificationG06F13/14Cooperative ClassificationG06F3/0643, G06F3/0679, G06F3/0605European ClassificationG06F3/06A2A2, G06F3/06A4F4, G06F3/06A6L2FLegal EventsDateCodeEventDescriptionFeb 6, 2014FPAYFee paymentYear of fee payment: 4May 26, 2011ASAssignmentEffective date: 20110404Owner name: SANDISK TECHNOLOGIES INC., TEXASFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SANDISK CORPORATION;REEL/FRAME:026351/0037Apr 6, 2006ASAssignmentOwner name: SANDISK CORPORATION, CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SINCLAIR, ALAN W.;GOROBETS, SERGEY A.;REEL/FRAME:017447/0890Effective date: 20051216RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services