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 CN200680028003XA priority Critical patent/CN101233479B/en
Priority to EP06789236A priority patent/EP1913463A2/en
Priority to JP2008525168A priority patent/JP2009503743A/en
Priority to KR1020087004689A priority patent/KR101378031B1/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

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
CN200680028003XA CN101233479B (en) 2005-08-03 2006-08-01 Management of memory blocks that directly store data files
EP06789236A EP1913463A2 (en) 2005-08-03 2006-08-01 Management of memory blocks which directly store data files
JP2008525168A JP2009503743A (en) 2005-08-03 2006-08-01 Managing memory blocks that store data files directly
KR1020087004689A KR101378031B1 (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 2006-05-08
US11/382,224 US8055832B2 (en) 2005-08-03 2006-05-08 Management of memory blocks that directly store data files
US11/382,228 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

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
JP5266250B2 (en) * 2006-12-26 2013-08-21 サンディスク テクノロジィース インコーポレイテッド Use of direct data file system with continuous logical address space interface
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
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using 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
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
US9600191B2 (en) * 2014-06-02 2017-03-21 Micron Technology, Inc. Systems and methods for reordering packet transmissions 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
KR101378031B1 (en) 2014-03-27
KR20080044254A (en) 2008-05-20
EP1913463A2 (en) 2008-04-23
JP2009503743A (en) 2009-01-29
WO2007019197A2 (en) 2007-02-15

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
JP2009503746A5 (en)
EP1771862B1 (en) Method and device to improve usb flash write performance
WO2007076378A3 (en) Dual mode access for non-volatile storage devices
US20080082773A1 (en) Systems for Managing File Allocation Table Information
EP1550952A3 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
WO2007019075A3 (en) Method and system for dual mode access for storage devices
WO2007019059A3 (en) Interfacing systems operating through a logical address space and on a direct data file basis
US20080082774A1 (en) Methods of Managing File Allocation Table Information
US20150026390A1 (en) Garbage collection control method for solid state drive
WO2007066326A3 (en) Method for flash-memory management
JP2009503738A5 (en)
US20190034347A1 (en) Memory addressing
JP2003308240A (en) Data storage device
WO2006011131A3 (en) Virtual-to-physical address translation in a flash file system
EP1736884A3 (en) Flash storage
WO2007019175A3 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files

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