TW200731067A - Indexing of file data in reprogrammable non-volatile memories that directly store data files - Google Patents

Indexing of file data in reprogrammable non-volatile memories that directly store data files

Info

Publication number
TW200731067A
TW200731067A TW095128511A TW95128511A TW200731067A TW 200731067 A TW200731067 A TW 200731067A TW 095128511 A TW095128511 A TW 095128511A TW 95128511 A TW95128511 A TW 95128511A TW 200731067 A TW200731067 A TW 200731067A
Authority
TW
Taiwan
Prior art keywords
file
memory
data
indexing
files
Prior art date
Application number
TW095128511A
Other languages
Chinese (zh)
Inventor
Alan W Sinclair
Barry Wright
Original Assignee
Sandisk Corp
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/459,255 external-priority patent/US7949845B2/en
Priority claimed from US11/459,246 external-priority patent/US7669003B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200731067A publication Critical patent/TW200731067A/en

Links

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • 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/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
    • 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

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. Each data file is uniquely identified in a file directory, which points to entries in a file index table (FIT) of data groups that make up the file and their physical storage locations in the memory.
TW095128511A 2005-08-03 2006-08-03 Indexing of file data in reprogrammable non-volatile memories that directly store data files TW200731067A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US70538805P 2005-08-03 2005-08-03
US74674206P 2006-05-08 2006-05-08
US11/459,255 US7949845B2 (en) 2005-08-03 2006-07-21 Indexing of file data in reprogrammable non-volatile memories that directly store data files
US11/459,246 US7669003B2 (en) 2005-08-03 2006-07-21 Reprogrammable non-volatile memory systems with indexing of directly stored data files

Publications (1)

Publication Number Publication Date
TW200731067A true TW200731067A (en) 2007-08-16

Family

ID=37441507

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095128511A TW200731067A (en) 2005-08-03 2006-08-03 Indexing of file data in reprogrammable non-volatile memories that directly store data files

Country Status (5)

Country Link
EP (1) EP1917577A2 (en)
JP (1) JP2009503740A (en)
KR (1) KR20080038368A (en)
TW (1) TW200731067A (en)
WO (1) WO2007019175A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI459197B (en) * 2011-04-21 2014-11-01 Phison Electronics Corp Data writing and reading method, memory controller and memory storage apparatus
TWI582581B (en) * 2016-05-13 2017-05-11 群暉科技股份有限公司 Method and apparatus for performing data recovery in a redundant storage system
CN110045913A (en) * 2018-01-15 2019-07-23 慧荣科技股份有限公司 Method, memory storage and its controller and electronic device of garbage collection

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007073536A2 (en) * 2005-12-21 2007-06-28 Sandisk Corporation Non-volatile memories and methods with memory allocation for a directly mapped file storage system
WO2009073949A1 (en) 2007-12-13 2009-06-18 Redknee Inc. Method and system for storage
JP2009288924A (en) * 2008-05-28 2009-12-10 Nec Electronics Corp File access system
DE102008059352A1 (en) * 2008-11-27 2010-06-02 Giesecke & Devrient Gmbh Memory access to a portable disk
US9032137B2 (en) * 2012-11-21 2015-05-12 Intel Corporation Flexible wear management for non-volatile memory

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2291990A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI459197B (en) * 2011-04-21 2014-11-01 Phison Electronics Corp Data writing and reading method, memory controller and memory storage apparatus
TWI582581B (en) * 2016-05-13 2017-05-11 群暉科技股份有限公司 Method and apparatus for performing data recovery in a redundant storage system
CN110045913A (en) * 2018-01-15 2019-07-23 慧荣科技股份有限公司 Method, memory storage and its controller and electronic device of garbage collection
CN110045913B (en) * 2018-01-15 2022-05-13 慧荣科技股份有限公司 Garbage collection method, memory device, controller thereof and electronic device

Also Published As

Publication number Publication date
WO2007019175A3 (en) 2007-09-07
KR20080038368A (en) 2008-05-06
JP2009503740A (en) 2009-01-29
EP1917577A2 (en) 2008-05-07
WO2007019175A2 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
WO2007019174A3 (en) Data operations in flash memories utilizing direct data file storage
TW200639632A (en) Direct file data programming and deletion in flash memories
TW200641602A (en) Direct data file storage in flash memories
TW200639633A (en) Direct data file storage implementation techniques in flash memories
ATE509314T1 (en) RECLAIMING DATA STORAGE CAPACITY IN FLASH STORAGE SYSTEMS
TW200731067A (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US9842030B2 (en) Data storage device and flash memory control method
WO2007019197A3 (en) Management of memory blocks that directly store data files
US9208074B2 (en) Updating address mapping in sub-intervals in a flash memory data storage device
TW200720924A (en) Interfacing systems operating through a logical address space and on a direct data file basis
KR102149817B1 (en) Memory addressing
US8417914B2 (en) Memory address translation
JP2009503738A5 (en)
ATE554448T1 (en) ADAPTIVE MODE SWITCHING OF FLASH MEMORY ADDRESS MAPPING BASED ON HOST USAGE CHARACTERISTICS
WO2007066326A3 (en) Method for flash-memory management
ATE438915T1 (en) PORTABLE DATA STORAGE DEVICE HAVING A STORAGE ADDRESS Mapping TABLE
MX348643B (en) Working set swapping using a sequentially ordered swap file.
EP1550952A3 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
WO2007028026A3 (en) Flash drive fast wear leveling
JP2008524706A5 (en)
WO2007076378A3 (en) Dual mode access for non-volatile storage devices
JP2010515162A5 (en)
TW200943058A (en) Method of wear leveling for non-volatile memory
WO2021082109A1 (en) Hybrid mapping table on static random access memory
JP2007249509A5 (en)