WO2007019197A3 - Management of memory blocks that directly store data files - Google Patents

Management of memory blocks that directly store data files Download PDF

Info

Publication number
WO2007019197A3
WO2007019197A3 PCT/US2006/030165 US2006030165W WO2007019197A3 WO 2007019197 A3 WO2007019197 A3 WO 2007019197A3 US 2006030165 W US2006030165 W US 2006030165W WO 2007019197 A3 WO2007019197 A3 WO 2007019197A3
Authority
WO
WIPO (PCT)
Prior art keywords
data
file
memory
blocks
data files
Prior art date
Application number
PCT/US2006/030165
Other languages
French (fr)
Other versions
WO2007019197A2 (en
Inventor
Alan Welsh Sinclair
Barry Wright
Original Assignee
Sandisk Corp
Alan Welsh Sinclair
Barry Wright
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/382,224 external-priority patent/US8055832B2/en
Application filed by Sandisk Corp, Alan Welsh Sinclair, Barry Wright filed Critical Sandisk Corp
Priority to EP06789236A priority Critical patent/EP1913463A2/en
Priority to KR1020087004689A priority patent/KR101378031B1/en
Priority to JP2008525168A priority patent/JP2009503743A/en
Priority to CN200680028003XA priority patent/CN101233479B/en
Publication of WO2007019197A2 publication Critical patent/WO2007019197A2/en
Publication of WO2007019197A3 publication Critical patent/WO2007019197A3/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Host system data files are written directly to a large erase block flash memory system with a unique identification of each file and offsets of data within the file but without the use of any intermediate logical addresses or a virtual address space for the memory. Directory information of where the files are stored in the memory is maintained within the memory system by its controller, rather than by the host. A type of memory block is selected to receive additional data of a file that depends upon the types of blocks into which data of the file have already been written. Blocks containing data are selected for reclaiming any unused capacity therefrom by a process that selects blocks in order starting with those containing the least amount of valid data.
PCT/US2006/030165 2005-08-03 2006-08-01 Management of memory blocks that directly store data files WO2007019197A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06789236A EP1913463A2 (en) 2005-08-03 2006-08-01 Management of memory blocks which directly store data files
KR1020087004689A KR101378031B1 (en) 2005-08-03 2006-08-01 Management of memory blocks that directly store data files
JP2008525168A JP2009503743A (en) 2005-08-03 2006-08-01 Managing memory blocks that store data files directly
CN200680028003XA CN101233479B (en) 2005-08-03 2006-08-01 Management of memory blocks that directly store data files

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US70538805P 2005-08-03 2005-08-03
US60/705,388 2005-08-03
US11/382,224 US8055832B2 (en) 2005-08-03 2006-05-08 Management of memory blocks that directly store data files
US11/382,224 2006-05-08
US11/382,228 US7581057B2 (en) 2005-08-03 2006-05-08 Memory system with management of memory blocks that directly store data files
US11/382,228 2006-05-08

Publications (2)

Publication Number Publication Date
WO2007019197A2 WO2007019197A2 (en) 2007-02-15
WO2007019197A3 true WO2007019197A3 (en) 2007-09-07

Family

ID=37441503

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/030165 WO2007019197A2 (en) 2005-08-03 2006-08-01 Management of memory blocks that directly store data files

Country Status (4)

Country Link
EP (1) EP1913463A2 (en)
JP (1) JP2009503743A (en)
KR (1) KR101378031B1 (en)
WO (1) WO2007019197A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055832B2 (en) 2005-08-03 2011-11-08 SanDisk Technologies, Inc. Management of memory blocks that directly store data files

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166267B2 (en) 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US8046522B2 (en) 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
KR101464199B1 (en) * 2006-12-26 2014-11-21 샌디스크 테크놀로지스, 인코포레이티드 Use of a direct data file system with a continuous logical address space interface
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US9311229B2 (en) 2011-03-29 2016-04-12 Blackberry Limited System and method for managing flash memory
US8539007B2 (en) * 2011-10-17 2013-09-17 International Business Machines Corporation Efficient garbage collection in a compressed journal file
US9747048B2 (en) * 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data in a scalable memory system protocol
CN110727647B (en) * 2019-10-21 2022-07-05 中国民航信息网络股份有限公司 Freight rate data storage method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065899A1 (en) * 2001-09-28 2003-04-03 Gorobets Sergey Anatolievich Memory system sectors
US20040073727A1 (en) * 2002-07-29 2004-04-15 M-Systems Flash Disk Pioneers, Ltd. Portable storage media as file servers
US20040103241A1 (en) * 2002-10-28 2004-05-27 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
WO2005066793A2 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Non-volatile memory and method with non-sequential update block management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184718A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7849253B2 (en) 2005-04-04 2010-12-07 Standard Microsystems Corporation Method for fast access to flash-memory media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065899A1 (en) * 2001-09-28 2003-04-03 Gorobets Sergey Anatolievich Memory system sectors
US20040073727A1 (en) * 2002-07-29 2004-04-15 M-Systems Flash Disk Pioneers, Ltd. Portable storage media as file servers
US20040103241A1 (en) * 2002-10-28 2004-05-27 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
WO2005066793A2 (en) * 2003-12-30 2005-07-21 Sandisk Corporation Non-volatile memory and method with non-sequential update block management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055832B2 (en) 2005-08-03 2011-11-08 SanDisk Technologies, Inc. Management of memory blocks that directly store data files

Also Published As

Publication number Publication date
WO2007019197A2 (en) 2007-02-15
JP2009503743A (en) 2009-01-29
KR20080044254A (en) 2008-05-20
EP1913463A2 (en) 2008-04-23
KR101378031B1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
TW200741526A (en) Management of memory blocks that directly store data files
ATE509314T1 (en) RECLAIMING DATA STORAGE CAPACITY IN FLASH STORAGE SYSTEMS
WO2007019197A3 (en) Management of memory blocks that directly store data files
WO2006088727A3 (en) Direct data file storage in flash memories
WO2006088719A3 (en) Direct data file storage implementation techniques in flash memories
WO2006088723A3 (en) Direct file data programming and deletion in flash memories
US9208074B2 (en) Updating address mapping in sub-intervals in a flash memory data storage device
US9632880B2 (en) Data storage device and flash memory control method
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
US7752412B2 (en) Methods of managing file allocation table information
US20190034347A1 (en) Memory addressing
EP1771862B1 (en) Method and device to improve usb flash write performance
EP1550952A3 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
US20150026390A1 (en) Garbage collection control method for solid state drive
WO2007019075A3 (en) Method and system for dual mode access for storage devices
TW200732917A (en) Dual mode access for non-volatile storage devices
WO2007019059A3 (en) Interfacing systems operating through a logical address space and on a direct data file basis
ATE518190T1 (en) FLASH MEMORY MANAGEMENT METHOD
JP2008507756A5 (en)
WO2004061673A3 (en) Method and apparatus for block oriented memory management provided in smart card controllers
US10089225B2 (en) Improving garbage collection efficiency by reducing page table lookups
EP1736884A3 (en) Flash storage
WO2007019175A3 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
JP2010515162A5 (en)
TW200943058A (en) Method of wear leveling for non-volatile memory

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680028003.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006789236

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008525168

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1020087004689

Country of ref document: KR