CN101387987B - 存储器装置、存储器控制方法和程序 - Google Patents

存储器装置、存储器控制方法和程序 Download PDF

Info

Publication number
CN101387987B
CN101387987B CN2008101494018A CN200810149401A CN101387987B CN 101387987 B CN101387987 B CN 101387987B CN 2008101494018 A CN2008101494018 A CN 2008101494018A CN 200810149401 A CN200810149401 A CN 200810149401A CN 101387987 B CN101387987 B CN 101387987B
Authority
CN
China
Prior art keywords
data
cache block
block
write
logical
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
CN2008101494018A
Other languages
English (en)
Other versions
CN101387987A (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.)
Sony Corp
Original Assignee
Sony 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
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101387987A publication Critical patent/CN101387987A/zh
Application granted granted Critical
Publication of CN101387987B publication Critical patent/CN101387987B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

这里公开一种存储器装置,其包括:非易失性存储器,配置来允许以簇为单位向其写入数据和从其读取数据,并且允许以多个扇区组成的块为单位从其删除数据;控制电路,配置来控制对所述非易失性存储器的访问操作;管理区域;用户数据区域;以及高速缓冲存储器区域;所述管理区域包括逻辑/物理表、以及所述高速缓冲存储器区域中的物理块的地址。

Description

存储器装置、存储器控制方法和程序
技术领域
本发明涉及存储器装置、存储器控制方法和程序。更具体地,本发明涉及具有如闪存的非易失存储器的存储器装置、以及用于该存储器装置的存储器控制方法和程序。
背景技术
存在多种存储器装置,其每个包含闪存并且用作如个人计算机、数字静态相机、数字摄像机、以及音频记录器的设备使用的外部存储设备。闪存是允许数据随机地以簇为单位写入到其并且从其读取的存储器。数据不是随机地而是以块为单位从闪存删除。
闪存中的存储单元通过重复的数据更新而劣化。由于此原因,对闪存的更新操作的次数是有限的。也就是说,避免集中在相同簇上的访问,以便延长闪存的寿命。当位于与给定物理地址相关联的逻辑地址的数据要被更新时,更新数据不被写入相同的物理块,而是写入新删除状态的另一个物理块(即,空闲块)。
使得在数据更新前分配给所述的逻辑地址的物理地址与在更新后分配给该逻辑地址的物理地址不同。通过使用内部存储的地址转换表的闪存实现了该特征,所述地址转换表表示逻辑和物理地址之间对应的关系。当存储器装置附接到主机设备时,从闪存读取该地址转换表,加载到主机设备或存储器装置的工作存储器,并且在其中更新。
在普通的存储器装置中,即使少数扇区的数据更新也涉及在整个物理块中重写数据。对块的访问耗时并且促使其中的存储单元的劣化。为了最小化该缺点,闪存中的每个块被划分为报头区域和数据区域。要写入到数据区域的数据记录的起始地址和记录长度被写入相应的报头区域,并且数据区域中的数据记录提供有链接信息区域和标记区域。因此数据以数据记录为单位被写入和更新。当当前块变为耗尽的时,取回有效的数据记录并且转移到空闲块,并且删除从其取回记录的块。该技术说明性地在日本专利公开No.Hei11-73363(以下称为专利文献1)中公开。
发明内容
由如上面概述的报头区域和数据区域组成的每个块形成的闪存因而具有为每个块建立的报头区域、链接信息区域、以及标记区域。上面的专利文献1中的技术趋于减小容纳数据的存储器容量,并且不利于存储器的有效使用。
为了克服上述技术的缺点,本申请人提出了在日本专利公开No.2006-48227(以下称为专利文献2)中公开的数据处理系统。该数据处理系统包括提供逻辑/物理表,其中逻辑块的地址、物理块的地址、以及物理块的结束簇数目相互关联。在操作中,如果基于写入指令要写入的数据的起始簇数目SC高于逻辑/物理表中的物理块的结束簇数目EC,那么数据被添加到物理块而不执行普通的物理块更新(即,写入新的数据到新的物理块并且复制原始物理块)。
在上面的专利文献2中提出的数据处理系统减少了删除闪存的次数,并且有效地在闪存中更新数据而不显著地减小闪存容量,由此减轻了存储器单元的劣化并且加速地存储器中数据的访问。
上面的数据处理系统具有许多特性。在使用非易失性存储器作为其记录介质的系统的存储器装置中的数据不能被覆盖。数据以不同于删除数据的单位的单位被写入(即,写入单位小于删除单位)。数据可以被添加到非易失性存储器的每个块内。
利用FAT(文件分配表)文件系统的存储器装置要求与写入文件数据并行地更新如FAT和目录条目的管理信息。除了用于用户的数据区域外,保持管理信息的记录设备在存储器内具有用于存储管理信息的区域。每次从主机设备执行文件数据写入,在闪存中更新管理信息。
包含高速缓冲存储器块的存储器装置在每个高速缓冲存储器块内以簇为单位保持数据。逻辑和物理地址之间的对应在高速缓冲存储器块中固定(即,逻辑地址以从物理地址的开头开始的升序分配)。
在这些情况下,上述数据处理系统需要在文件数据的写入操作期间对超过指定逻辑边界(即,以多个扇区为单位的逻辑空间大小)的连续的逻辑地址执行写回(write-back),即使更新大小小于簇大小。该写回操作导致能够缩短产品寿命的块删除。写回还包括碎片(garbage)收集和数据擦除,这能够导致写入性能的下降。
如FAT和目录条目的管理信息结合文件数据的写入被更新。因为要写入的文件的大小小于指定逻辑边界,该指定逻辑边界组成以多个扇区为单位的逻辑空间,所以访问集中在相同的逻辑地址空间。这导致频繁的数据覆盖。
由于这些原因,无论何时数据被写到曾经被写的逻辑空间,上述数据处理系统被强迫对高速缓冲存储器块执行写回操作。写回触发器阻止缩短产品寿命的删除。写回还包括碎片收集和数据擦除,这可能导致写入性能的下降。
因为非易失性存储器(NAND型闪存)中的数据不能被覆盖并且因为以块为单位删除数据,所以无论何时发生数据更新,逻辑/物理表都必须在存储器装置内部保持一致。这意味着写入数据需要以块为单位保存在别处,而不管要更新的数据的大小。
此外,不同于更新数据的数据需要通过数据的碎片收集从原始块复制。在更新后,出现包含不需要的数据并且需要被删除的块。关于这一点,每块能被删除的可允许的次数是有限的。
本申请人然后提出了一种旨在克服上述缺点的存储器装置和存储器控制方法(在日本专利公开No.2007-156633中,以下称为专利文献3)。提出的装置和方法被设计来抑制写回操作,从而阻止碎片收集和数据擦除,并且最小化写入性能的降低。尽管如此,提出的装置和方法具有以下缺点:
根据上述技术,如果写入数据已经停止没有达到指定逻辑边界,那么数据被保存到称为OD高速缓冲存储器的高速缓冲存储器块。管理信息以允许逻辑空间(逻辑空间A)的开头和末尾在OD高速缓冲存储器中识别的方式注册。因为只有一个逻辑空间可以被注册,所以如果在相同的块中发生写入到不同的逻辑空间B,则必须执行写回。尽管该问题可以通过增大管理信息的大小来避免,但这花费更长时间来保存膨胀的管理信息,并且保存管理信息的处理需要被更频繁地执行。这导致当写回操作不发生时写入性能的下降。
本发明已经根据上面的情况做出,并且提供一种存储器装置、存储器控制方法和程序,用于可靠地减小写回操作的频率,从而阻止当写回操作不发生时写入性能的下降。
在执行本发明中并且根据本发明的一个实施例,提供了一种存储器装置,包括:非易失性存储器,配置来允许以簇为单位向其写入数据和从其读取数据,并且允许以多个扇区组成的块为单位从其删除数据;以及控制电路,配置来控制对非易失性存储器的访问操作;其中该非易失性存储器包括:管理区域,其中记录管理信息;用户数据区域,其中记录来自用户的数据;以及高速缓冲存储器区域,其中暂时保持要被写入用户数据区域和从用户数据区域读取的数据;其中管理区域包括逻辑/物理表,其与分配给逻辑块的物理块的地址相关联地存储用户数据区域中的逻辑块的地址,以及对应于逻辑/物理表中的物理块的地址的高速缓冲存储器区域中的物理块的地址;并且其中,一旦写入大小小于在用户数据区域中的用户块中以多个扇区为单位组成逻辑空间大小的指定的逻辑大小,控制电路就在写入部分管理信息到保持数据的高速缓冲存储器块的同时,保存数据到适当选择的高速缓冲存储器块。
优选地,控制电路可以在维持用于保存管理信息的非易失性存储器的大小的同时,将数据保存在高速缓冲存储器块中的多个逻辑空间中。
优选地,根据高速缓冲存储器块中的管理信息,控制电路可以确定额外的数据是否可以写入选择的高速缓冲存储器块,并且如果发现可以写入额外的数据到高速缓冲存储器块,那么在向其添加写入数据之前写入额外的管理信息到高速缓冲存储器块。
优选地,如果发现可以写入额外的数据到高速缓冲存储器块,那么在写入额外的管理信息到高速缓冲存储器块和向其添加写入数据之前,控制电路可以更新管理区域中的管理信息。
优选地,控制电路可以确定额外的数据是否可以写入选择的高速缓冲存储器块,并且如果发现不能写入额外的数据到高速缓冲存储器块,那么确定在高速缓冲存储器块中注册的多个逻辑空间的数目是否大于预定的数目;并且其中,如果发现多个逻辑空间的数目小于预定的数目,那么控制电路可以复制保存在高速缓冲存储器块中的有效数据到新的高速缓冲存储器块,并且在复制到新的高速缓冲存储器块后添加关于状态的管理信息。
优选地,如果在高速缓冲存储器块中存在多个管理信息项,那么控制电路可以使最近写入的管理信息项有效。
优选地,控制电路可以在向高速缓冲存储器块添加写入数据之前,写入额外的管理信息到新的高速缓冲存储器块。
根据本发明的另一个实施例,提供了一种用于非易失性存储器的存储器控制方法,该非易失性存储器配置来允许以簇为单位向其写入数据和从其读取数据,并且允许以由多个扇区组成的块为单位从其删除数据,该非易失性存储器包括管理区域、用户数据区域以及高速缓冲存储器区域,该存储器管理方法包括以下步骤:记录逻辑/物理表,该逻辑/物理表与分配给逻辑块的物理块的地址相关联地存储用户数据区域中的逻辑块的地址,以及对应于逻辑/物理表中的物理块的地址的高速缓冲存储器区域中的物理块的地址;以及一旦写入大小小于在用户数据区域中的用户块中以多个扇区为单位组成逻辑空间大小的指定的逻辑大小的数据,就在写入部分管理信息到保持数据的高速缓冲存储器块的同时,保存数据到适当选择的高速缓冲存储器块。
根据本发明的另一个实施例,提供一种用于使得计算机对非易失性存储器执行存储器控制处理的程序,该非易失性存储器配置来允许以簇为单位向其写入数据和从其读取数据,并且允许以多个扇区组成的块为单位从其删除数据,该非易失性存储器包括管理区域、用户数据区域以及高速缓冲存储器区域,该存储器管理方法包括以下步骤:记录逻辑/物理表,该逻辑/物理表与分配给逻辑块的物理块的地址相关联地存储用户数据区域中的逻辑块的地址,以及对应于逻辑/物理表中的物理块的地址的高速缓冲存储器区域中的物理块的地址;以及一旦写入大小小于在用户数据区域中的用户块中以多个扇区为单位组成逻辑空间大小的指定的逻辑大小的数据,就在写入部分管理信息到保持数据的高速缓冲存储器块的同时,保存数据到适当选择的高速缓冲存储器块。
其中本发明如上所述实现,部分管理信息保存在预定的高速缓冲存储器块中。也就是说,部分管理信息存储到其中保存用户数据的块中。这使得可以在保持用于在非易失性存储器中保存管理数据的完整大小的同时,在高速缓冲存储器块中的保留多个逻辑空间,从而减少写回操作发生的次数。
根据本发明,如上所述,可靠地降低了写回操作的频率。这依次在抑制写回的同时防止写入性能的降低。
附图说明
图1是概述实现本发明的数据处理系统的典型配置的示意图;
图2是示出存储卡的典型结构的方块图;
图3是示出用户数据块和高速缓冲存储器块之间典型的对应关系的示意图;
图4是组成写入处理的各步骤的流程图;
图5是组成写入处理的其它步骤的流程图;
图6是组成写入处理的其它步骤的流程图;
图7是组成写入处理的其它步骤的流程图;
图8是组成写入处理的其它步骤的流程图;
图9A和9B每一个是示出具有从主机写入(以2个模式)的数据、处于满状态的高速缓冲存储器块(AD-高速缓冲存储器)的示意图;
图10是示出在步骤S14中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图;
图11是示出满足在步骤S22中写入的条件的典型的写入模式的示意图;
图12是示出在步骤S23中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图;
图13是示出在步骤S25中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图;
图14是示出在步骤S11中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图;
图15是示出满足在步骤S31中写入的条件的典型的写入模式的示意图;
图16是示出在步骤S33中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图;
图17是当满足写入到高速缓冲存储器块(OD-高速缓冲存储器)的条件时要执行的各步骤的流程图;
图18是示出满足在步骤S35中写入的条件的典型的写入模式的示意图;
图19是示出在步骤S3501中处于满状态(模式2)高速缓冲存储器块的状态的示意图;
图20是示出用于本发明的实施例的OD管理信息的典型结构的示意图;
图21是示出当OD管理信息要在步骤S3502中写入高速缓冲存储器块(OD-高速缓冲存储器)时有效的典型状态的示意图;
图22是示出当OD管理信息要在步骤S3503中写入高速缓冲存储器块(OD-高速缓冲存储器)时有效的典型状态的示意图;
图23是示出多个逻辑数据如何在步骤S3505中写入高速缓冲存储器块(OD-高速缓冲存储器)的示意图;
图24是示出在有效数据在步骤S3506中被复制到新的高速缓冲存储器块(OD-高速缓冲存储器)后有效的典型状态的示意图;
图25是示出在步骤S39中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图;
图26是示出在步骤S41中写入前高速缓冲存储器块的状态和用户数据块的状态的示意图;
图27是示出在步骤S41中写入后高速缓冲存储器块的状态和用户数据块的状态的示意图;
图28是示出在步骤S36中写入前高速缓冲存储器块的状态和用户数据块的状态的示意图;
图29是示出在步骤S36中写入后高速缓冲存储器块的状态和用户数据块的状态的示意图;以及
图30是组成以逻辑块为单位的写入处理的各步骤的流程图。
具体实施方式
现在将结合附图描述本发明的优选实施例。图1是概述实现本发明的数据处理系统的典型配置的示意图。
如图1所示,数据处理系统由两个主要组件组成:主机设备10、以及可以可移除地附接到主机设备10的存储卡20。在本实施例中,存储卡20包括为非易失性存储器的闪存。
主机设备10典型地由如个人计算机、数字静态相机、数字摄像机、或数字音频记录器的设备构成。主机设备10包括:CPU11、存储器12、显示单元13、输入/输出(I/O)部分14、以及外部存储器接口15。
CPU11通过总线16与存储器12、显示单元13、输入/输出(I/O)部分14、以及外部存储器接口15连接。存储器12具有用于存储程序的ROM和用作工作存储器的RAM。外部存储器接口15根据来自CPU11的指令发送数据到存储卡20并且从存储卡20接收数据。
存储卡20包括:CPU21、存储器22、闪存23、以及主机接口24。
CPU21通过总线25与存储器22、闪存23、以及主机接口24连接。存储器22具有用于存储程序的ROM和用作工作存储器的RAM。闪存23典型地是NOR或NAND型闪存(非易失性存储器)。主机接口24根据来自CPU21的指令发送数据到主机设备10并且从主机设备10接收数据。
图2是示出图1中的存储卡20的典型结构的方块图。如图2中所示,存储卡20图示为板状记忆棒(注册商标)。当存储卡20附接到主机设备10时,由主机设备10提供的数据被写入到存储卡20。存储卡20具有控制器部分30和存储器部分40。存储器部分40包括多个闪存23,并且对闪存23的访问由控制器部分30控制。
控制器部分30包括:串行接口31、并行接口32、寄存器33、数据缓冲器34、纠错电路(ECC)35、微处理单元(MPU)36、以及时钟信号发生器37。串行接口31、并行接口32、寄存器33、数据缓冲器34、以及ECC35经由总线38相互互连。寄存器33、数据缓冲器34和ECC35连接到MPU36。
寄存器33包括指令寄存器和其它寄存器。数据缓冲器34暂时保持与闪存23有关的被访问的数据。ECC35对保持在数据缓冲器34中的数据执行纠错处理。时钟信号发生器37生成用于记忆棒内部的时钟信号。
由主机设备10输出的数据通过信号线DATA0到DATA3输入到串行接口31和并行接口32的任一或两者。数据从那里被传输到数据缓冲器34。数据缓冲器34中的数据通过MPU36被写入到闪存23。
存储卡20经由信号线VSS和VCC提供有基准电压和源电压。存储卡20还装备有其它信号线:信号线SCLK,通过其输入从主机设备10输入数据所需的时钟信号;信号线INS,用于检查以确定存储卡20是否被正常地附接到主机设备10;以及信号线BS,用于确定从主机设备10提供的数据的方向。
以下是由数据处理系统执行的写入操作的概述。主机设备10首先发送跟随有写入数据的写入命令和写入数据地址到存储卡20。每个闪存23具有以扇区为单位向其写入和从其读取的数据,而主机设备10以簇为单元写入和读取数据。由存储卡20接收的写入数据因而被放置在数据缓冲器34中。当写入数据的接收完成时,保持在数据缓冲器34中的写入数据被写入到闪存23。
下面概述由数据处理系统执行的读取操作。主机设备10首先发送读取命令和读取数据地址到存储卡20。一旦接收命令和地址,所述的(in question)数据就从闪存23读取并且放置在数据缓冲器34中。当完成从闪存23读取所述的数据时,保持在数据缓冲器34中的读取数据从那里发送到主机设备10。
下面概述实现本发明的存储器控制方法。图3是示出用户数据块和高速缓冲存储器块之间典型的对应关系的示意图。在图3中,参考标号51代表逻辑/物理表,而参考标号52表示高速缓冲存储器块。
图1和2中示出的闪存23保持表示图3中指示的用户数据块的物理和逻辑地址之间的对应关系的逻辑/物理表51。在逻辑/物理表51中,逻辑块的地址0、1、2、3、4和5说明性地与分配给逻辑块的物理块的地址3、8、7、6、5和4相关联。当存储卡20附接到主机设备10时,由控制部分30从闪存23读取逻辑/物理表51并且更新,从而与数据写入操作一致。
逻辑/物理表51中的物理块地址3、8、7、6、5和4的每个与高速缓冲存储器块52中的物理地址2、1、0和9之一相关联。高速缓冲存储器块中的物理地址2、1、0和9以使用频率的升序排列,如由参考标号53所示。
例如,假设物理块地址8、7、6和4表示空闲区域中的物理块的地址。在此情况下,空闲块(即,无数据的高速缓冲存储器区域)的新的高速缓冲存储器块52中物理地址2、1、0和9被分别分配给物理块地址8、7、6和4。在高速缓冲存储器区域中的新的高速缓冲存储器块52中,物理地址2、1、0和9以使用频率的升序排列。这使得数据可以从高速缓冲存储器块52的起始开始写入。
以下是实现本发明的存储器控制方法的前提的描述。在随后描述中要使用的主要术语在下面定义。
在图2中的如存储卡20的存储器装置中的多个闪存23每个包括:管理区域41、用户数据区域42、以及高速缓冲存储器区域43。在用户数据区域42中的块称为用户数据块,而在高速缓冲存储器区域43终端块称为高速缓冲存储器块。高速缓冲存储器块在大小上与用户块相等。当每个高速缓冲存储器块的逻辑空间被划分为各用户块时,每个分区具有称为逻辑块大小的大小。当每个用户块的逻辑空间划分为多个扇区时,每个分区具有称为逻辑页大小(也称为指定的逻辑边界)的大小。已经从其删除数据的块称为空闲块。从这种空闲块获得新的高速缓冲存储器块。
写回操作涉及将高速缓冲存储器块中保持的数据写回到用户数据块,从而终止高速缓冲存储器块的使用。这使得必须将用户数据块中的数据与高速缓冲存储器块中的数据合并。该合并触发复制操作。跟随该合并,已经变为不需要的块需要被删除。还存在称为碎片收集的操作。这是执行写回所需的复制操作。
随后是高速缓冲存储器块的描述。存在两种高速缓冲存储器块:AD-高速缓冲存储器和OD-高速缓冲存储器。可用的高速缓冲存储器块的总数是固定的。AD-高速缓冲存储器的数目和OD-高速缓冲存储器的数目随着由主机设备执行的写入操作变化。
AD-高速缓冲存储器是设计来保持文件数据的高速缓冲存储器块。OD-高速缓冲存储器或AD-高速缓冲存储器依赖于写入大小识别。如果当在获得新的高速缓冲存储器块后执行写入操作时,超过指定的逻辑边界(逻辑页大小)则识别AD-高速缓冲存储器。
取决于首先写入数据的逻辑地址,AD-高速缓冲存储器中写入数据的随后的逻辑地址被限制。如果首先写入数据的逻辑地址空间是给定的逻辑块大小空间(A)内,并且如果接下来写入数据的逻辑地址是逻辑空间(A)内并且是高速缓冲存储器块的写入逻辑空间外,那么可以写入数据到该高速缓冲存储器块。
OD-高速缓冲存储器是设计来保持如FAT和目录条目的管理信息的高速缓冲存储器块。OD-高速缓冲存储器或AD-高速缓冲存储器依赖于写入大小识别。如果当在获得新的高速缓冲存储器块后执行写入操作时,未超过指定的逻辑边界(逻辑页大小)则识别OD-高速缓冲存储器。
取决于首先写入数据的逻辑地址,OD-高速缓冲存储器中写入数据的随后的逻辑地址被限制。如果首先写入数据的逻辑地址空间是给定的逻辑块大小空间(B)内,并且如果接下来写入数据的逻辑地址是逻辑空间(B)内,那么可以写入数据到该高速缓冲存储器块。
下面作为管理信息部分解释高速缓冲存储器块相关的信息。管理信息包括指示高速缓冲存储器块更新的频率的信息、表示高速缓冲存储器块对应的逻辑块的信息、以及关于高速缓冲存储器块中第一逻辑地址的信息。
关于高速缓冲存储器块中写入扇区的地址信息不包括在管理信息中,通过高速缓冲存储器块之内的读取来获取写入扇区地址。指示所述的高速缓冲存储器块是AD-高速缓冲存储器或OD-高速缓冲存储器的信息也包括在管理信息中。
现在将描述存储器控制方法的特定操作。图4到图8是指示写入处理的流程图。图4到图8概述由CPU21执行的各操作,用于写入数据到闪存23。
在图4的步骤S1中,CPU21从管理区域41中的管理信息获取关于用户数据区域42中的用户数据的地址信息和写入逻辑空间信息。CPU21还获取高速缓冲存储器区域43中关于高速缓冲存储器块的地址信息和写入逻辑空间信息、对应于用户数据区域42中的用户数据块的逻辑地址的地址信息。CPU21还获取高速缓冲存储器区域43中关于新的高速缓冲存储器块(空闲块)的地址信息。
在步骤S2中,CPU21检查以确定正被使用的高速缓冲存储器块中是否存在任何分配的高速缓冲存储器块。在步骤S2中执行的是搜索如在图9A和9B中示出的那些高速缓冲存储器块之一的高速缓冲存储器块。
图9A和9B每一个是示出处于具有从主机写入(以2个模式)的数据的满状态的高速缓冲存储器块(AD-高速缓冲存储器)的示意图。
图9A显示处于模式1的高速缓冲存储器块(AD-高速缓冲存储器)142,其具有逻辑扇区地址0到“n”,逻辑扇区地址0到“n”对应于用户数据块141并且用从主机设备写入的写入数据143和数据144填满。
图9B显示处于模式2的高速缓冲存储器块(AD-高速缓冲存储器)146,其具有逻辑扇区地址2到“n”、0和1,逻辑扇区地址2到“n”、0和1对应于用户数据块145并且用从主机设备写入的写入数据147和数据148填满。
在图9A和9B中的任何高速缓冲存储器块状态下,没有另外的数据可以被写入高速缓冲存储器块。因为不存在具有这种高速缓冲存储器块的点,所以优选地对该高速缓冲存储器块执行写回操作。如果图9A和9B中的状态都不适用,那么优选地对具有低使用频率的高速缓冲存储器块执行写回操作。
如果在步骤S2中没有发现分配的高速缓冲存储器块存在,那么到达S3。在S3中,CPU21检查以确定是否存在任何未使用的高速缓冲存储器块。如果在步骤S3中发现存在未使用的高速缓冲存储器块,那么到达并且执行图5中的步骤S10和随后的各步骤。如果在步骤S3中没有发现存在未使用的高速缓冲存储器块,那么到达步骤S4。在步骤S4中,CPU21检查以确定是否存在处于满状态的高速缓冲存储器块(AD-高速缓冲存储器)。
如果在步骤S4中没有发现处于满状态的高速缓冲存储器块(AD-高速缓冲存储器),那么到达步骤S5。在步骤S5中,CPU21获取具有低使用频率的高速缓冲存储器块。在步骤S7中,CPU21执行写回,从而获取的具有低使用频率的高速缓冲存储器块重新分配给用户数据块中的逻辑扇区地址。在步骤S8中,CPU21更新存储器22中的管理信息并且到达图5中的步骤S10和随后的各步骤。
如果在步骤S4中发现存在处于满状态的高速缓冲存储器块(AD-高速缓冲存储器),那么到达步骤S6。在步骤S6中,CPU21在到达步骤S7前获取处于满状态的高速缓冲存储器块。
如果步骤S2中发现存在分配的高速缓冲存储器块,那么到达步骤S9。在步骤S9中,CPU21检查以确定所述的高速缓冲存储器块是AD-高速缓冲存储器或OD-高速缓冲存储器。如果在步骤S9中发现所述高速缓冲存储器块是AD-高速缓冲存储器,那么到达并执行图6中的步骤S21和随后的各步骤。如果在步骤S9中发现所述的高速缓冲存储器块是OD-高速缓冲存储器,那么到达并执行图7中的步骤S31和随后的各步骤。
在图5的步骤S10中,CPU21检查以确定写入数据是否未达到(stoppedshort of)指定的逻辑边界。如果在步骤S10中发现写入数据已经超过指定的逻辑边界,那么到达步骤S14。在步骤S14中,CPU21写入数据到新的高速缓冲存储器块(AD-高速缓冲存储器)。在步骤S14中新的高速缓冲存储器块(AD-高速缓冲存储器)的使用允许写入数据而不触发写回操作。在步骤S14中,数据从高速缓冲存储器块的起始开始写入而不管逻辑地址。
图10是示出在步骤S14中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图。假设在图10中数据说明性地写入到用户数据块111中的逻辑扇区地址2到5。因而随着数据写入,在从块的起始开始的高速缓冲存储器块112中逻辑扇区地址2到5被写入,而其余的高速缓冲存储器块维持空白。
在步骤S14中的写入操作后,到达步骤S15。在步骤S15中,CPU21更新存储器22中的管理信息,因为高速缓冲存储器块112已经重新分配到用户数据块111。在步骤S16中,CPU21写入管理信息到管理区域41。
在图6的步骤S21中,CPU21检查以确定高速缓冲存储器块(AD-高速缓冲存储器)是否具有它的写入区域独自处于满状态。如果在步骤S21中没有发现高速缓冲存储器块(AD-高速缓冲存储器)具有它的写入区域独自处于满状态,那么到达步骤S22。在步骤S22中,CPU21检查以确定写入到高速缓冲存储器块(AD-高速缓冲存储器)的条件是否满足。
如果在步骤S22中发现满足写入到高速缓冲存储器块(AD-高速缓冲存储器)的条件,那么到达步骤S23。在步骤S23中,CPU21执行对高速缓冲存储器块(AD-高速缓冲存储器)的写入操作。在步骤S24中,CPU21更新存储器21中的管理信息。
在步骤S22中执行的是确定要写入数据的逻辑空间是否适于逻辑空间81到84之一,逻辑空间81到84在图11中示出并且相对于高速缓冲存储器块中的写入逻辑空间不同地定位。
图11是示出满足在步骤S22中写入的条件的典型的写入模式的示意图。在图11中,参考标号81表示在数据开始被写入写入空间86中的写入扇区后的情况;参考标号82代表在数据开始被写入紧接写入空间86中的写入扇区后的情况;参考标号83代表从主机设备写入的数据已经停止没有达到写入空间86中的写入扇区的情况;以及参考标号84指示从主机设备写入的数据已经紧接着写入空间86中的写入扇区前停止的情况。
在步骤S23中执行的是写入数据到分配的高速缓冲存储器块而不求助写回操作。在步骤S23中,数据开始被紧接着高速缓冲存储器块内的写入扇区后写入。如果不能紧接着写入扇区开始写入数据,那么复制直到写入开始扇区地址的数据区域。
图12是示出在步骤S23中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图。说明性地,假设图10的状态有效,在用户数据块121中的逻辑扇区地址7和8发生写入操作。在此情况下,随着写入操作完成,写入到高速缓冲存储器块122中逻辑扇区地址2到5的数据123由从用户数据块121复制到逻辑扇区地址6的数据124跟随。数据124后是从主机设备写入到逻辑扇区地址7和8的数据125。
在步骤S23中的写入后,在高速缓冲存储器块中不存在块地址改变。这引起对管理区域41的任何写入操作以保存管理信息;只有存储器22中的管理信息在步骤S24更新。如果在步骤S21中发现高速缓冲存储器块(AD-高速缓冲存储器)具有它的写入区域独自处于满状态,或如果在步骤S22中没有发现满足写入数据到高速缓冲存储器块(AD-高速缓冲存储器)的条件,那么到达S25-1。在步骤S25-1中,CPU21检查以确定写入大小是否等于逻辑块大小。如果在步骤S25-1中发现写入大小不等于逻辑块大小,那么到达步骤S25并且CPU21执行写回操作。在步骤S26中,CPU21更新存储器22中的管理信息。
在步骤S25中执行的是随着写回操作执行,假若高速缓冲存储器块(AD-高速缓冲存储器)是图9A和9B中示出的满状态之一,则执行写回操作而不触发碎片收集。在这一点上,高速缓冲存储器块在管理块中注册作为用户数据块。删除在写回前有效的用户数据块的内容,并且作为结果的用户数据块注册为管理信息中的空闲块。
即使没有发现高速缓冲存储器块(AD-高速缓冲存储器)处于满状态,也可以在步骤S25中执行碎片收集以使高速缓冲存储器块处于满状态。如果在步骤S25-1中发现写入大小等于逻辑块大小,那么数据在图8的步骤S41中被写满到新的高速缓冲存储器块(AD-高速缓冲存储器)。在步骤S42中,CPU21检查以确定是否分配高速缓冲存储器块(AD-高速缓冲存储器)。
如果在步骤S42中发现分配高速缓冲存储器块(AD-高速缓冲存储器),那么到达步骤S43。在步骤S43中,CPU21删除分配的高速缓冲存储器块(AD-高速缓冲存储器)。在步骤S43中删除高速缓冲存储器块(AD-高速缓冲存储器)后,CPU21到达步骤S44并且更新存储器22中的管理信息,因为分配到用户数据块111的高速缓冲存储器块112已经被删除。在步骤S45中,CPU21写入管理信息到管理区域41。
如果在步骤S42中发现没有分配高速缓冲存储器块(AD-高速缓冲存储器),那么到达步骤S46。在步骤S46中,CPU21更新存储器22中的管理信息,因为关于用户数据块111存在未分配的高速缓冲存储器块112。在步骤S47中,CPU21写入管理信息到管理区域41。
如所述,随着高速缓冲存储器块(AD-高速缓冲存储器,或之后要讨论的AD-高速缓冲存储器)已经分配,发生伴随着写回操作的写入操作。在此情况下,如果发现写入大小等于逻辑块大小,那么数据被写入新的高速缓冲存储器块而不求助写回,并且删除旧的高速缓冲存储器块。
因为在上面的情况中抑制了写回操作,所以避免了可归因于碎片收集的写入性能的下降。应该注意,发生了删除操作。由于不管是否分配高速缓冲存储器块(AD-高速缓冲存储器或OD-高速缓冲存储器)都没有碎片收集,性能保持恒定。
图13是示出在步骤S25中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图。在图13中说明了具有逻辑扇区地址0到“n”的用户数据块131与在逻辑扇区地址2到7具有写入数据133的高速缓冲存储器块132并置(juxtapose)。在此情况下,在其它逻辑扇区地址8到“n”、0和1的数据被从用户数据块131复制到高速缓冲存储器块132,如由参考标号134所示。这使高速缓冲存储器块132处于满状态,使得可以执行写回操作来重新分配高速缓冲存储器块。
换句话说,如图13中所示,在用户数据块131中的所有数据被复制到高速缓冲存储器块132。在该复制操作后,在存储器22中的管理信息中高速缓冲存储器块132注册为用户数据块131。在该复制前有效的用户数据块的内容被删除,并且在存储器22中的管理数据中注册为空闲块。
前面已经对关于超过指定的逻辑边界的写入操作作了描述。以下是对落入没有达到指定的逻辑边界的写入操作的描述。
如果在图5的步骤S10中发现写入数据未没有达到指定的逻辑边界,那么到达步骤S11。在步骤S11中,CPU21写入数据到新的高速缓冲存储器块(OD-高速缓冲存储器)。该新的高速缓冲存储器块(OD-高速缓冲存储器)用于步骤S11中的写入操作,以便避免写回操作。在步骤S11中,数据从高速缓冲存储器块的起始开始写入,而不管逻辑地址。
图14是示出在步骤S11中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图。在图14中说明性地,假设对用户数据块151中的逻辑扇区地址2执行写入操作。在写入操作后,从主机设备写入到高速缓冲存储器块152中的逻辑扇区地址2的数据153,跟随有从用户数据块151复制到逻辑扇区地址3的数据,如由参考标号154所示。两个数据的扇区合并以形成指定的逻辑边界155。其余的高速缓冲存储器块维持没有数据。
在步骤S11中的写入操作后,CPU21到达步骤S12并且更新存储器22中的管理信息,因为高速缓冲存储器块152已经重新分配到用户数据块151。在步骤S13中,CPU21写入管理信息到管理区域41。
在步骤S11中执行的是不伴随写回操作的写入操作,因为高速缓冲存储器块被用来处理写入的没有达到指定的逻辑边界的数据。在步骤S11中,数据从高速缓冲存储器块的起始开始写入,而不管逻辑地址。
说明性地,如果对图14中代表组成指定的逻辑边界155的两个扇区的逻辑扇区地址2执行写入操作,那么在该写入操作后,高速缓冲存储器块152出现在图14中示出的状态中。也就是说,在逻辑扇区地址2的数据被写入高速缓冲存储器块152的起始,并且在逻辑地址3的数据从用户数据块151中的任何数据复制。在写入和复制操作后,更新存储器22中的管理信息,以便反映新分配的高速缓冲存储器块152。管理信息也被写入到管理区域41。
在图7的步骤S31中,CPU21检查以确定是否满足写入到高速缓冲存储器块(OD-高速缓冲存储器)的条件。如果在步骤S31中发现满足写入到高速缓冲存储器块(OD-高速缓冲存储器)的条件,那么到达步骤S32。在步骤S32中,CPU21检查以确定高速缓冲存储器块(OD-高速缓冲存储器)是否使它的写入区域独自处于满状态。
如果在步骤S32中没有发现高速缓冲存储器块(OD-高速缓冲存储器)只使写入区域处于满状态,那么到达步骤S33。在步骤S33中,CPU21对高速缓冲存储器块(OD-高速缓冲存储器)执行写入操作。在步骤S34中,CPU21更新存储器22中的管理信息。
在步骤S31中执行的是确定要写入数据的逻辑空间是否适于逻辑空间91到92之一,逻辑空间91到92在图15中示出并且相对于高速缓冲存储器块中的写入逻辑空间不同地定位。
图15是示出满足在步骤S31中写入的条件的典型的写入模式的示意图。在图15中,参考标号91表示数据被写入写入空间94中的情况,而参考标号92代表数据被写入与写入空间94相同的区域中的情况。
在步骤S33中执行的是到对分配的高速缓冲存储器块执行写入操作而不触发写回操作。在步骤S33中,数据开始被紧接着高速缓冲存储器块内的写入扇区后写入。
图16是示出在步骤S33中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图。说明性地,假设在图16的状态中,数据再次写入用户数据块161中的逻辑扇区地址2。在此情况下,在写入完成后,写入到高速缓冲存储器块162中逻辑扇区地址2和3的数据163跟随有从主机设备写入到逻辑扇区地址2的数据,如由参考标号164所示。数据从用户数据块复制到逻辑扇区地址3,如由参考标号165所示。此后,由参考标号164和165指示的逻辑扇区地址2和3组成指定的逻辑边界166。
在步骤S33中的写入后,在高速缓冲存储器块中不存在块地址改变。这不引起对管理区域41的任何写入操作以保存管理信息;只有存储器22中的管理信息在步骤S34更新。
如果在步骤31中发现不满足写入到高速缓冲存储器块(OD-高速缓冲存储器)的条件,那么到达步骤S35。在步骤S35中,CPU21检查以确定是否满足写入到高速缓冲存储器块(OD-高速缓冲存储器)的条件。
如果在步骤S35中发现满足写入到高速缓冲存储器块的条件,即,如果从主机写入数据的范围落入指定的逻辑边界大小内,那么到达并执行图17的各步骤。如果发现写入范围超过指定的逻辑边界的大小,那么到达步骤S39-1。
图18是示出满足在步骤S35中写入的条件的典型的写入模式的示意图。在步骤S35中执行的是确定要写入数据的逻辑空间是否适于逻辑空间101-1、101-2、102-1和102-2之一,逻辑空间101-1、101-2、102-1和102-2在图18中示出并且相对于高速缓冲存储器块中的写入逻辑空间不同地定位。
图17是当满足写入到高速缓冲存储器块(OD-高速缓冲存储器)的条件时要执行的各步骤的流程图。以下是对由图17中的各步骤组成的处理的流程的描述。
在图17的步骤S3501中,进行检查以确定是否能够从主机设备写入额外的数据到高速缓冲存储器块(OD-高速缓冲存储器)。当执行该检查时,还考虑如图19中所示的要写入到高速缓冲存储器块(OD-高速缓冲存储器)的OD管理信息。如果在步骤S3501中发现额外的数据可写到高速缓冲存储器块,那么到达步骤S3502。如果在步骤S3501中发现额外的数据不可写到高速缓冲存储器块,那么到达步骤S3505。
图19是示出在步骤S3501中处于满状态(模式2)的高速缓冲存储器块的状态的示意图。在此情况下,空闲空间的大小小于写入大小和OD管理信息大小的和。
在步骤S3502中,如图20中所示的一个并且放置于RAM中的OD管理信息110(指示OD-高速缓冲存储器中写入数据的物理地址)被更新,因为数据被写入到不同于当前写入数据的逻辑空间的逻辑空间。在此更新后,OD管理信息被添加到高速缓冲存储器块(OD-高速缓冲存储器),并且到达步骤S3503。
OD管理信息110被保存到闪存,使得一旦启动,高速缓冲存储器块(OD-高速缓冲存储器)中的有效数据的物理地址就能够被快速地获取。不需要读取整个高速缓冲存储器块(OD-高速缓冲存储器)。尽管由于对闪存的写入操作出现有限量的开销,但当与普通的写回操作比较时该操作的影响可以忽略。
图20是示出用于本发明的实施例的OD管理信息的典型结构的示意图。该OD管理信息用于管理块大小,并且由逻辑扇区地址和对应于逻辑扇区地址的物理扇区地址组成。如果没有注册地址,那么OD管理信息由指示没有注册的设置构成。
图21是示出当OD管理信息要在步骤S3502中写入高速缓冲存储器块(OD-高速缓冲存储器)时、典型的有效状态的示意图。在此情况下,指定的逻辑边界在大小上等于OD管理信息。
在步骤S3503中,写入OD管理信息110到高速缓冲存储器块。然后额外的数据从主机设备写入到高速缓冲存储器块,并且到达步骤S3504。
图22是示出当OD管理信息在步骤S3503中写入高速缓冲存储器块(OD-高速缓冲存储器)时、典型的有效状态的示意图。如图22中所示,OD管理信息首先写入高速缓冲存储器块,跟随有从主机设备写入的数据。
在步骤S3504中,更新RAM中的管理信息。
如果在步骤S3501中发现额外的数据不可写入高速缓冲存储器块,那么到达步骤S3505。在步骤S3505中,进行检查以确定在高速缓冲存储器块(OD-高速缓冲存储器)注册的逻辑空间的数目是否大于预定数目。如果在步骤S3505发现注册逻辑空间的数目大于预定数目,那么到达步骤S3511。如果在步骤S3505发现注册逻辑空间的数目小于预定数目,那么到达步骤S3506。
图23是示出在步骤S3505中多个逻辑数据如何写入高速缓冲存储器块(OD-高速缓冲存储器)的示意图。在此情况下,最近写入高速缓冲存储器块的OD管理信息110变为有效。
在步骤S3506中,保持在高速缓冲存储器块(OD-高速缓冲存储器)中的有效数据被复制到新的高速缓冲存储器块(OD-高速缓冲存储器)。此时还更新RAM中的OD管理信息,并且到达步骤S3507。复制有效数据到新的高速缓冲存储器块(OD-高速缓冲存储器)的原因如下:在高速缓冲存储器块(OD-高速缓冲存储器)中写入的数据包括FAT和其它涉及相同的逻辑地址的频繁更新的条目。一旦写入高速缓冲存储器块(OD-高速缓冲存储器),数据就预期被频繁地更新,因而如果经历写回操作比如果复制(即,块中的所有页面被复制,跟随有两块删除)引起更多的额外开销。
图24是示出在有效数据在步骤S3506中被复制到新的高速缓冲存储器块(OD-高速缓冲存储器)后、典型的有效状态的示意图。一旦复制有效数据,就复制最近写入的有效OD管理信息110。用数据填满的逻辑扇区地址0到7位于复制的OD管理信息之前。OD管理信息110之后是空闲空间。
在步骤S3507中,在有效数据被复制到新的高速缓冲存储器块(OD-高速缓冲存储器)后有效的OD管理信息110另外写入新的高速缓冲存储器块(OD-高速缓冲存储器)。步骤S3507跟随有步骤S3508。
在步骤S3508中,随着OD管理信息被保存,数据另外从主机设备写入到新的高速缓冲存储器块。步骤S3508跟随有步骤S3509。
步骤S3511和随后的步骤与要在下面讨论的图7中的步骤S39和随后的步骤相同。
如果在步骤S35中发现写入数据的范围不跟随高速缓冲存储器块(OD-高速缓冲存储器)中指定的逻辑边界,那么到达步骤S39-1。在步骤S39-1中,CPU21检查以确定写入大小是否等于逻辑块大小。如果在步骤S39-1中发现写入大小不等于逻辑块大小,那么到达步骤S39,并且CPU21执行写回操作。在步骤S40中,CPU21更新存储器22中的管理信息。在步骤S39执行的是获取当写回操作发生时用于执行写回的新的高速缓冲存储器块(AD-高速缓冲存储器)。
图25是示出在步骤S39中写入时高速缓冲存储器块的状态和用户数据块的状态的示意图。说明性地,在高速缓冲存储器块172中的逻辑扇区地址2和3的数据首先复制到新的高速缓冲存储器块173,如参考标号174所示。此后,在用户数据块171中的其它逻辑扇区地址4到“n”、0和1的数据被复制到新的高速缓冲存储器块173,如参考标号175所示。从图16的状态开始,执行步骤S39中的写回操作导致图24中示出的状态。
在与步骤S39中的写回有关的复制操作之后,新的高速缓冲存储器块173在管理信息中注册为用户数据块171。用户数据块171删除旧的内容,并且在管理信息中注册为空闲块。
如果在步骤S32中发现高速缓冲存储器块(OD-高速缓冲存储器)独自使它的写入区域处于满状态,那么到达步骤S41。在步骤S41中,CPU21对新的高速缓冲存储器块(OD-高速缓冲存储器)执行写入操作。在步骤S41中使用新的高速缓冲存储器块使得可能写入数据而不触发写回操作。在步骤S41中,数据开始从高速缓冲存储器块的起始写入而不管逻辑地址。
在步骤S41中的写入操作后,到达步骤S42。在步骤S42中,CPU21更新存储器22中的管理信息,因为高速缓冲存储器块已经重新分配给用户数据块。在步骤S43中,CPU21将管理信息写入到管理区域41。由于新获取的高速缓冲存储器块(OD-高速缓冲存储器),在步骤S41中执行的是执行高速缓冲存储器块更新而不触发写回操作。
图26是示出在步骤S41中写入前高速缓冲存储器块的状态和用户数据块的状态的示意图。图27是示出在步骤S41中写入后高速缓冲存储器块的状态和用户数据块的状态的示意图。
说明性地,假设在高速缓冲存储器块182和用户数据块181如图26中所示形成的情况下,对逻辑扇区地址2执行另一个写入操作。在此情况下,如图27中所示,数据从主机设备写入在高速缓冲存储器块193起始处的逻辑扇区地址2,如参考标号194所示,跟随有从用户数据块191复制到逻辑扇区地址3的数据。
在步骤S41中的复制操作后,新的高速缓冲存储器块193在管理信息中注册为新的用户数据块。用户数据块19删除旧的内容并且在管理信息中注册为空闲块。
如果在步骤S35中发现写入数据的范围跟随高速缓冲存储器块(OD-高速缓冲存储器)中的指定的逻辑边界,那么到达步骤S36。在步骤S36中,CPU21对新的高速缓冲存储器块(OD-高速缓冲存储器)执行写入操作。在步骤S36中使用新的高速缓冲存储器块使得可能写入数据而不触发写回操作。在步骤S36中,数据开始从高速缓冲存储器块的起始写入而不管逻辑地址。
图28是示出在步骤S36中写入前高速缓冲存储器块的状态和用户数据块的状态的示意图。图29是示出在步骤S36中写入后高速缓冲存储器块的状态和用户数据块的状态的示意图。
说明性地,假设在高速缓冲存储器块202和用户数据块201如图28中所示形成的情况下,数据被写入用户数据块201中的逻辑地址5到7。在此情况下,如图29中所示,在逻辑扇区地址2和3的数据从高速缓冲存储器块212复制到新的高速缓冲存储器块213的起始,如参考标号214所示,跟随有从用户数据块211复制到逻辑扇区地址4的数据,如参考标号215所示。在数据215的复制后,数据从主机写入到逻辑扇区地址5到7,如参考标号216所示。
在步骤S36中的写入操作后,到达步骤S37。在步骤S37中,CPU21更新存储器22中的管理信息,因为高速缓冲存储器块213已经重新分配给用户数据块211。在步骤S38中,CPU21写入管理信息到管理区域41。当在步骤S35中的写入条件满足时,由于新获取的高速缓冲存储器块(AD-高速缓冲存储器),在步骤S41中执行的是执行写入操作而不触发写回操作。
在步骤S36中的写入前,由参考标号214指示的数据从高速缓冲存储器块212复制到新的高速缓冲存储器块213。然后从紧接在复制的数据214后的扇区开始写入数据。如果数据不能紧接着复制的数据214后写入,那么用户数据214被复制直到写入开始扇区地址。在步骤S36中的写入后,在管理信息中新的高速缓冲存储器块213注册为新的高速缓冲存储器块212,并且删除旧的高速缓冲存储器块212。
如果在步骤S39-1发现写入大小不等于逻辑块大小,那么到达步骤S41。在步骤S41中,CPU21将数据写满新的高速缓冲存储器块(AD-高速缓冲存储器)。在步骤S42中,CPU21检查以确定高速缓冲存储器块(AD-高速缓冲存储器)是否已经分配。
如果在步骤S42发现分配了高速缓冲存储器块(AD-高速缓冲存储器),那么到达步骤S43。在步骤S43中,CPU21删除分配的高速缓冲存储器块(AD-高速缓冲存储器)。在步骤S43中删除分配的高速缓冲存储器块(AD-高速缓冲存储器)后,CPU21到达步骤S44。在步骤S44中,CPU21更新存储器22中的管理信息,以反映分配的高速缓冲存储器块112已经关于用户数据块111删除。在步骤S45中,CPU21写入管理信息到管理区域41。
如果在步骤S42发现没有分配高速缓冲存储器块(AD-高速缓冲存储器),那么到达步骤S46。在步骤S46中,CPU21更新存储器22中的管理信息,以反映(AD-高速缓冲存储器)关于用户数据块111未分配。在步骤S47中,CPU21写入管理信息到管理区域41。
如所述,如果执行写入操作伴随有对已经分配的高速缓冲存储器块(OD-高速缓冲存储器或AD-高速缓冲存储器)的写回操作,并且如果发现写入大小等于逻辑块大小,那么数据被写入新的高速缓冲存储器块而不求助于写回,并且删除旧的高速缓冲存储器块。
因为在上面的情况中抑制了写回操作,所以避免了可归因于碎片收集的写入性能的下降。应该注意,确实发生删除操作。由于没有碎片收集,性能保持恒定而不管高速缓冲存储器块(AD-高速缓冲存储器)分配与否。
在写入数据没有超过给定的指定逻辑边界的情况下,部分管理信息保存到高速缓冲存储器块(OD-高速缓冲存储器)中。更具体地,部分OD管理信息被写入保持用户数据的块。这种安排使得可能在高速缓冲存储器块(OD-高速缓冲存储器)中维持跨越多个逻辑空间的数据,同时保持闪存中的管理信息的大小不变。这反过来帮助显著地减小写回操作的频率。
以此方式,管理信息量能够上升而不改变在闪存中保持的现有的管理信息的大小,并且不改变管理信息更新的时刻(timing)。增加管理信息量转化为写回操作的频率的明显减小(以及它的实际抑制)。
在写回操作的频率这样减小的情况下,碎片收集和闪存擦除比之前更少发生,从而能够避免写入性能下降。当更少删除闪存的内容时,可以延长其可重写次数(即,删除次数)有限的闪存的寿命。
特别地,利用FAT的介质特征在于非连续(间断的)逻辑地址(如在FAT1和FAT2中的逻辑地址)的布局。该类型的介质经历对同一地址的频繁写入操作。由本发明提出的存储器控制方法当结合具有大的块大小(例如,FAT1和FAT2出现在同一块中)的介质使用时更加有效。
此外,在写入数据没有超过给定的指定逻辑边界的情况下,部分管理信息可以保持在高速缓冲存储器块(OD-高速缓冲存储器)中,以便在启动时加速管理信息的获取。也就是说,对OD中最后写入的页的读取操作允许保持管理信息的位置的获取,使得第二读取操作允许获得该管理信息。在不需要写入管理信息的情况下,读取高速缓冲存储器块(OD-高速缓冲存储器)的整个内容使得可以构成(make up)管理信息。结果,使得启动时管理信息的获取明显比之前更快。
图30是构成以逻辑块为单位的写入处理的各步骤的流程图。在图30的步骤S111中,CPU21从管理信息获取关于用户数据块的写入逻辑空间信息和地址信息。CPU21还获取关于高速缓冲存储器块的写入逻辑空间信息和地址信息,该地址信息对应于用户数据块的逻辑地址。
在步骤S112中,CPU21检查以确定是否存在分配给所述的用户数据块的高速缓冲存储器块。如果在步骤S112中没有发现高速缓冲存储器块分配给用户数据块,那么到达步骤S113。在步骤S113中,CPU21从用户数据块读取数据,并且发送读取的数据到主机设备。当没有高速缓冲存储器块分配给要求从其读取数据的逻辑块时,执行步骤S113。
如果在步骤S112中发现高速缓冲存储器块分配给用户数据块,那么到达步骤S114。在步骤S114中,CPU21检查以确定读取起始地址是否小于高速缓冲存储器块中的逻辑地址。如果在步骤S114中发现读取起始地址小于高速缓冲存储器块中的逻辑地址,那么到达步骤S115。在步骤S115中,CPU21检查以确定读取结束地址是否小于高速缓冲存储器块中的逻辑地址。如果在步骤S115中发现读取结束地址小于高速缓冲存储器块中的逻辑地址,那么到达步骤S116。在步骤S116中,CPU21从用户数据块读取数据并且提供读取的数据到主机设备。
如果在步骤S114中没有发现读取起始地址小于高速缓冲存储器块中的逻辑地址,那么到达步骤S123。在步骤S123中,CPU21检查以确定读取起始地址是否等于高速缓冲存储器块中的逻辑地址。如果在步骤S123中没有发现读取起始地址等于高速缓冲存储器块中的任何逻辑地址,那么到达步骤S128。在步骤S128中,CPU21从用户数据块读取数据并且提供读取的数据到主机设备。
当分配了高速缓冲存储器块、但在高速缓冲存储器块中没有发现在从其读取请求的数据的逻辑地址处的数据时,执行步骤S116和S128。在这些步骤中,从用户数据块读出数据到主机设备。
如果在步骤S115中没有发现读取结束地址小于高速缓冲存储器块中的逻辑地址,那么到达步骤S117。在步骤S117中,CPU21检查以确定读取结束地址是否等于高速缓冲存储器块中的逻辑地址。如果在步骤S117中发现读取结束地址等于高速缓冲存储器块中的逻辑地址,那么到达步骤S118。CPU21在步骤S118中从用户数据块读取数据,并且在步骤S119中从高速缓冲存储器块读取其余的数据,读取的数据被发送到主机设备。
如果在步骤S117中没有发现读取结束地址等于高速缓冲存储器块中的任何逻辑地址,那么到达步骤S120。CPU21在步骤S120中从用户数据块读取数据,在步骤S121中从高速缓冲存储器块读取随后的数据,并且在步骤S122中从高速缓冲存储器块读取剩余的数据,读取的数据提供到主机设备。
如果在步骤S123中发现读取起始地址等于高速缓冲存储器块中的逻辑地址,那么到达步骤S124。在步骤S124中,CPU21检查以确定读取结束地址是否等于高速缓冲存储器块中的逻辑地址。如果在步骤S124中发现读取结束地址等于高速缓冲存储器块中的逻辑地址,那么到达步骤S125。在步骤S125中,CPU21从高速缓冲存储器块读取数据,并且发送读取的数据到主机设备。
如果在步骤S124中没有发现读取结束地址等于高速缓冲存储器块中的任何逻辑地址,那么到达步骤S126。CPU21在步骤S126中从高速缓冲存储器块读取数据,并且在步骤S127中从用户数据块读取剩余的数据,读取的数据被发送到主机设备。
步骤S118和S119、S120到S122、S126和S127是其中用户数据块中的数据和高速缓冲存储器块中的数据都被读出的步骤。在此情况下的读取操作包括第一和第二部分。在第一部分中,用户数据块中的数据被读出到主机设备。在第二部分中,如果发现对应于由主机设备要求的逻辑扇区地址的数据存在于高速缓冲存储器块中,那么高速缓冲存储器块中的数据被读出到主机设备。如果发现所述的数据不存在于高速缓冲存储器块中,那么从用户数据块读取数据并且发送到主机设备。步骤S125是其中高速缓冲存储器块中的数据被读出到主机设备的步骤。
如上所述,由闪存23示例的非易失性存储器(NAND型闪存)具有两个特性:在存储器中数据不能被覆盖,以及数据以块为单位删除。由此得出结论,在数据更新的情况下,由存储卡20示例的存储器装置要求以块为单位保存更新数据到其它的块而不管更新数据的大小,以便维持逻辑/物理表的一致性。
由于此原因,必须复制原始块中除了更新数据外的数据。在更新后,具有不必要的数据的块需要删除其内容(即,写回操作)。此外,每个块经历有限的可重写次数。
实现本发明的存储器控制方法以涉及比用于存储器装置的普通控制方法更少的写回操作的方式,使用高速缓冲存储器块控制各块。写回操作的减少的频率反过来降低了执行的复制和删除操作的次数,使得数据更新操作的处理速度被提高。因为减少了块删除次数,所以相应地延长了作为产品的存储器装置的寿命。
当主机设备要写入超过指定的逻辑边界(即,以多个扇区为单位的逻辑空间大小)的文件数据时,数据写入到重新分配的高速缓冲存储器块以便抑制写回操作。随着写回被避免,禁止了碎片收集并且写入性能相应地改善。写回操作的抑制反过来减小了删除块的内容的次数,从而延长了存储器产品的寿命。
根据本发明的存储器控制方法,当要写入的数据没有超过指定的逻辑边界时,部分管理信息被保存在高速缓冲存储器块(OD-高速缓冲存储器)中。更具体地,部分OD管理信息存储到保持用户数据的块中。这使得可能将跨越多个逻辑空间的数据保存到高速缓冲存储器块(OD-高速缓冲存储器),而不改变存储在闪存中的管理信息的大小,从而比之前更少执行写回操作。
对OD中最后写入页的读取操作允许保持管理信息的位置的获取,使得第二读取操作允许获得管理信息。随着不需要写入管理信息,读取高速缓冲存储器块(OD-高速缓冲存储器)的整个内容使得可能构成管理信息。结果,使得启动时管理信息的获取明显比之前更快。
在数据要从主机设备写入的情况下,数据从高速缓冲存储器块的起始开始写入而不管写入数据的逻辑地址空间。该特征抑制高速缓冲存储器块中的复制操作,这转化为写入性能的提升。
当跟随在之前示例中写入的数据的文件数据要以不限于任何簇边界的方式写入时,该数据可以添加到高速缓冲存储器块。这也抑制了写回操作。随着写回被禁止,避免了碎片收集并且相应地提升了写入性能。
当写回操作被抑制时,相应地减少块删除操作,这有助于延长存储器产品的寿命。高速缓冲存储器块的块地址单独以这种方式管理,即如果不存在块地址改变,则不需要更新管理信息。这有助于改善写入性能。
此外,管理信息更新操作的频率的减小转化为其中保持管理信息的块删除其内容的次数的明显下降。这有助于延长存储器产品的寿命。
当数据被添加到高速缓冲存储器块以便抑制写回操作时,禁止了碎片收集并且提升了写入性能。随着写回被抑制,减少了删除各块的内容的次数,这导致存储器产品更长的寿命。只有高速缓冲存储器块的块地址以这种方式管理,即如果不改变块地址,则不需要更新管理信息。这有助于改善写入性能。管理信息更新操作的减小的频率转化为其中保持管理信息的块删除其内容的次数的明显下降。这有助于延长存储器产品的寿命。
当所述的高速缓冲存储器块处于满状态的情况下,执行到用户块的写回操作而不触发碎片收集。这使得可能改善写入性能。
当主机设备要写入构成落入没有达到指定的逻辑边界(即,以多个扇区为单位的逻辑空间大小)的管理信息的FAT和目录项时,数据被写入重新分配的高速缓冲存储器块以便抑制写回操作。因而随着写回被抑制,避免了碎片收集并且改善了写入性能。写回操作的抑制反过来减少了删除块的内容的次数,从而延长了存储器产品的寿命。
当在写入操作后另外的数据要写入同一逻辑地址空间时,那么该数据被添加到高速缓冲存储器块以便抑制写回操作。因而随着写回被禁止,避免了碎片收集并且相应地提高了写入性能。写回操作的抑制反过来减少了删除块的内容的次数,从而延长了存储器产品的寿命。
在只管理高速缓冲存储器块的块地址的情况下,只要块地址没有改变就不需要更新管理信息。这有助于改善写入性能。管理信息更新操作的减小的频率转化为其中保持管理信息的块删除其内容的次数的明显下降。这有助于延长存储器产品的寿命。
当数据被另外写入所述的高速缓冲存储器块时,写回被抑制并且碎片收集也被抑制。这有助于改善写入性能。抑制写回操作有助于减少块删除操作的次数,从而延长存储器产品的寿命。在只管理高速缓冲存储器块的块地址的情况下,只要块地址没有改变就不需要更新管理信息。这导致写入性能的提升。管理信息更新操作的减小的频率保证删除其中保持管理信息的块的内容的次数的明显下降。这有助于延长存储器产品的寿命。
当对处于满状态的高速缓冲存储器块执行数据写入操作时,数据被写入另一个高速缓冲存储器块。这抑制写回操作和碎片收集,并且提升写入性能。因为写回操作的抑制转化为减小的删除块的内容的次数,所以延长存储器产品的寿命。
如果文件数据写入操作发生在组成管理信息的FAT或目录项已经被写入后,那么数据被写入另一个高速缓冲存储器块,使得可以禁止写回操作。这反过来抑制了碎片收集并且有助于提升写入性能。因为写回操作的抑制使得可能减小删除块的内容的次数,所以延长存储器产品的寿命。
在没有空闲的高速缓冲存储器块可用的情况下,具有低更新频率的高速缓冲存储器块被优选地分配用于写回操作。在写回操作时给具有低更新频率的高速缓冲存储器块优先级改善了关于写入操作的高速缓冲存储器块的使用效率。因为具有低更新频率的高速缓冲存储器块比具有高更新频率的高速缓冲存储器块更不可能具有写入到其的数据,所以提供该特征。
当用于写入操作的高速缓冲存储器块的使用效率因而提升时,抑制了写回并且也抑制了碎片收集,从而提升写入性能。写回操作的抑制转化为块删除操作的减小的频率,这延长了存储器产品的寿命。
在没有空闲的高速缓冲存储器块可用的情况下,处于满状态的高速缓冲存储器块优选地经历碎片收集。当处于满状态的高速缓冲存储器块被优选地分配用于写回操作时,可以提高关于写入操作的高速缓冲存储器块的使用效率。这是因为如果高速缓冲存储器块处于满状态,则不需要使用它们。
在关于写入操作改善了高速缓冲存储器块的使用效率的情况下,抑制了碎片收集并且相应地提升了写入性能。随着写回被禁止,减少了块删除操作,使得存储器产品的寿命被延长。只要高速缓冲存储器块处于满状态,就不需要通过碎片收集复制每个块中的数据。这有助于提高性能。
上面详细讨论的各步骤和处理可以安排到可以由CPU或其它合适的计算装置执行的程序中。这些程序可以存储在如半导体存储器、磁盘、光盘、或软盘(注册商标)的记录介质上。一块适合的携带该程序的这种介质可以附接到计算机。反过来,计算机可以访问和执行保持在附接的记录介质上的程序。
本领域的技术人员应该理解,取决于设计要求和其它因素,可以出现各种修改、组合、子组合和更改,只要它们在权利要求和其等价的范围内。
相关申请的交叉引用
本发明包括涉及于2007年9月12日向日本专利局提交的日本专利申请JP2007-237181的主题,这里通过引用并入其全部内容。

