CN100419714C - 闪存存取方法、闪存文件***的块替换方法及其管理装置 - Google Patents

闪存存取方法、闪存文件***的块替换方法及其管理装置 Download PDF

Info

Publication number
CN100419714C
CN100419714C CNB02145857XA CN02145857A CN100419714C CN 100419714 C CN100419714 C CN 100419714C CN B02145857X A CNB02145857X A CN B02145857XA CN 02145857 A CN02145857 A CN 02145857A CN 100419714 C CN100419714 C CN 100419714C
Authority
CN
China
Prior art keywords
file
piece
information
data block
block
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 - Fee Related
Application number
CNB02145857XA
Other languages
English (en)
Other versions
CN1466060A (zh
Inventor
黄皓性
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1466060A publication Critical patent/CN1466060A/zh
Application granted granted Critical
Publication of CN100419714C publication Critical patent/CN100419714C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7211Wear leveling

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

通过一种用于有效使用闪速存储器的文件***。该文件***包括用于存储不同文件信息的元块、其中真正存储数据的数据块、和用于在数据块上存储信息的信息块。不同于常规方法,将该文件***设计为不允许一个文件使用特定闪速存储器区域,并且因此可以防止特定块的损耗快于闪速存储器中的其它块。该文件***还提供通过均匀使用整个存储器区域使闪速存储器中的全部块的损耗均匀的作用。

Description

闪存存取方法、闪存文件***的块替换方法及其管理装置
技术领域
本发明涉及闪存文件***,并且尤其涉及用于根据闪存的特点利用存储器的整个块来更有效地使用闪存的文件***,其中存储器的整个块替换存储器的特定块。
背景技术
非易失性存储器是即使切断电源仍可保留信息的存储器。以下是不同类型的非易失性存储器:只读存储器(ROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存和铁电(Ferro-electric)随机存储器(FRAM)。
从上述存储器中,由于其高稳定性、大容量、和成本效果,闪存通常用在嵌入式装置中。然而,闪存具有不同于诸如RAM的普通存储器的特点,并且在使用中受限。
普通闪存文件***包括:逻辑地址存储块,用于存储能够识别特定文件的逻辑地址;物理块,用于真正存储数据;以及映射表,用于存储块间的关系。如果应用程序收到用于文件操作的请求,那么文件***决定逻辑地址,并经映射表通向物理块。
然而,在如上配置的常规文件***中,基于擦除器,执行校正或更新文件中信息的操作。换句话说,闪存包含128KB的复合擦除器(multiple eraseunit)。如果在闪存的单元中执行写,那么需要首先删除单元所从属的整个擦除器,并在单元中再次执行写。非易失性存储器需要擦除周期以更新已经存储的信息。
闪存的损耗由擦除周期确定,并且闪存在单元中执行100,000个写和擦除周期之后到达使用寿命。因此,为了有效利用闪存,需要在整个闪存中平均地执行删除命令。
因此,当在常规文件***中分别读和写特定存储器单元中的信息时,特定单元的损耗使其比其它单元更快损坏,因此,闪存会变得不能使用。另外,如果在操作(删除和重写)中出现用于使用闪存的大多数嵌入式装置的电源掉电,它可能丢失信息。因此,为了保证存储器的每一单元的均匀损耗,需要用于将由一个文件占用的区域分配给整个闪存的方法。另外,需要用于在使用存储器的***中的掉电期间,更新损失的数据的方法。
发明内容
为了解决上述问题,本发明的一个目的是提供一种文件***,所述文件***根据闪存的特点有效使用闪存。
本发明的另一目的是提供一种无用数据收集方法,其中将闪存分为三个逻辑单元,并且利用使闪存的全部块的损耗均匀化的块替换方法更新数据。
为了达到本发明的上述目的,提供一种用于在闪存中存储文件的方法,该方法包括:(a)接收文件名、将被存储在闪存中的文件的内容、和将被存储在闪存中的文件存储命令;(b)输出用于管理输入文件的文件管理信息,并且分配用于存储文件管理信息的元(meta)块;(c)将文件管理信息存储到分配的元块中,其中,文件管理信息包括存储的文件的文件名信息、文件大小信息、文件逻辑地址信息、元块是否正在使用的信息、和指示元块是否无效的信息;(d)分配对应于元块的信息块,所述信息块用于存储用于管理在其中存储文件的内容的数据块的数据块管理信息;以及(e)将文件的内容存储到对应于信息块的数据块中。为了达到本发明的上述目的,提供一种用于读闪存中的文件的方法,该方法包括:(a)接收包括要被从存储在闪存中的文件中读出的文件的文件名信息的文件管理信息;(b)搜索利用文件名记录关于所存储的文件的文件管理信息的元块和包含关于所存储的文件的文件管理信息连同关于存储数据的数据块的位置信息的信息块,,并且检测关于将被读的文件的文件管理信息,和关于存储将被读的文件的数据的数据块的位置信息;以及(c)输出将被从对应于位置信息的数据块中读出的文件的数据。
为了达到本发明的上述目的,提供一种用于替换闪存文件***中的块的方法,该方法包括:(a)接收将被与用于校正文件的内容的命令一起校正的文件的名称和内容;(b)分配元块、用于存储将被真正存储的文件的内容的数据块、和存储关于数据块的位置信息的信息块,所述元块包括关于输入文件的文件名信息、文件大小信息、文件逻辑地址信息、关于元块是否正在使用的信息、以及指示元块是否无效的信息;(c)记录对应于接收的文件名的元块无效的信息,和用于对应于元块的数据块无效的信息;以及(d)在新分配的元块、数据块、和信息块中存储关于输入文件的内容和管理信息。为了达到本发明的上述目的,提供一种用于闪存文件***中的无用信息收集的方法,该方法包括:(a)如果不再存在将被分配的元块和数据块,那么读和存储临时存储位置中当前使用的元块和数据块的内容,同时元块用于存储将被存储的文件上的文件名信息、文件大小信息、文件逻辑地址信息、元块是否正在使用的信息、和元块无效的信息,并且在数据块中存储将被真正存储的文件的内容;(b)通过读具有信息的信息块,删除元块和数据块中的无效内容,所述信息是元块无效和数据块不再有效的信息;以及(c)读存储在临时存储位置中的数据,并且重写删除的元块和删除的数据块中的数据。
为了达到本发明的上述目的,提供一种闪存文件***管理装置,该装置包括:块搜索器,用于搜索元块和数据块,所述元块用于包含将被存储的文件上的文件名信息、文件大小信息、文件逻辑地址信息、元块是否正在使用的信息、和指示元块是否无效的信息,所述数据块用于真正存储文件的内容;块分配器,用于搜索和分配可以根据搜索器的搜索结果而被使用的元块和数据块,搜索的和分配的元块对应于用于存储搜索的数据块的信息的信息块;读功能执行器,用于搜索其中存储搜索器中将被读的文件名信息的元块,读对应于元块的信息块,并且从其中真正存储数据的数据块中读内容;写功能执行器,用于执行将被存储在元块中的文件的写操作,块分配器分配信息块和数据块;块替换功能执行器,用于在在写功能执行器中执行文件校正命令的情况下,将在其中写入将被校正的文件的内容的元块和数据块,与新元块和新数据块交换;以及无用信息收集执行器,用于如果当新元块、数据块、和信息块需要由块分配器分配时,新元块和数据块还未存在,那么删除元块、数据块、和信息块的全部无效内容。
附图说明
通过参照附图详细描其述优选实施例,本发明的上述目的和优点将变得更清楚,其中:
图1是普通闪存文件***的配置图;
图2是用于更新普通文件***中的文件的方法的流程图;
图3是本发明的闪存文件***的配置图;
图4是示出块分配的方法的图;
图5是示出读过程的图;
图6是示出写过程的图;
图7是示出块替换的过程的图;
图8是示出无用信息收集的过程的图;
图9是根据本发明的闪存文件***的管理装置的配置图。
具体实施方式
现在,将参照示出了本发明的优选实施例的附图充分描述本发明。
图1是普通闪存文件***的配置图。普通文件***包括逻辑地址存储块110,在其中存储用于识别特定文件的逻辑地址;物理块130,其中真正存储数据;以及映射表120,用于存储块之间的关系。如果应用程序接收用于文件操作的请求,文件***确定文件的逻辑地址,并经映射表120到达物理块130。用于文件操作的请求包括读、写、和更新。
闪存需要执行在普通硬盘驱动器的情况下的更新中不需要的操作。首先,因为仅需要在擦除器的单元中擦除闪存,所以读入存储特定文件的擦除器的全部内容。其次,更新特定文件,并且在重写将被更新的数据之前擦除整个擦除器。随后,在存储器中写入将被更新的数据。
图1中所示的逻辑地址包含诸如文件大小的元数据,所述元数据还被存储在闪存中,因此,应该以上述方法执行更新文件和元数据。
为了校正位于闪速存储器中特定位置的文件,需要擦除位于由特定文件占用的闪速存储器中的整个擦除器。因此,读入和存储包含在包括将被校正的单元的擦除器中的全部数据,并且随后整个擦除器需要被擦除并以校正的数据重写。
因此,在常规方法中,如果文件占用的单元被确定,那么单元不改变,并且只有单元的内容改变。如果在特定单元中重复校正文件,那么该单元的损耗将比其它单元的损耗增加的更快,并且在整个区域发生稳定性问题。另外,由于不可预见的电源掉电,文件中的信息可能丢失。
图2是用于在普通文件***中更新文件的方法的流程图。首先,如果在步骤210中接收用于文件更新的请求,那么在步骤220中,读其中存储文件的擦除器中的全部数据。其次,在步骤230中更新读入数据的校正部分。在写入该更新数据之前,在步骤240中,应该擦除擦除器的全部数据。最后,在步骤250中,将更新的数据存储到擦除器中。
图3是本发明的闪速存储器文件***的配置图。该文件***包括元块310,用于存储文件中的不同信息;数据块320,用于存储数据;以及信息块330,用于存储数据块上的信息。
数据块320被分为特定的子块,并且每一块上的信息存储在信息块330的相应的子块中。数据块320包括被分为具有特定尺寸的逻辑部分的闪速存储器。元块310包含文件名、文件尺寸、逻辑地址、元块正在使用的信息、或元块无效的信息。
信息块330包含被分为一个尺寸的每一数据块上的信息。该信息包括位置上的信息、数据块正在使用的信息、或数据块无效的信息。
图4是示出块分配的方法的图。如下执行块分配。该文件***具有连接文件的作用,所述文件是具有物理材料的逻辑客体。如果在步骤410接收块分配命令,那么在步骤420分配其中存储在文件上的信息的元块。元块310存储文件名、文件尺寸、逻辑地址、元块正在使用的信息、或元块无效的信息中的信息。因此,如果读正在使用元块的信息,那么可以确定是否可以使用特定元块。因此,可以分配元块。
其次,分配其中将存储文件的内容的数据块430。因为在信息块中管理数据块上的信息,所以通过顺序地扫描信息块搜索可用的数据块。因为数据块包含数据块位置上的信息,数据块是否正在使用的信息,所以可以通过读相应的信息来指示是否正在使用特定数据块。
在分配了元块和数据块之后,在步骤440中,分别在数据块和信息块中记录元块和数据块正在被使用的信息。
图5是示出读过程的图。当在步骤510中从应用程序接收用于读操作的请求时,在元块520中搜索文件名。如果元块中不存在文件名,那么在步骤550中出现错误。如果文件名存在,那么利用元块中的信息在步骤530读关于数据块位置的信息块上的信息,其中在数据块中存储将被读的文件,并且在步骤540中读其中文件真正存在的数据块的内容。
图6是示出写过程的图。当在步骤610中从应用程序接收用于写过程的请求时,那么首先在步骤610中确定是否存在可用的元块或数据块。如果可用的元块和数据块存在,那么在步骤630中执行上述块分配。如果可用的元块和数据块不存在,那么在步骤660中执行无用信息收集。这里,将元块和数据块分配用于请求文件,执行写操作。
写操作并不直接在闪速存储器中执行。在步骤640中在外部SDRAM中执行写操作,并且在其完成后,在步骤650中在闪速存储器中执行写操作。如果将被写的文件的尺寸大于一个数据块的尺寸,那么在一个块的闪速存储器中执行写操作,并且在SDRAM中写入保留部分。在SDRAM中完成写操作之后,在闪速存储器中再次执行写操作。
如果接收用于已存在文件而非新文件的写操作的请求,换句话说,需要重写操作,那么执行如下块替换。
图7是示出用于块替换的过程的图。如果接收用于已存在文件的写操作的请求,那么根据写操作仅是诸如重写的文件交换,还是写操作仅是将信息附加于存在的文件,来执行块替换。
在步骤710中重写的情况下,用新元块和新数据块替换已存在的元块和数据块。在步骤720中利用上述块分配方法分配新元块和新数据块。在步骤730中使包含将被重写的文件的现有元块和数据块无效。最后,在步骤740中存储输入到新分配的元块、数据块、和信息块中的文件内容和文件管理信息。
在常规方法中,由于闪速存储器的特点,需要删除其中放置特定数据的整个擦除器,以便校正已有数据。当校正已有信息时,由于每次独立的擦除和写周期,这引起闪速存储器具有根据单元的不同损耗。但是,本发明分配新元块和新数据块。因此,新分配块的使用允许将在闪速存储器的全部单元中均匀执行的删除命令。
图8是示出用于数据无用信息收集的过程的图。如果分配新元块和新数据块,并且剩下不可用的元块和数据块,那么执行数据无用信息收集。当在步骤810中接收无用信息收集命令时,在步骤820中首先将正在用的元块和数据块中的内容移到临时存储位置,在步骤830中擦除在存储器中不再有效的元块和数据块的内容,并且在步骤840在闪速存储器中写入存储在临时存储位置中的可用数据。
如果执行无用信息收集,那么应该交换元块和信息块中的内容以反映交换的数据块值。
图9是用于管理根据本发明的闪速存储器文件***的装置的配置图。块搜索器910搜索元块和数据块,所述元块包含将被存储的文件的文件名信息、文件逻辑地址信息、文件是否正在使用的信息、以及指示元块是否无效的信息,和真正存储文件的内容的数据块。
块分配器920搜索可以根据块搜索器910中的搜索结果使用的元块,分配可以进一步使用的元块,并且通过读对应于元块的数据块上的位置信息分配数据块。
在元块的搜索之后,其中在块搜索器910中存储将被读的文件名信息,读功能执行器930读其中真正存储数据的数据块的内容。
写功能执行器940执行在元块中将被存储的文件的写操作,并且在块分配器920中分配数据块。
块替换功能执行器950在执行重写文件的功能中,用新元块和新数据块改变已经存在的元块和数据块。
如果无用信息收集执行器960在块分配器920中分配新元块和新数据块,并且有效元块和数据块不存在,则擦除元块和数据块的内容。
上述优选实施例可以被写为计算机程序,并且可以在普通数字计算机或记录介质中执行。记录介质包括存储材料,诸如磁存储介质(例如,ROM、软盘、硬盘等)、光读材料(例如,CD-ROM、DVD等)、以及载波(例如,经因特网发送)。
尽管已经参照其优选实施例详细示出和描述了本发明,但是本领域技术人员将会理解,在不背离所附权利要求所定义的本发明的实质和范围的情况下,可以在形式和细节中作出不同的改变。然而,本发明可以以很多没有解释的如不限于在此阐述的实施例的形式实施;提供这些实施例以便这些公开彻底和完整,并且会将本发明的概念全面的转达给本领域技术人员。
如上所述,不同于常规方法,将本发明设计为不允许一个文件使用特定闪速存储器区域,并且因此可以防止特定块的损耗快于闪速存储器中的其它块,并且因此提供通过均匀使用整个存储器使闪速存储器的全部块中的损耗均匀的作用。

Claims (10)

1. 一种用于存储闪存中的文件的方法,该方法包括:
(a)接收文件名、将被存储在闪存中的文件的内容、和将被存储在闪存中的文件存储命令;
(b)输出用于管理输入文件的文件管理信息,并且分配用于存储文件管理信息的元块;
(c)将文件管理信息存储到分配的元块中,其中,文件管理信息包括存储的文件的文件名信息、文件大小信息、文件逻辑地址信息、元块是否正在使用的信息、和指示元块是否无效的信息;
(d)分配对应于元块的信息块,所述信息块用于存储用于管理在其中存储文件的内容的数据块的数据块管理信息;以及
(e)将文件的内容存储到对应于信息块的数据块中。
2. 如权利要求1的存储闪存中的文件的方法,其中,数据块管理信息包括指示包含文件的内容的数据块是否正在使用的信息、和指示数据块是否无效的信息。
3. 如权利要求1的存储闪存中的文件的方法,其中,(b)还包括通过顺序地读闪存的多个元块的文件管理信息,和存储新产生的文件管理信息,分配可用元块。
4. 如权利要求1的存储闪存中的文件的方法,其中,(b)还包括如果没有可用元块,执行无用信息收集。
5. 如权利要求1的存储闪存中的文件的方法,其中,(e)还包括读取闪存中的多个信息块,搜索可用数据块,读取搜索的数据块的位置信息,和将文件的内容存储在相应的数据块中。
6. 如权利要求1的存储闪存中的文件的方法,其中,(e)还包括存储将被写入闪存外的SDRAM中的文件,并且在已经完成在SDRAM中的存储操作之后在闪存的数据块中执行写操作。
7. 一种用于读闪存中的文件的方法,该方法包括:
(a)接收包括要被从存储在闪存中的文件中读出的文件的文件名信息的文件管理信息;
(b)搜索利用文件名记录所存储的文件的文件管理信息的元块和包含所存储的文件的文件管理信息连同存储文件的数据的数据块的位置信息的信息块,并且检测将被读的文件的文件管理信息,和存储将被读的文件的数据的数据块的位置信息;以及
(c)输出被从对应于位置信息的数据块中读出的文件的数据。
8. 如权利要求7的用于读闪存中的文件的方法,其中,(b)还包括:如果在元块中没有找到将被读的文件名,那么输出文件名不存在的报错消息。
9. 一种用于替换闪存文件***中的块的方法,该方法包括:
(a)接收将被与用于校正文件的内容的命令一起校正的文件的名称和内容;
(b)分配元块、用于存储将被真正存储的文件的内容的数据块、和存储数据块的位置信息的信息块,所述元块包括输入文件的文件名信息、文件大小信息、文件逻辑地址信息、元块是否正在使用的信息、以及指示元块是否无效的信息;
(c)记录对应于接收的文件名的元块无效的信息,和对应于元块的数据块无效的信息;以及
(d)在新分配的元块、数据块、和信息块中存储输入文件的内容和管理信息。
10. 一种闪存文件***管理装置包括:
块搜索器,用于搜索元块和数据块,所述元块用于包含将被存储的文件的文件名信息、文件大小信息、文件逻辑地址信息、元块是否正在使用的信息、和指示元块是否无效的信息,所述数据块用于真正存储文件的内容;
块分配器,用于搜索和分配可以根据块搜索器的搜索结果而被使用的元块和数据块,搜索的和分配的元块对应于用于存储搜索的数据块的信息的信息块;
读功能执行器,用于搜索其中存储块搜索器中将被读的文件名信息的元块,读对应于元块的信息块,并且从其中真正存储数据的数据块中读内容;
写功能执行器,用于执行将被存储在元块中的文件的写操作,块分配器分配信息块和数据块;
块替换功能执行器,用于在写功能执行器中执行文件校正命令的情况下,将在其中写入将被校正的文件的内容的元块和数据块,与新元块和新数据块交换;以及
无用信息收集执行器,用于如果当新元块、数据块、和信息块需要由块分配器分配时,新元块和数据块还未存在,那么删除元块、数据块、和信息块的全部无效内容。
CNB02145857XA 2002-06-10 2002-10-15 闪存存取方法、闪存文件***的块替换方法及其管理装置 Expired - Fee Related CN100419714C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR32337/2002 2002-06-10
KR10-2002-0032337A KR100453053B1 (ko) 2002-06-10 2002-06-10 플래쉬 메모리용 파일 시스템
KR32337/02 2002-06-10

Publications (2)

Publication Number Publication Date
CN1466060A CN1466060A (zh) 2004-01-07
CN100419714C true CN100419714C (zh) 2008-09-17

Family

ID=36698419

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02145857XA Expired - Fee Related CN100419714C (zh) 2002-06-10 2002-10-15 闪存存取方法、闪存文件***的块替换方法及其管理装置

Country Status (4)

Country Link
US (2) US20030229753A1 (zh)
JP (1) JP2004013895A (zh)
KR (1) KR100453053B1 (zh)
CN (1) CN100419714C (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070034141A1 (en) * 2001-11-02 2007-02-15 Pengdi Han Hybrid stockbarger zone-leveling melting method for directed crystallization and growth of single crystals of lead magnesium niobate-lead titanate (PMN-PT) solid solutions and related piezocrystals
TWI259366B (en) * 2002-02-20 2006-08-01 Nagracard Sa Data block storing method in a memory
KR100538338B1 (ko) * 2003-12-24 2005-12-22 주식회사 포인칩스 플래시 메모리의 블록 균등 분산 기법 및 이를 이용한데이터 저장 장치
JP4347707B2 (ja) * 2004-01-09 2009-10-21 パナソニック株式会社 情報記録媒体のフォーマット方法および情報記録媒体
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US20090172269A1 (en) * 2005-02-04 2009-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device and associated data merge method
KR100703727B1 (ko) 2005-01-12 2007-04-05 삼성전자주식회사 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법
US20060184718A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
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
US9152823B2 (en) * 2005-04-22 2015-10-06 Storagecraft Technology Corporation Systems, methods, and computer readable media for computer data protection
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US7669003B2 (en) 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored 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
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
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
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
US20070100893A1 (en) * 2005-10-31 2007-05-03 Sigmatel, Inc. System and method for accessing data from a memory device
JP4766240B2 (ja) * 2005-11-08 2011-09-07 日本電気株式会社 ファイル管理方法、装置、およびプログラム
US7877540B2 (en) 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation 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
WO2007079358A2 (en) * 2005-12-21 2007-07-12 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
KR100789406B1 (ko) * 2006-11-03 2007-12-28 삼성전자주식회사 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법
KR100780963B1 (ko) * 2006-11-03 2007-12-03 삼성전자주식회사 메모리 카드 및 메모리 카드의 구동 방법
KR100791324B1 (ko) * 2006-11-08 2008-01-03 삼성전자주식회사 플래시 메모리의 메타데이터 기록 장치 및 검색 방법
DE102006059626A1 (de) * 2006-12-14 2008-06-19 Robert Bosch Gmbh Verfahren zum Auslesen von Daten aus einem Speichermedium
CN100481025C (zh) * 2007-02-08 2009-04-22 深圳万利达电子工业有限公司 一种nandflash文件***实现方法
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
CN101256534B (zh) * 2007-03-01 2010-10-06 创惟科技股份有限公司 闪存的高效率静态平均抹除方法
US7689762B2 (en) * 2007-05-03 2010-03-30 Atmel Corporation Storage device wear leveling
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
KR100939814B1 (ko) * 2007-09-28 2010-02-02 주식회사 휴원 플래시 메모리의 로그파일 관리 및 기록방법
TW200919448A (en) * 2007-10-17 2009-05-01 Silicon Motion Inc Storage device and method of accessing a status thereof
KR101464338B1 (ko) 2007-10-25 2014-11-25 삼성전자주식회사 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
US8880483B2 (en) * 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
JP4535152B2 (ja) * 2008-03-19 2010-09-01 ソニー株式会社 表示装置、表示方法、プログラムおよび表示システム
KR100941026B1 (ko) * 2008-04-08 2010-02-05 주식회사 텔레칩스 저장매체에 대한 데이터베이스 관리 방법
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
CN101727396B (zh) * 2008-10-10 2012-11-28 群联电子股份有限公司 用于非易失性存储器的存储器管理方法及其控制器
KR20100045292A (ko) * 2008-10-23 2010-05-03 주식회사 셀픽 메모리 성능이 개선된 차량용 블랙박스 장치
JP5413948B2 (ja) 2009-01-27 2014-02-12 日本電気株式会社 ストレージシステム
TW201030514A (en) * 2009-02-04 2010-08-16 Mitac Int Corp Flash memory document system and its driving method
JP5156682B2 (ja) * 2009-04-23 2013-03-06 株式会社日立製作所 ストレージシステムにおけるバックアップ方法
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
CN102103597A (zh) * 2009-12-17 2011-06-22 上海威乾视频技术有限公司 Dsp嵌入式flash文件存储***
US8447920B1 (en) 2010-06-29 2013-05-21 Western Digital Technologies, Inc. System and method for managing data access in non-volatile memory
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
US8738882B2 (en) 2011-06-03 2014-05-27 Apple Inc. Pre-organization of data
JP5524144B2 (ja) 2011-08-08 2014-06-18 株式会社東芝 key−valueストア方式を有するメモリシステム
US9164676B2 (en) 2011-11-30 2015-10-20 International Business Machines Corporation Storing multi-stream non-linear access patterns in a flash based file-system
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
CN102567501B (zh) * 2011-12-22 2014-12-31 广州中大微电子有限公司 小存储空间的文件管理***
CN102543193B (zh) * 2011-12-31 2015-12-09 深圳创维数字技术有限公司 一种闪存烧录方法、烧录设备及烧录***
KR20140038110A (ko) 2012-09-20 2014-03-28 한국전자통신연구원 파일 시스템 관리 방법 및 이를 이용하는 장치
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US10296259B2 (en) * 2014-12-22 2019-05-21 Hand Held Products, Inc. Delayed trim of managed NAND flash memory in computing devices
US10338817B2 (en) * 2014-12-30 2019-07-02 Sandisk Technologies Llc Systems and methods for storage recovery
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
KR102570367B1 (ko) 2016-04-21 2023-08-28 삼성전자주식회사 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치를 액세스하는 액세스 방법
US10416900B2 (en) * 2016-06-30 2019-09-17 Intel Corporation Technologies for addressing data in a memory
JP6258436B2 (ja) * 2016-10-21 2018-01-10 東芝メモリ株式会社 メモリシステムのローカルコントローラ
US10452532B2 (en) 2017-01-12 2019-10-22 Micron Technology, Inc. Directed sanitization of memory
KR102434126B1 (ko) * 2018-05-03 2022-08-18 엘에스일렉트릭(주) Plc 프로그램 처리 장치
KR20220133003A (ko) * 2021-03-24 2022-10-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326227A (ja) * 1997-05-23 1998-12-08 Nec Corp フラッシュメモリを記憶媒体とする記憶装置の管理方式
US6012063A (en) * 1998-03-04 2000-01-04 Starfish Software, Inc. Block file system for minimal incremental data transfer between computing devices
CN1293404A (zh) * 1999-10-14 2001-05-02 三星电子株式会社 快闪文件***
WO2001031458A1 (en) * 1999-10-26 2001-05-03 Tellabs Oy Method and arrangement for performing atomic updates using a logical flash memory device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139793A (ja) * 1992-10-29 1994-05-20 Olympus Optical Co Ltd デジタルレコーダ
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
US5933847A (en) * 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
KR0172531B1 (ko) * 1995-12-27 1999-03-30 김주용 플래쉬 메모리 장치
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
KR20000039727A (ko) * 1998-12-15 2000-07-05 구자홍 플래시 메모리 접근 방법
MY122279A (en) * 1999-03-03 2006-04-29 Sony Corp Nonvolatile memory and nonvolatile memory reproducing apparatus
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
KR100365725B1 (ko) * 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
US6614685B2 (en) * 2001-08-09 2003-09-02 Multi Level Memory Technology Flash memory array partitioning architectures
US6883114B2 (en) * 2001-11-08 2005-04-19 M-Systems Flash Disk Pioneers Ltd. Block device driver enabling a ruggedized file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326227A (ja) * 1997-05-23 1998-12-08 Nec Corp フラッシュメモリを記憶媒体とする記憶装置の管理方式
US6012063A (en) * 1998-03-04 2000-01-04 Starfish Software, Inc. Block file system for minimal incremental data transfer between computing devices
CN1293404A (zh) * 1999-10-14 2001-05-02 三星电子株式会社 快闪文件***
WO2001031458A1 (en) * 1999-10-26 2001-05-03 Tellabs Oy Method and arrangement for performing atomic updates using a logical flash memory device

Also Published As

Publication number Publication date
CN1466060A (zh) 2004-01-07
KR100453053B1 (ko) 2004-10-15
US20030229753A1 (en) 2003-12-11
US20060168392A1 (en) 2006-07-27
KR20030095438A (ko) 2003-12-24
JP2004013895A (ja) 2004-01-15

Similar Documents

Publication Publication Date Title
CN100419714C (zh) 闪存存取方法、闪存文件***的块替换方法及其管理装置
US9489301B2 (en) Memory systems
US8122184B2 (en) Methods for managing blocks in flash memories
US7783851B2 (en) Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices
CN101493794B (zh) 一种闪存数据处理方法及装置
CN101176074B (zh) 非易失性存储器件,写入数据的方法,和读出数据的方法
CN100435115C (zh) 具有非循序更新区块管理的非易失性存储器及方法
CN101354681B (zh) 存储器***、非易失性存储器的磨损均衡方法及装置
CN101763309B (zh) 非易失性存储装置、信息记录***及信息记录方法
CN101382918B (zh) 一种基于数据交换区的NAND Flash闪存优化管理方法
CN100442247C (zh) 存储媒体上的数据管理方法、***
US20070088666A1 (en) File recording apparatus
JP2005242897A (ja) フラッシュディスク装置
CN101625897B (zh) 用于快闪存储器的数据写入方法、储存***与控制器
US8261013B2 (en) Method for even utilization of a plurality of flash memory chips
TWI399642B (zh) 具區塊管理之非揮發性記憶體
JP2009205689A (ja) フラッシュディスク装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
CN101727397B (zh) 区块管理与更换方法、闪存储存***及其控制器
CN102004697B (zh) 一种Flash的回收方法和装置
GB2411499A (en) Maintaining erased blocks in a non-volatile memory
WO2014185038A1 (ja) 半導体記憶装置およびその制御方法
US8200611B2 (en) File system and data management method
JPH1031611A (ja) 不揮発性メモリ記憶媒体用ファイルシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080917

Termination date: 20141015

EXPY Termination of patent right or utility model