Claims (14)

1.一种存储器装置,包括:
非易失性存储器,配置来允许以簇为单位向其写入数据和从其读取数据,并且允许以由多个扇区组成的块为单位从其删除数据;以及
控制电路,配置来控制对所述非易失性存储器的访问操作;
其中该非易失性存储器包括:
管理区域,其中记录管理信息;
用户数据区域,其中记录来自用户的数据;以及
高速缓冲存储器区域,其中暂时保持要写入所述用户数据区域和从所述用户数据区域读取的数据;
所述管理区域包括逻辑/物理表,其与分配给所述逻辑块的物理块的地址相关联地存储所述用户数据区域中的逻辑块的地址,以及对应于所述逻辑/物理表中的所述物理块的地址的所述高速缓冲存储器区域中的物理块的地址;并且
一旦写入其大小小于在所述用户数据区域中的用户块中以多个扇区为单位组成的逻辑空间大小的指定的逻辑大小的数据,所述控制电路就在写入部分管理信息到保持所述数据的高速缓冲存储器块的同时,保存所述数据到适当选择的高速缓冲存储器块。
2.如权利要求1所述的存储器装置,其中所述控制电路在维持用于保存所述管理信息的所述非易失性存储器的大小的同时,将所述数据保存在所述高速缓冲存储器块中的多个逻辑空间中。
3.如权利要求1所述的存储器装置,其中所述控制电路根据高速缓冲存储器块中的所述管理信息,确定额外的数据是否可以写入选择的高速缓冲存储器块,如果发现可以写入额外的数据到所述高速缓冲存储器块,那么在向其添加写入数据之前写入额外的管理信息到所述高速缓冲存储器块。
4.如权利要求3所述的存储器装置,其中,如果发现可以写入额外的数据到所述高速缓冲存储器块,那么在写入额外的管理信息到所述高速缓冲存储器块和向其添加写入数据之前,所述控制电路更新所述管理区域中的所述管理信息。
5.如权利要求3所述的存储器装置,其中,所述控制电路确定额外的数据是否可以写入选择的高速缓冲存储器块,如果发现不能写入额外的数据到高速缓冲存储器块,那么确定在所述高速缓冲存储器块中注册的多个逻辑空间的数目是否大于预定的数目;并且如果发现所述多个逻辑空间的数目小于所述预定的数目,那么所述控制电路复制保存在所述高速缓冲存储器块中的有效数据到新的高速缓冲存储器块,并且在复制到所述新的高速缓冲存储器块后添加关于状态的管理信息。
6.如权利要求5所述的存储器装置,其中,如果在所述高速缓冲存储器块中存在多个管理信息项,那么所述控制电路使最近写入的管理信息项有效。
7.如权利要求5所述的存储器装置,其中所述控制电路在向所述新的高速缓冲存储器块添加写入数据之前,写入额外的管理信息到所述新的高速缓冲存储器块。
8.一种用于非易失性存储器的存储器控制方法,所述非易失性存储器配置来允许以簇为单位向其写入数据和从其读取数据,并且允许以多个扇区组成的块为单位从其删除数据,所述非易失性存储器包括管理区域、用户数据区域以及高速缓冲存储器区域,所述存储器管理方法包括以下步骤:
记录逻辑/物理表,所述逻辑/物理表与分配给所述逻辑块的物理块的地址相关联地存储所述用户数据区域中的逻辑块的地址,以及对应于所述逻辑/物理表中的所述物理块的地址的所述高速缓冲存储器区域中的物理块的地址;以及
一旦写入大小小于在所述用户数据区域中的用户块中以多个扇区为单位组成逻辑空间大小的指定的逻辑大小的数据,就在写入部分管理信息到保持所述数据的高速缓冲存储器块的同时,保存所述数据到适当选择的高速缓冲存储器块。
9.如权利要求8所述的存储器控制方法,其中所述保存步骤包括在维持用于保存所述管理信息的所述非易失性存储器的大小的同时,将所述数据保存在所述高速缓冲存储器块中的多个逻辑空间中。
10.如权利要求8所述的存储器控制方法,其中所述保存步骤包括根据高速缓冲存储器块中的所述管理信息,确定额外的数据是否可以写入选择的高速缓冲存储器块,如果发现可以写入额外的数据到所述高速缓冲存储器块,那么在向其添加写入数据之前写入额外的管理信息到所述高速缓冲存储器块。
11.如权利要求10所述的存储器控制方法,其中,如果发现可以写入额外的数据到所述高速缓冲存储器块,那么所述保存步骤包括在写入额外的管理信息到所述高速缓冲存储器块和向其添加写入数据之前,更新所述管理区域中的所述管理信息。
12.如权利要求10所述的存储器控制方法,其中所述保存步骤包括确定额外的数据是否可以写入选择的高速缓冲存储器块,如果发现不能写入额外的数据到高速缓冲存储器块,那么确定在所述高速缓冲存储器块中注册的多个逻辑空间的数目是否大于预定的数目;并且如果发现所述多个逻辑空间的数目小于所述预定的数目,那么所述控制电路复制保存在所述高速缓冲存储器块中的有效数据到新的高速缓冲存储器块,并且在复制到所述新的高速缓冲存储器块后添加关于状态的管理信息。
13.如权利要求12所述的存储器控制方法,其中,如果在所述高速缓冲存储器块中存在多个管理信息项,那么所述保存步骤包括使最近写入的管理信息项有效。
14.如权利要求12所述的存储器控制方法,其中所述保存步骤包括在向所述新的高速缓冲存储器块添加写入数据之前,写入额外的管理信息到所述新的高速缓冲存储器块。
CN2008101494018A 2007-09-12 2008-09-12 存储器装置、存储器控制方法和程序 Expired - Fee Related CN101387987B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007237181A JP4356782B2 (ja) 2007-09-12 2007-09-12 メモリ装置、メモリ制御方法、およびプログラム
JP237181/07 2007-09-12

Publications (2)

Publication Number Publication Date
CN101387987A CN101387987A (zh) 2009-03-18
CN101387987B true CN101387987B (zh) 2011-10-19

Family

ID=40433084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101494018A Expired - Fee Related CN101387987B (zh) 2007-09-12 2008-09-12 存储器装置、存储器控制方法和程序

Country Status (4)

Country Link
US (1) US8386713B2 (zh)
JP (1) JP4356782B2 (zh)
CN (1) CN101387987B (zh)
TW (1) TWI409630B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011145838A (ja) * 2010-01-13 2011-07-28 Toshiba Corp 記憶装置管理装置および記憶装置の管理方法
TWI423026B (zh) * 2010-10-29 2014-01-11 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN102479054B (zh) * 2010-11-22 2015-01-07 北京兆易创新科技股份有限公司 一种存储芯片的读写系统和方法
JP2012173778A (ja) * 2011-02-17 2012-09-10 Sony Corp 管理装置、および管理方法
JP5699712B2 (ja) * 2011-03-17 2015-04-15 ソニー株式会社 メモリ制御装置、メモリ装置、メモリ制御方法、及びプログラム
CN102405467B (zh) * 2011-04-25 2013-08-28 华为技术有限公司 存储系统中数据处理方法及设备
JP6072428B2 (ja) 2012-05-01 2017-02-01 テセラ アドバンスト テクノロジーズ インコーポレーテッド 制御装置、記憶装置、記憶制御方法
JP5929485B2 (ja) 2012-05-08 2016-06-08 ソニー株式会社 制御装置、記憶装置、データ書込方法
JP5949122B2 (ja) 2012-05-11 2016-07-06 ソニー株式会社 制御装置、記憶装置、記憶制御方法
JP5983019B2 (ja) 2012-05-17 2016-08-31 ソニー株式会社 制御装置、記憶装置、記憶制御方法
US20130332652A1 (en) * 2012-06-11 2013-12-12 Hitachi, Ltd. Computer system and method for controlling computer system
WO2016095233A1 (zh) * 2014-12-19 2016-06-23 北京麓柏科技有限公司 一种非易失性缓存实现方法及装置
TWI561983B (en) * 2015-06-10 2016-12-11 Phison Electronics Corp Method of accessing buffer memory, memory controller and memory storage device
KR102468992B1 (ko) * 2015-11-06 2022-11-22 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20190044968A (ko) * 2017-10-23 2019-05-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10652208B2 (en) * 2018-10-03 2020-05-12 Axonius Solutions Ltd. System and method for managing network connected devices
JP2020155052A (ja) * 2019-03-22 2020-09-24 キオクシア株式会社 メモリシステムおよび制御方法
CN113905097B (zh) * 2021-09-26 2022-07-05 合肥申威睿思信息科技有限公司 一种数据传输方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751989A (en) * 1993-09-30 1998-05-12 Apple Computer, Inc. System for decentralizing backing store control of virtual memory in a computer
CN1221150A (zh) * 1997-10-08 1999-06-30 戴尔美国公司 模拟计算机存储装置的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724501A (en) * 1996-03-29 1998-03-03 Emc Corporation Quick recovery of write cache in a fault tolerant I/O system
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
JP3954698B2 (ja) 1997-08-29 2007-08-08 パナソニック コミュニケーションズ株式会社 メモリー制御装置
US6973556B2 (en) * 2000-06-19 2005-12-06 Storage Technology Corporation Data element including metadata that includes data management information for managing the data element
JP4211385B2 (ja) * 2002-12-20 2009-01-21 パナソニック株式会社 半導体メモリカードおよび管理情報更新方法
AU2002353406A1 (en) * 2002-12-27 2004-07-22 Solid State System Co., Ltd. Nonvolatile memory unit with specific cache
TW200504577A (en) * 2003-07-16 2005-02-01 Matsushita Electric Ind Co Ltd Management method for data storage in data recording medium, and information processing device using the same
JP2005234738A (ja) * 2004-02-18 2005-09-02 Matsushita Electric Ind Co Ltd 半導体メモリ装置
JP4710274B2 (ja) 2004-08-02 2011-06-29 ソニー株式会社 メモリ装置、メモリ装置の制御方法およびデータ処理システム
KR100725390B1 (ko) * 2005-01-06 2007-06-07 삼성전자주식회사 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법
JP4751163B2 (ja) * 2005-09-29 2011-08-17 株式会社東芝 メモリシステム
JP4356686B2 (ja) * 2005-12-01 2009-11-04 ソニー株式会社 メモリ装置及びメモリ制御方法
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751989A (en) * 1993-09-30 1998-05-12 Apple Computer, Inc. System for decentralizing backing store control of virtual memory in a computer
CN1221150A (zh) * 1997-10-08 1999-06-30 戴尔美国公司 模拟计算机存储装置的方法

Also Published As

Publication number Publication date
TWI409630B (zh) 2013-09-21
TW200931249A (en) 2009-07-16
JP2009070098A (ja) 2009-04-02
CN101387987A (zh) 2009-03-18
US20090070517A1 (en) 2009-03-12
US8386713B2 (en) 2013-02-26
JP4356782B2 (ja) 2009-11-04

Similar Documents

Publication Publication Date Title
CN101387987B (zh) 存储器装置、存储器控制方法和程序
US11704239B2 (en) Garbage collection method for storage medium, storage medium, and program product
EP2122473B1 (en) Adaptive memory system for enhancing the performance of an external computing device
JP3708047B2 (ja) フラッシュメモリの管理方法
US8250333B2 (en) Mapping address table maintenance in a memory device
US9026734B2 (en) Memory system and data deleting method
US11797436B2 (en) Memory system and method for controlling nonvolatile memory
CN102292711A (zh) 固态存储器格式化
CN103608782A (zh) Lsb页面和msb页面中的选择性数据存储
US10936203B2 (en) Memory storage device and system employing nonvolatile read/write buffers
JP2005242897A (ja) フラッシュディスク装置
CN104866428A (zh) 数据存取方法和数据存取装置
CN108733306A (zh) 一种文件合并方法及装置
CN107239526A (zh) 文件系统实现方法、碎片整理方法、操作位置定位方法
US20140237190A1 (en) Memory system and management method therof
CN102819494A (zh) 一种闪存顺序写入时的优化方法
CN105630413B (zh) 一种磁盘数据的同步回写方法
US10275363B2 (en) Cuckoo caching
CN116364148A (zh) 一种面向分布式全闪存储系统的磨损均衡方法及系统
CN115203079A (zh) 一种将数据写入固态硬盘的方法
KR101020781B1 (ko) 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법
CN101794254B (zh) Nand flash的数据处理方法
KR100908637B1 (ko) 플래시 메모리의 데이터 관리방법
JP3772003B2 (ja) メモリ管理システムおよびデータ管理方法
JP2011159138A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111019

Termination date: 20210912