首页> 中国专利> 控制由可与主机连接的通信设备包括的用于大容量存储的闪速存储器的方法,和用于执行所述方法的计算机程序产品

控制由可与主机连接的通信设备包括的用于大容量存储的闪速存储器的方法,和用于执行所述方法的计算机程序产品

摘要

本发明涉及一种用于控制闪速存储器(9)的方法,所述闪速存储器包括在可与主机(1)连接的通信设备(2)之中和用于大容量存储要存储的数据(SS1,SSN,SS1N,SA,BE,S1N,S1ML)。在所述方法中闪速存储器(9)分成块(10),所述块分别包括存储单元(S1-SN),和只有在写入存储单元(SS1)之前擦除要写入的存储单元(SS1)的块(10)的全部的存储单元(S1,S2,SS1,SN)的情况下,才能重写已写过的存储单元(SS1)。这样控制闪速存储器(9),使得至少一部分的要写入的存储单元(S1-SN),其数据(SG,SS1N,SAI,BEI,S1MLG)在写入之后与写入之前相比没有变化,则既不能写入也不能擦除,并且在擦除状态的至少一部分的要写入的存储单元(SSG,STG,SMG),其数据(SG)在写入之后与写入之前相比发生变化,则无再次擦除即可写入要存储的数据(SS1N,BEI,S1NI)。

著录项

  • 公开/公告号CN104995595A

    专利类型发明专利

  • 公开/公告日2015-10-21

    原文格式PDF

  • 申请/专利权人 统一有限责任两合公司;

    申请/专利号CN201380061011.4

  • 发明设计人 L·罗斯托克;

    申请日2013-11-15

  • 分类号

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人朱君

  • 地址 德国慕尼黑

  • 入库时间 2023-12-18 11:38:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-01

    未缴年费专利权终止 IPC(主分类):G06F 3/06 专利号:ZL2013800610114 申请日:20131115 授权公告日:20190308

    专利权的终止

  • 2019-03-08

    授权

    授权

  • 2015-11-18

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20131115

    实质审查的生效

  • 2015-10-21

    公开

    公开

说明书

技术领域

本发明涉及一种用于控制闪速存储器的方法,所述闪速存储器由可与 主机连接的通信设备包括并且写入要存储的数据用于大容量存储。本发明此 外还涉及一种用于执行所述方法的计算机程序产品。

背景技术

大容量存储器可以是USB记忆棒(USB:通用串行总线),例如用于 数码相机,移动电话或多媒体播放器的或SSD形式的存储卡(SSD:固态硬 盘)。大容量存储器包括具有存储控制器功能的单元和一个或多个非易失性 存储器模块。能够使用所谓的闪速EEPROM-半导体存储器(EEPROM:电 可擦除可编程只读存储器)作为存储器模块,所述存储器模块不需要电压源 来保护已存储的信息。具有不同的闪存类型,其根据结构和所使用的存储方 法来区别。结构在以下理解为在存储模块中存储部件的布置。使用的存储方 法在以下理解为在存储部件内部用于存储的电压水平的数量。例如闪存类型 有NOR-闪存,NAND-SLC(Single-Level Cell:单层单元)和NAND-MLC (Multi-Level Cell多层单元)。

为了能够将数据写入闪速存储器模块,也称作闪速存储器,必须先擦 除存储器模块中要写入数据的存储单元。每个存储单元分别包括至少一个存 储部件用于存储位,所述的位可以具有逻辑值“0”或“1”,因此通常只有在与 写入相比更大的区域中,所谓的块,也称作擦除块中才能擦除各个存储单元。 块在以下定义为闪速存储器中只能被共同擦除的最小数量的字节。一个块包 括2z个字节(z>13)。典型的用于存储文件的块容量按kB计分别为8、16、 32、64、128或256kB。在写入或写上闪速存储器的存储部件(也称作写入 单元或页)时与块相比较小的单元定义为闪速存储器中最小的字节数量,所 述字节只能共同擦除。块(也称作擦除单元)和写入单元的容量与闪速 EEPROM类型及其容量有关。NOR-闪存具有8kB至256kB之间的块容量, 典型为64kB,其中写入单元为1个字节。在写入单元为512字节的页面的 情况下可以得到更小的块容量为16kB的NAND闪速存储器。具有128、512 或2048kB块容量的更大的NAND闪速存储器使用(页面)容量为2、4或 8kB的页。每个单元中擦除和写入操作的最大可能的数量在技术条件上受到 限制并且与闪速存储器的类型有关。通过擦除,各个位在存储单元中设置为 值“1”,其中通过写入,位设置为值“0”。为了实现各个存储位置的均匀的“磨 损”和使用寿命,在擦除之前将全部的位编程设置为值“0”,以便然后在擦除 时设置为值“1”。由此更小的NAND闪速存储器能够写入包括512字节的写 入单元,但是只能以至多为16.384字节(16kB)的块的形式擦除。主机或 主机系统在写入时所使用的最小的数据量取决于扇区的容量,所述扇区定义 为在主机或主机系统的文件系统中,也称作File-system中共同处理的最小单 位。工作存储器和/或闪速存储器至少原则上能够处理扇区的所述最小单元的 部分区域。扇区包括2z字节的存储容量,其中z>3,通常包括512字节。如 果想通过闪速存储器实现USB大容量存储装置,像USB记忆棒,则会遇到 上述的用于写入/擦除的存储容量不对称的问题,这是因为常用的文件系统, 例如FAT(File allocation Table文件分配表),FAT32等使用512字节容量 的扇区,所述容量与更小的NAND闪速存储器的写入单元的容量相对应。

为了在全部的块上均匀分布擦除和写入操作,昂贵的存储控制器不仅 拥有用于控制必要的擦除/写入操作的控制能力,而且该存储控制器还拥有控 制能力用于读取,擦除和将数据写入适合于所述数据的单元之中并加上错误 校验,用于在存储单元中在全部的块上均匀分布写入/擦除操作(所谓的 wear-leveling:平均抹写),用于管理有缺陷的块和必要时具有一种用于“重 新激活”已存储的数据的方法。在这种情况下存储控制器为了实施上述过程 需要表,利用该表管理和连接在存储控制器与主机的接口处寻址的逻辑单元 和在闪速存储器中使用的物理单元。在更加复杂的存储控制器中,还要按照 OSI七层模型(Open System Interconnection Reference Model:开放式系统互联 参考模型)使用来自较高的层的额外的信息,例如来自在主机中所使用的文 件系统,用于控制存储控制器:例如主机通过特殊的指令(TRIM指令,参 见WO2012/062233)通知存储控制器关于可能擦除的逻辑数据块的信息。

如果要存储的数据量及其更新频率低于在主要应用大容量存储器这种 情况下,例如将闪速存储器作为可与主机连接的通信设备的次要设备用于大 容量存数据,则能够简化地执行大容量存储器的功能。在这种情况下可以放 弃包括上述昂贵的控制方法和表的大容量存储器的单独的存储控制器,通过 该表寻址的逻辑单元在存储控制器与主机之间的接口处与在闪速存储器中 使用的物理单元相连接。

在图1中表示了通信设备2,所述通信设备与主机1连接并且在其中作 为大容量存储器的闪速存储器9没有应用为主要设备用来存储数据,而是应 用为次要设备。通信设备具有键盘3形式的操作终端,其中在显示器4上向 使用者显示通信设备2的要显示的运行状态。通过键盘和/或其它操作元件输 入指令以及在显示器4中显示通信设备2的运行状态表示了通信设备2的主 要功能。例如在通信没备2中使用了闪速存储器9,以便存储配置数据和/ 或保持应该在显示器4上显示的相关语言的文本。例如用不同的语言显示的 文本,例如,德语,英语,法语等,能够根据相应的输出文本保存在闪速存 储器9中,其中使用者在配置通信设备2的过程中能够选择某种确定的语言, 例如德语。然后尽管在配置之后不会使用所述文本,仍将非德语的显示文本 保存在作为大容量存储器的闪速存储器9之中。

在图2中表示了简化地执行大容量存储器的功能。闪速存储器9“NOR- 闪存”没有自己的存储控制器,而是通过主处理器6,也称作CPU(中央处 理器)一同管理。主处理器6从主机1接收为闪速存储器9规定的指令并执 行读取,写入,擦除操作。为了产生主处理器6的工作能力,该主处理器与 程序存储器8和工作存储器7,例如RAM(随机存取存储器)相连接。显示 器4像键盘一样与主处理器6连接。主机1通过主机接口5与主处理器6连 接,所述主机接口在图2表示的通信设备2中布设在通信设备2的内部。由 主机1寻址的闪速存储器9的存储单元或存储区域/存储扇区在没有从逻辑单 元转换成物理单元的情况下直接在闪速存储器9上面响应。

因为将省却借助单独的存储控制器的从主机1的逻辑单元到闪速存储 器9的物理单元的寻址,因此主机1的文件系统的,即主机1的应写入闪速 存储器9的扇区将在主机1规定用于写入这些扇区的位置写入闪速存储器9。

在图3中表示了简单的、用于将主机1的数据存储在闪速存储器9之 中的方法,即在不同的时间点通过带标记“t”的箭头方向标出。在闪速存储器 9的块10中,存储单元规定为存储扇区S1到SN形式,扇区1到N分别在 时间点t1存入这些存储单元之中。为了向块10写入主机1的新的扇区SS1, 在存储单元S1到SN中存储的扇区1到N由块10复制到工作存储器7,11。 因此在时间点t2,在时间点t1时存储在块10中的扇区1到N存储在工作存 储器7中。将要存储的新的扇区SS1处于块10中,在写入所述扇区SS1之 前必须将所述块擦除。在此未写入涉及的存储单元的数据在要写入的块10 中不会发生变化并且必须保持不变。因此,扇区1-10形式的数据从完整的 块10下载到工作存储器7中,11。然后在时间点t4通过写入新的扇区SS1 改变工作存储器7,13。在将扇区1-10复制到工作存储器7之后在时间点 t3擦除块10,12。在第12步中擦除块10之后,只有具有擦除的存储部件 SG的擦除的存储单元位于块之中。在时间点t5通过存储在工作存储器7中 的数据包括新的扇区SS1对已经完全擦除的块10进行编程,14。由此在时 间点t5利用扇区1-N的内容的数据对块10进行编程,其中扇区被新的扇区 SS1取代。因此为了将扇区写入闪速存储器9之中,必须完全地擦除块10 和将N个扇区编程到闪速存储器9之中,其中N不仅表示块10中的最后扇 区,而且额外地表示每个块10中要编程到存储单元S1到SN中的扇区的数 量。“将扇区1-N复制到工作存储器7,11”和“在工作存储器7中编程新的 扇区SS1,13”的操作相对于“擦除块10,12”和“将扇区1-N编程到块10之 中,14”的操作只需要很短的时间。因此在均衡用于将主机1的数据存储到 闪速存储器9之中的费用的时候可以忽略操作11和13。

当在图3中只有一个扇区SS1写入闪速存储器9之中,而在图4a和图 4b中则表示下述情况,即在其中多个扇区SS2,SS3从主机1写入闪速存储 器9的块10之中。在图4a中假定,块10在时间点t5处于按照图3的状态。 为了将扇区SS2写入块10,再次将扇区1到N从块10复制到工作存储器7 之中,11,因此在工作存储器7中存储状态在时间点t6时与图3所示的在时 间点t4时的存储状态相对应。然后在时间点t7再一次地擦除块10,借此全 部的存储单元作为擦除的存储单元SG存在于块10之中。除了新的扇区SS1 之外将新的扇区SS2编程到工作存储器7之中,13,其中在时间点t8新的 扇区SS1,SS2已存储在工作存储器7之中,所述扇区事先替代扇区1到N 的存储的扇区。随后将扇区1到N包括新的扇区SS1和SS2编程到擦除的 块10中,14,15,以至于在时间点t9块10除了扇区1到N还包括新的扇 区SS1,SS2,见图4b。然后块10的全部内容再次复制到工作存储器7之中, 11,并且随后在时间点t11将块10完全擦除。工作存储器7的存储内容在时 间点t10包括新的扇区SS1和SS2通过存储新的扇区SS3在时间点t12得以 扩展。除了扇区1到N之外在时间点t12所述扇区中有3个被新的扇区SS1 到SS3取代。通过将已更新的扇区1到N编程到擦除的块10之中,对工作 存储器7的存储内容执行编程,14,15,借此在块10中对扇区1到10进行 编程,包括用于取代扇区1到N中三个扇区的新的扇区SS1到SS3。当主机 1需要将多个扇区1到N写入闪速存储器9之中的时候,必须针对每个要写 入的扇区SS1,SS2,SS3至SSN重复在图3中表明的步骤。重复这些步骤 或操作11,12,13和14是必需的,这是因为闪速存储器9像主处理器6一 样对各个扇区的逻辑应用没有任何了解并且由此必须在存储单元S1到SN 中相同地处理全部的扇区1到N。

当主机1想要将一定数量的扇区M写入闪速存储器9之中,则需要在 闪速存储器9中M次擦除块10和M次将N个扇区编程到闪速存储器9之 中。当存储单元S1到SN中每个存储单元的容量分别与扇区1到N的容量 相对应,则在512字节的扇区容量和16kB的块容量的情况下得出下述用于 存储操作的次数:

-4kB文件相当于8个扇区相当于8次块擦除,12,和8×32=256 扇区编程,14

-10kB文件相当于20个扇区相当于20次块擦除,12和20×32=640 扇区编程,14

-16kB文件相当于32个扇区相当于32次块擦除,12和32×32=1024 扇区编程,14。

例如当主机1将主机1的文件系统的文件分配表(FAT)写入闪速存储 器9,并且该表包括例如30个扇区的时候,必须30次擦除块和对30×32=960 个扇区进行编程。相对应地,当主机1像在上述实施例中一样通过30个扇 区扩展文件系统的文件分配表FAT并新写入的时候,必须再次30次擦除块 和对30×32=960个扇区进行编程。在图3,图4a和4b中描绘的方法,在其 中将数据从完整的块下载到工作存储器中,改变要写入的存储单元,擦除完 整的块并利用在工作存储器中中间存储的数据重新写入,例如在执行大容量 存储器的时候已经进行说明,所述方法与Microchip公司的微控制器(PIC, PIC24,PIC32等)一同供应。

为了降低在块的擦除和扇区的编程方面通过在图3,图4a和图4b中描 绘的方法产生的高昂的费用,人们能够使用中间存储器(Cache:高速缓冲 存储器),先将要写入的数据保存在所述中间存储器中,以便然后在时间上 延迟地写入闪速存储器。当在存储与写入闪速存储器之间的间隔时间内有其 它用于相同块的要写入的数据抵达进入存储器的时候,所述数据能够与中间 存储的数据相组合并且必须只对所涉及的块擦除一次并写入。

如在图4a和图4b中所表明的,用于避免大量的块擦除和扇区编程的 另一个备选的方案在于使用复杂的文件系统,例如TFFS(True Flash File  System,真闪速文件系统)。在TFFS中数据是这样在闪速存储器中分派: 不是立刻就要求擦除和写入,而是在相关的块不含数据,即未使用的情况下 才要求。但是在这种情况下要求,将原始的文件系统,例如FAT,FAT32“翻 译”成在闪速存储器中使用的文件系统。即,如果要在闪速存储器之中写入 已更改的数据,则这些数据通过闪速文件系统写入空白的,已经擦除的块中 并且旧的数据在旧的位置标记为“老化”。在此借助翻译表进行数据与在闪速 存储器中实际物理的存储位置之间的逻辑分派。只有当在块中全部的数据都 标记为“老化”的时候,才能擦除所述块。当包括并执行翻译表的存储控制器 不再从事读取,写入和擦除操作的时候才进行擦涂。

因此在将要写入工作存储器的数据中间存储在中间存储器中的情况 下,需要延迟直接将数据写入闪速存储器,以便能够在全部已收集的数据在 闪速存储器中共同编程之前收集其它数据。闪速文件系统TFFS虽然立刻将 数据写入闪速存储器,但是延迟擦除。除了用于实现中间存储器和单独的存 储控制器的高额的技术费用,其中所述存储控制器需要翻译表用于使在与主 机之间的接口处寻址的逻辑单元与在闪速存储器中使用的物理单元相连接, 在相对该解决方案简化的解决方案中虽然可以放弃中间存储器和单独的存 储控制器,但是必须以在块擦除和扇区编程上巨大的费用为代价。

发明内容

因此本发明的任务在于,提供一种用于控制闪速存储器的方法,利用 所述方法能够简单和高效地将主机的数据存储在闪速存储器之中。尤其在不 要求使用中间存储器和/或单独的、具有翻译表的存储控制器的情况下应减少 对于存储所要求的擦除和写入操作的数量。通过规定用于控制闪速存储器的 方法(在所述方法中能够以简单的方式减少存储所要求的擦除和写入操作的 数量),和通过规定用于执行所述方法的计算机产品能够在将数据存储在闪 速存储器上的过程中缩短反应时间和延长闪速存储器的使用寿命。

按照根据本发明的用于控制闪速存储器的方法,所述闪速存储器由可 连接主机的通信设备包括和用于大容量存储将存储的数据,闪速存储器分成 块,所述块分别包括存储单元。只有在写入存储单元之前擦除要写入的存储 单元的块的全部的存储单元,才能重写已写过的存储单元。闪速存储器这样 进行控制,使得其数据在写入之后与写入之前相比没有变化的至少一部分的 要写入的存储单元,既不写入也不擦除,并且其数据在写入之后与写入之前 相比发生变化的至少一部分的要写入的存储单元无需再次擦除即可写入要 存储的数据。在将闪速存储器作为通信设备的次要设备使用的情况下闪速存 储器的这种方式的控制是可行的,其中不需要单独的存储控制器。同样不需 要中间存储器和/或单独的、具有翻译表的存储控制器用于执行按照本发明的 方法。此外闪速存储器的控制不需要关于位级以上的主机的要写入的数据的 逻辑内容的信息,在所述位级中各个数据位能够具有数值为“0”或“1”的内容。 一个字节由8个位组成。每个位可以取值“0”或“1”。擦除的字节的8个位可 以全部具有数值“1”,使得字节具有二进制值“11111111”。该值在二进制中相 当于值“0b11111111”或在十六进制中相当于值“0xFF”。对于闪速存储器的控 制也可以只有一个信息,要写入的数据是否分别具有其中位值不等于“0xFF” 的字节。该信息可以通过在各个位的级,即在位级上数值的分析产生。备选 地或补充地该信息也能够通过在各个字节的层级,即在字节级上产生。如果 字节具有十六进制位值“0xFF”,则该字节的所有的位都分别具有数值“0”。 因此在字节级或较低的级,即在位级检查数据的内容,对于将闪速存储器的 数据的值与要写入的数据的值相比较是足够的。因为闪速存储器的擦除的和 在擦除之后没有再次写入的区域通常具有值“0xFF”,所以字节级的数值的信 息足以确定,擦除的区域或其中的一部分是否会将要写入的数据的各个字节 的其它值覆盖。因此闪速存储器控制仅在下述方面有差别,即要写入的数据 的每个字节的值是否与要写入的擦除的存储单元的每个字节的值不同。当要 写入的数据与擦除的存储单元的各个字节的值有差别时,则能够放弃重新擦 除存储单元并且将数据写入要写入的存储单元之中。但是如果要写入的数据 与要写入的存储单元的数据没有差别,那么在写入的存储单元中的存储能够 保留,原因在于要写入的存储单元的各个字节的值与即将写入存储单元中的 数据的各个字节的值相对应。通过这种方式,通过在字节级简单地比较要写 入的数据的内容与要写入的存储单元的内容之间的相似性,避免不必要的擦 除和只有在基于要写入的数据的内容与写入的存储单元的内容之间的差别 要求写入的时候,才能向写入的存储单元写入数据。可以在没有其它中间步 骤的情况下直接地在将数据存储到至少一部分的要写入的存储单元内之前 进行要写入的数据的内容与要写入的存储单元的内容比较。

闪速存储器是例如闪速EEPROM半导体存储器。闪速存储器的类型, 像NOR-闪存,NANDSLC或NAND-MLC都适合作为闪速存储器。通信设 备可以是计算机,移动电话,平板电脑,PDA(个人数字助理),智能电话或 其它包括闪速存储器的通信设备。闪速存储器可以用作通信设备的次要设 备,其中避免中间存储器或存储控制器,例如按照在图1和图2中表明的通 信设备,或用作通信设备的主要设备,其中具有中间存储器或存储控制器作 为自己的组件。

通信设备不必是终端设备,而是通信终端设备本身可以实施作为服务 器,例如以台式机或笔记本电脑的形式。因为既不能擦除在写入之后与写入 之前相比没有变化的数据也不能向要写入的存储单元写入数据,和在要写入 的擦除的存储单元或其中的一部分中无需执行再次擦除和只需写入那些与 擦除的存储单元或其中的一部分不同的数据,因此可以避免不必要的擦除和 /或写入操作。通过这种方式降低用于将数据存储在闪速存储器中需要的擦除 和写入/编程操作,这体现于在存储时降低反应时间和提高闪速存储器的使用 寿命。此外因为擦除和/或写入操作的延迟限定于在字节级比较要写入的数据 的内容与要写入的存储单元的内容并且可取消中间存储器和/或与通信设备 的主处理器有差别的存储控制器,因此在存储数据时会降低反应时间并且通 过这种方式使闪速存储器的总性能最大化。

在实施方式中通信设备通过接口与主机连接并且由通信设备从接 口读取有关由主机向闪速存储器传输的数据量的信息并且为了控制闪速存 储器进行评估。即使没有中间存储器或存储控制器,在与主机的接口处也存 在有关由主机向闪速存储器传输的数据量的信息。从接口读取所述数据并且 对其进行评估用于控制闪速存储器,其中在写入过程中没有写入新的数据的 存储单元在擦除闪速存储器中的块之后不会重新写入已经在存储单元中存 储的数据,而是保留在擦除状态,直到新的数据在后来的写入过程中写入存 储单元。因此,通过保存在接口处的有关要存储的数据量的信息能够在写入 过程中为进入的新的信息准备擦除的存储单元,以便所述存储单元不被已经 保存在存储单元中的数据覆盖。

有利地,有关由主机向闪速存储器传输的数据的信息存在于大容 量存储器协议中,尤其是USB大容量存储器协议中。例如大容量存储器协 议包括关于应有多少个主机的扇区写入闪速存储器中的信息。该信息传输给 闪速存储器的写入功能。现在该写入功能阻止,向刚刚擦除的存储单元写入 数据,所述的存储单元在后来的写入过程中被覆盖。因此所述存储单元保留 在擦除状态,使得只有新的数据编程到闪速存储器中,其中不必在写入新的 数据之前再次擦除要编程的存储单元。有关由主机向闪速存储器传输的数据 的信息尤其存在于USB大容量存储器协议中。在此该信息独立于中间存储 器或存储控制器存在于与主机之间的接口之中。

在另一个实施方式中,由接口提供有关依次写入的存储单元的数量的 信息,要传输的数据写入所述存储单元。通过有关依次写入的存储单元的数 量的信息能够为依次的写入操作提供或储备闪速存储器的块的用于写入数 据的相关联的区域。因为主机的扇区的数据内容的大小在用于传输数据的接 口中必须是已知的,所以仅从应该写入闪速存储器中的扇区的数量就可以推 断出依次写入的存储单元的数量。

在另一个实施方式中,除了第一要写入的存储单元的内容之外接口提 供有关在第一存储单元之后的存储单元的数量的附加信息。因此当主机需要 将一定数量的扇区写入闪速存储器,所述扇区的大小分别与存储单元的一定 数量的存储部件相对应,则主机通过接口向闪速存储器发送任务,将第一扇 区连同附加信息写入闪速存储器之中,使得在M个要写入的扇区中还跟随 M-1个扇区。闪速存储器的块,在其中第一扇区应写入存储单元的存储部件 的一部分,必须在写入扇区之前进行擦除,原因在于只能擦除完整的块。在 该块中在写入过程中没有写入涉及的存储单元的数据在写入过程期间不允 许改变并且必须保持不变。对此将来自完整的块的数据中间存储在例如通信 设备的工作存储器中,通过替换已中间存储的部分数据将即将写入的数据添 加给中间存诸的数据,擦除闪速存储器中完整的块和通过包括要写入的数据 的中间存储的数据对其重新编程。在此只对闪速存储器中那些必须保持不变 的数据进行编程,即第一扇区S前面的那些扇区,以及从S+M扇区起的那 些扇区,其中同样对已经包含新数据的第一扇区S本身进行编程。当后面的 扇区S+1至S+M-1是由主机传输,则将所述扇区分别编程到闪速存储器中 所提供的已经擦除的区域中。通过这种方法,闪速存储器中那些要写入的、 其数据在写入之后与写入之前相比不变的区域,既不会擦除也不写,而是为 那些向所述区域写入新的数据的写入过程保留。因此,即使没有关于在闪速 存储器中即将写入的数据的内容的信息,只通过关于要写入的数据量的信息 也能够,在不会丢失已存储的数据的情况下节省擦除和写入操作。

在优选的实施方式中,由主机传输的在闪速存储器的块的至少一个存 储单元中要写入的数据在写入至少一个存储单元之前发生反转。通过这种方 式可以在对未用过的存储单元使用十六进制值“0x00“的文件系统中通过反 转生成数值“0xFF“,该值与闪速存储器中擦除的,没有写的存储单元的值相 符合。反转是通过下述方式进行,将每个数值为“0“的位转换成数值为“1“, 反之亦然。通过这种方式,文件系统的未用过的、具有数值“0x00“的区域转 换成数值为“0xFF“的区域。因为在闪速存储器中字节的数值“0xFF“与擦除 的,没有写的状态相对应,在反转之后不再对文件系统的未用过的区域进行 编程。只有当文件系统的内容在该区域中发生变化并且包括其他数值作为 “0x00“的时候,在反转之后也必须将该区域编程到闪存之中。但是在编程之 前不要求擦除,这是因为擦除的区域还一直包括具有数值为“0xFF”的未擦除 的字节和如果不先擦除不能覆盖。数值“0“对应于十六进制值“0x00“,其中例 如位置文件分配表FAT的两次复制在未使用的位置具有数值“0“。文件系统 的未使用的部分经常写入,其中没有发生变化。对于闪速存储器,在每一个 过程中写入意味着擦除并重新编程存储单元。通过文件系统的未使用的区域 的反转这些区域的数值反转成闪速存储器的擦除的,没有写入的区域的值。 通过使文件系统的未使用的区域的值与擦除的存储单元的值的所述均衡,不 再要求对这些区域进行编程。因此利用该实施例实现进一步节省擦除和/或写 入操作。

在另一个实施方式中,在多个要写入的、要传输的数据会写入其中的 存储单元中,用于全部存储单元的数据发生反转。虽然该实施方式具有下述 缺点,即必须为文件系统的已使用的、不含数值“0x00”区域进行反转,以便 能够在从闪速存储器读取的过程中使用这些数据。但是该实施例也有优点, 闪速存储器不需要有关要存储的数据的逻辑内容的信息。“数据反转”操作类 似于“复制扇区1到N”,11,见图3,图4a和图4b和“将新的扇区编程到工 作存储器中,13,,见图3,图4a和图4b”等操作,可以忽略掉,这是因 为它们只需要部分时间用于擦除块,12,和对块进行编程,14。

在另一个实施方式中与此相对应地规定,应写入闪速存储器中的主机 的数据的未使用的字节,在保存在接口中的情况下具有十六进制值0x00的 字节,在反转之后在闪速存储器中具有擦除的字节的十六进制值0xFF,和 替代将十六进制值0xFF写入擦除的存储单元在没有重新擦除的情况下保持 在擦除状态。

除了用于控制闪速存储器的方法本发明此外还涉及用于执行这种方法 的计算机程序产品。例如计算机程序产品能够以软件的形式存在。计算机程 序产品可以作为二进制数据存储在软盘,DVD,CD-ROM或存储卡上面。 此外计算机程序产品还能够以打印源代码的形式存在。

本发明此外还包括一种通信设备,计算机程序产品安装在所述通信设 备上面。通信设备具有与按照本发明的用于控制闪速存储器的方法相符合的 作用和优势和能够作为台式机,笔记本电脑,服务器,固定电话,移动电话, 智能电话或平板电脑存在。通信设备可连接的主机可以作为服务器或其它主 机存在。主机能够除了作为能联网的电脑的复合结构和/或网络之外还能够以 主机系统的形式存在。由此主机也可以构成互联网或以太网。

附图说明

下面借助图5至图8来说明本发明的另外实施例以及优势。为了取得 更清楚的显示效果在图中没有完全按比例尺或比例的进行显示。如果未加另 行说明,在图中相同的符号代表具有相同意义的相同的单元,其中参考已经 讨论的图1至图4b的标记。其中:

图1示出传统的通信设备,所述通信设备包括闪速存储器9,

图2示出在图1中表明的传统的通信设备,其中闪速存储器的控制通 过主处理器进行,所述主处理器通过接口与主机连接,

图3示出用于将扇区存储在闪速存储器中的传统方法,

图4a和4b示出用于将多个扇区存储在闪速存储器中的传统方法,

图5a和5b示出按照本发明的用于将多个连续的扇区存储在闪速存储 器中的方法的第一实施方式,

图6a和6b示出按照本发明的用于将主机的特定的扇区存储在闪速存 储器中的方法的另一实施方式,

图7a和7b示出按照本发明的通过反转来将主机的特定的扇区重写在 闪速存储器中的方法的另一实施方式,以及

图8a和8b分别示出表,鉴于擦除操作的次数(图8a)和编程操作的 次数(图8b)用于比较在图4至图7中示出的方法。

具体实施方式

在图5a和5b中表明按照本发明方法的第一实施方式,在其中有多个 连续的扇区SSN,SS1N,SSMN应该存储在闪速存储器9的块10中。在时 间点t1,将扇区1到N存储在块10的存储单元S1到SN中。在这之后将扇 区1到N复制到工作存储器7中,11,以便在时间点t2扇区1到N已经存 储在工作存储器7中。在时间点t3完全擦除块10,以致于存储单元S1到 SN的每个处于擦除状态SG。在时间点t1到时间点t3的方法步骤与在图3 中表现的不同。M个扇区应该从主机1编程到闪速存储器9中。所述M个 扇区分成扇区S新,SSN,扇区S+1新,扇区SS1N,其它扇区和扇区S+M-1 新,SSMN,其中M是整数。替代只将第一要写入的扇区SSN写入工作存 储器,如在图3中在时间点t4表明的那样,通过接口5将第一要写入的扇区 SSN和向通信设备2传输的信息IN1,即后面还有M-1个扇区要写入闪速存 储器9中,写入工作存储器。在时间点t20只有第一扇区SSN保存在工作存 储器7中,21,其中并不是工作存储器7的全部内容在时间点t20编程到擦 除的块10中。而是对扇区1到S-1,S作为新的扇区和扇区S+M至N进行 编程,22。因此在时间点t21擦除布置在扇区SSN和扇区S+M之间的存储 单元。块10的这个擦除的区域SSG可供下述的写入操作或写入过程使用, 用于将主机的新的数据写入块10中。因此通信设备2或闪速存储器9的控 制这样地将信息IN1(还有M-1个扇区用于写入闪速存储器9)应用于块10, 使得还没有写入闪速存储器9的块10中的扇区SS1N至SSMN作为擦除的 区域SSG保留在块10中。在时间点t22利用下一个要写入的扇区S+1新, SS1N写工作存储器7,其中从接口5除了下一个要写入的扇区SS1N之外还 向通信设备2传输信息IN2,即后面还跟随M-2个扇区用于写入块10。信 息IN2传输给闪速存储器的控制,所述控制在图2中表明的通信设备2中, 通过主处理器承担。然后在块10中只对新的扇区S+1新,SS1N编程,24, 块10由此在时间点t23除了第一新的扇区SSN还存储第二扇区SS1N。按照 时间顺序,在图3,4a,4b,5a,5b,6a,6b,7a和7b中用字母t和向下的 箭头表示,将各个扇区从接口5存储到工作存储器7并且从那里存储到块10 中的方法会延续下去,这在图5a中通过表述“等等”和箭头25表明。一旦 可以将最后要存储的扇区SSMN写入块中,该扇区被存储在工作存储器7 中,并且最后新的要存储在闪速存储器9之中的扇区S+M-1新,SSMN存 储在擦除的单元的区域SSG的最后仍保留的处于擦除状态SG的存储单元 中。在即将依次存储的M个扇区的最后的扇区中,不会再由接口向闪速存储 器9的控制传输任何其它信息,这是因为不需要这样的信息。因为擦除的、 保留的区域SSG基于第一信息IN1(M-1个扇区要存储到闪速存储器9的块 10中)是这样保留,使得该擦除的区域足以应对全部即要写入块10的M个 扇区。如果在另一个实施方式中只要求传输信息IN1,即还有M-1个扇区要 写入存储器中,其中可以取消信息IN2,其后面还有M-2个扇区要写入闪速 存储器9中。

当主机1需要将一定数量的连续的扇区M写入闪速存储器9之中,并 且将所述要写入的扇区全部写入块10的存储单元的时候,那么擦除一次在 闪速存储器9中的块10并且在闪速存储器9中对N个存储单元编程。如果 连续的扇区分成多个块,是如下的情况,即S和M的和大于块中存储单元的 数量N,则必须将全部用于存储的块B分别擦除一次和在闪速存储器9中对 BxN个扇区编程。在这种情况下假定,存储单元的数据量与扇区的数据量相 对应。

在512字节的扇区容量和16kB的块容量的情况下在写入闪速存储器9 时要求下述操作:

-4kB的文件相当于8个扇区(在一个块中)相当于1次块擦除和 32扇区编程,

-4kB的文件相当于8个扇区(在两个块中)相当于2次块擦除 2×32=64扇区编程,

-10kB的文件相当于20个扇区(在两个块中)相当于2次块擦除 和2×32=64扇区编程,

-16kB的文件相当于32个扇区(在两个块中)相当于2次块擦除 和2×32=64扇区编程。

例如当主机1写入文件系统的文件分配表FAT并且该表由30个扇区构 成,则必须在将30个扇区分布在两个块上的情况下最多擦除块2次并且对 2×32=64个扇区进行编程。如果主机以如上述示例中的30个扇区扩展文件 系统的FAT并且重新写入,则再次将块擦除2次并且将2×32=64个扇区编 程到闪速存储器9中。在图6a和6b中表明按照本发明的方法的另一实施方 式,在其中主机1的特定的扇区存储在闪速存储器9中。如在图3和图5a 中所描绘,在时间点t1在存储单元S1到SN中包括扇区1到N的块10完 整地复制到工作存储器7中11,并且然后在时间点t3将块10完全擦除,由 此全部的存储单元S1到SN在块10中处于擦除状态SG。主机考虑将FAT 或包括M个扇区的索引写入闪速存储器9。因此主机通过接口5向闪速存储 器9的控制下达任务,将M个扇区中的包括第一分区SA和第二分区U的 第一扇区写入块10并伴有信息IN1,即后面还有M-1个扇区用于存储。信 息IN1作为要写入第一扇区的分区SA和U的补充从主机1的信息中构建接 口5,有多少个扇区要写入。与在图5a和5b中所示的按照本发明的方法的 第一实施方式相反,在第一要存储的扇区的要存储的分区SA和U中的数据 发生反转,31。在此第一要写入的扇区的第一分区SA反转成第一分区SAI, 其中第一要写入的扇区的未使用的第二分区U含有十六进制值0x00,反转 成第一要写入的扇区的第二分区G,并且在反转之后含有十六进制值0xFF。 因此通过这种方式反转的第一要写入的扇区作为反转的第一分区SAI和反 转的第二分区G在时间点t30编程到工作存储器7之中。之后按照在图5a 中示出的编程步骤22将扇区1到S-1,由两个分区SAI和G构成的要写入 的反转的扇区S和扇区S+M到N编程到块10中,32。就是说只有必须保 持不变的数据才能编程到闪速存储器9之中,即全部的在扇区S前面的扇区, 以及继扇区S+M之后的扇区,第一要写入的、包括新的和反转的数据的扇 区本身。在时间点t31,在包括未发生变化的扇区1到S-1和S+M到N的块 10中存在擦除的区域SMG,所述区域可用于主机1的其它要存储的扇区。 至于第一要存储的扇区,只有在块10的存储单元中与用于擦除的数据的值 0xFF有别的数据才能存储在块10中。因此只有第一要存储的扇区的第一分 区SAI存储在块10中和第一要存储的扇区的第二反转的分区G则不会编程 到块10中,原因在于所述分区的值与擦除的存储单元的内容0xFF相对应对 应。紧跟在第一要写入的扇区后面的第二扇区S1L是所谓的“空白”扇区,这 是因为在该扇区中数据包括数值为0的未使用的字节,所述扇区与十六进制 值0x00相对应对应。扇区S1L像在将第一要写入的扇区存储到工作存储器 7一样发生反转,31并且作为反转的扇区S1LI存储在工作存储器7中。此 外接口5向闪速存储器9的控制传递信息IN2,即还有M-2个扇区需要存储 在闪速存储器9中。因为第二要写入的扇区S1LI在反转之后最终具有十六 进制值0xFF,所述值在擦除的区域SMG的擦除的状态SG与存储单元的内 容相对应,因此该区域将不编程到块10中,34。取而代之,所述块在时间 点t33与在时间点t31一样处于相同的状态。因为擦除的存储单元的内容与 第二要写入的扇区S1LI的内容相对应,因此通过未执行的对反转的第二要 写入的扇区S1LI进行编程不会丢失数据内容。

当后面的扇区是由主机1传输给接口5,则只有在这些扇区所包括的数 据与数字为0的未使用的数据不同,在所述值与十六进制值0x00相对应的 情况下,才能在闪速存储器9的擦除的区域SMG中对它们进行编程。只要 这些扇区是“空白”,即只包括0x00的字节,这些区域则通过反转成为在其 中全部的字节包括0xFF数值的区域,所述区域与闪速存储器9中擦除的区 域SMG的擦除的存储单元的内容相对应。因此这些“空白”扇区不会编程到 闪速存储器中。按照图6a表明的最后的要存储的扇区S1ML也是只包括0 值的未使用的字节。在反转之后该扇区作为具有0xFF数值的反转的扇区 S1MLI在时间点t34存在于工作存储器7之中。因为反转的最后的要写入的 扇区S1MLI与块10中擦除的区域SMG一样具有相同的数据内容,因此不 会执行编程步骤用来将扇区S1MLI写入块10中,36。而是擦除的区域SMG 的擦除的存储区域S1MLI与最后的要写入的反转的扇区S1MLI的数据内容 相对应对应。通过反转要写入的扇区的数据,其中所述扇区包括未使用的数 据,按照本发明可以放弃编程步骤,这是因为擦除的存储区域的数据和包括 未使用的数据的扇区的反转的数据彼此相对应。虽然为了使用反转存储的数 据必须采取反向反转,所述反向反转对应于再一次反转,但是用于反转的时 间成本和计算成本与用于编程的时间成本和计算成本几乎是无足轻重,能够 忽略不计。

在图7a和7b中表明了按照本发明方法的另一实施方式,在其中主机1 的特定的扇区重写在闪速存储器9中。在图7a中假定在时间点t33的状态作 为块10的初始状态,如在图6a和6b中分别所示。在与在图6b中所示的时 间点t34相对应的时间点t34将全部的扇区1到N复制到工作存储器7中之 后,应将M个扇区重写到闪速存储器9之中。第一要写入的扇区包括第一 分区SA和第二分区BE以及第二要写入的扇区S1N。其它要写入的扇区是 所谓的“空白”扇区,只包括未使用的数据。最后一个写入的“空白”扇区是扇 区S+M+1,S1ML。在向接口5传输要写入的扇区之后,37,由接口5将包 括分区SA和BE以及信息IN1(后面还有M-2扇区要写入)的第一要写入 的扇区向闪速存储器的控制传输。之后,包括分区SA和BE的第一要写入 的扇区反转并且在时间点t35作为反转的分区SAI和BEI存储到工作存储器 7中。随后,因为第一分区SAI已经在块10中编程,只将第二分区BEI作 为第一要写入的扇区S的剩余部分编程到块10之中,其中不要求擦除块10 的存储单元,39。因此在时间点t36在块10中原先擦除的区域STG通过第 一要写入的扇区的反转的第二分区BEI取代。紧接着第二要写入的扇区S1N 由接口5从主机1的文件系统中读出,40并且连同信息IN2(还有M-2扇 区要写入)向闪速存储器的控制传输。在将扇区S1N的数据反转之后,31, 在时间点t37将该扇区作为反转的扇区S1NI存储到工作存储器7。然后将第 二要存储的扇区以反转的形式S1LI编程到块10的保留的擦除的区域SMG。 因此在时间点t38在块10中编程第一要存储的扇区的反转的分区SAI,BEI 和反转的第二要存储的扇区S1LI。读取各个要编程的扇区的方法,包括信息, 即后面还有多少个扇区要存储,在工作存储器中的反转、存储和将通过未 使用的数据,即有效数据占用的反转的扇区编程到闪存块10中将继续进行, 直到将最后一个要存储的扇区编程。在图7b中所述最后一个扇区S1ML是 所谓的“空白”扇区,该扇区在反转之后,31,在时间点t38作为反转的扇 区S1MLI在工作存储器中编程。因为反转的扇区S1MLI只包括数值为0xFF 的数据,该数值与块10中擦除的存储单元S1MLG的内容相对应,因此不 执行将反转的扇区S1MLI编程到块10中,36。因此在时间点t39,与在时 间点t33相比块10额外地包括第一要写入的扇区的反转的第二分区BEI和 反转的第二要写入的扇区S1LI。在图7a和7b中所示的实施例包括以下这种 情况,主机需要将文件分配表FAT或索引这样地升级,使得包括已有数据 的部分保持不变和将额外的数据存储在到目前为止擦除的区域中。块10的 保持不变的区域是利用扇区1到S-1和S+M到N占用。擦除的区域,即通 过额外的数据占用的区域为区域SMG。因为已经处于闪速存储器9之中的 数据不会部分地变化,而是只有至今未擦除的区域写上数据,所以在写入之 前不必完整地擦除闪速存储器9的块10。在数据与闪速存储器的擦除的区域 有区别的情况下,将数据从完整的块10下载到工作存储器7,将用于要写入 的扇区、由主机传输的数据在反转之后存储在工作存储器7中和然后编程到 闪速存储器9中。在图7a和7b中的实施例中这涉及第一要写入的扇区的第 二部分BE和将扇区S1N作为第二要写入的扇区。在后面的、由主机1传输 的扇区包括的数据与未使用的数据不同的情况下,只能将它们编程到闪速存 储器9的相应地已经擦除的区域SMG中。只要这些扇区是“空白”,即只有 数值为0x00的字节,这些区域通过反转会变成在其中全部的字节具有数值 0xFF的区域,所述值闪速存储器中擦除的区域SMG的内容相对应。由此这 些“空白”扇区不编程到闪速存储器。在图6和7所述的方法中不在文件分 配表FAT,索引或数据区域之间进行区别,而是平等地为全部的要写入的扇 区执行反转。虽然这种方法具有缺点,“不必要地”使包括已使用的值的扇区 反转,其中所述已使用的值与未使用的值不同,但是也具有如下优势,即闪 速存储器的控制不需要关于要写入的扇区的逻辑内容方面的信息。如果存储 控制器具有关于不同的扇区的逻辑内容方面的信息,可以放弃平等地反转全 部要写入的扇区和只有那些其数据具有未使用的值0的扇区反转,其中0值 对应十六进制值0x00。

从图6和7的实施例中产生下述示例:

在512字节的扇区容量和16kB的块容量的情况下在写入闪速存储器9 时要求下述操作,其中假定每个块有32个存储单元,所述存储单元能够分 别存储:

-4kB的文件相当于8个扇区(在一个块中)相当于1次块擦除和32扇 区编程,

-4kB的文件相当于8个扇区(在两个块中)相当于2次块擦除和2×32=64 扇区编程,

-10kB的文件相当于20个扇区(两个块)相当于2次块擦除和2×32=64 扇区编程,

-16kB的文件相当于32个扇区(两个块)相当于2次块擦除和2×32=64 扇区编程。

例如当主机1写入文件系统的文件分配表FAT并且该表由30个扇区构 成,其中20扇区不含数据(即“空白”),则必须在将30个扇区分布在两个 块上的情况下最多擦除块2次和对2×32-20=44个扇区进行编程。如果主机1 将文件分配表FAT扩展并且通过30个扇区重写,其中只有16个扇区含有 未使用的数据,即“空白”,则不必擦除任何块和对20-16=4个扇区进行编程。

在图8a中所示为在按照图4到7中的流程51执行所述方法的情况下 擦除操作50的次数的汇总表。假定,块10具有32个存储单元,其中每个 存储单元能够分别存储扇区。因此假定,在块中能够存储32个扇区。在4kB 的文件中,所述文件相当于8个扇区并且存储在2个块中,52,按照在图4 中所示的流程传统的方法导致8次擦除操作,12,在其中每次完整地擦除块。 其原因在于,即使只对块中唯一的扇区进行编程,也必须事先分别擦除整个 块。与在图4中所示的流程相反,在按照本发明的方法中按照在图5至7的 流程,其中写入了数据的块分别只擦除一次。因为需要将8个扇区写入2个 块中,因此与8次擦除操作,53,相反只要求2次擦除完整的块,54,56。 由此,在将8个扇区写入2个块中的情况下擦除操作的次数,52,在按照本 发明的方法中仅为传统的方法所要求的完整的块的擦除操作次数的25%。例 如,在由分布在2个块中的30个扇区构成的文件分配表FAT的说明中,其 中在要写入的30个扇区中有20扇区未使用的数据占用,即“空白”,58,在 按照图4所示的传统的方法中要求30次擦除完整的块。与此相反,在按照 图5至7所示的按照本发明的方法中只要求2次擦除完整的块,这是因为30 个扇区写入2个不同的块中。如果按照将8个扇区写入2个块的实施例以闪 速存储器的状态出发点,其中20扇区含有未使用的数据,即“空白”,58, 通过30个扇区扩展文件分配表FAT,其中有16个扇区含有未使用的数据, 即“空白”,59,则对于按照图4所示的传统的方法重新产生30次擦除完整 的块。与此相反,按照在图5中所述的按照本发明的方法,在没有反转要写 入的数据的情况下要求2次擦除完整的块,61,与在按照图4所示的传统的 方法中擦除的次数相比这只占其中的6.66%,62。因为在按照图6和7所述 的按照本发明的方法中,在其中要写入的数据在编程到闪速存储器之前发生 反转,只需将4个含有有效数据的扇区存储在闪速存储器中,因此在使要写 入的数据反转的情况下取消每次擦除已有的块,0。

在图8b中所示为按照图4到7的方法流程,将工作存储器7中的数据 编程到闪速存储器9的块10的编程操作数量,65。编程操作对应图4a和4b 中的步骤14和图5a和5b中的步骤22,24,26。此外编程操作还分别对应 图6a中的步骤32和图7a中的步骤38,41。在图8a所讨论的示例4kB的文 件中,其中所述文件相当于8个扇区,和应写入2个块中,52,在假定如在 图8a所示,能够将32个扇区写入块中的情况下,对于图4所示的传统方法 产生256个编程操作的数量,66。因为在传统的方法中必须为每个扇区擦除 全部32个存储单元,要求8x32=256次编程操作。与此相反,在按照图5-7 的按照本发明的方法中只需要64次编程操作,67,69,所述编程操作是通 过下述产生,对两个要写的块的每一个块完整地编程一次,即编程32次。 由此导致,在图5-7中所示的按照本发明的方法中无论是在擦除操作次数方 面还是对于编程操作的次数其系数都相当于在图4所示的传统方法的1/4, 70(25%)。在将包括30个扇区的文件分配表FAT写入2个块的情况下, 其中30个扇区中有20个扇区包括未使用的数据,71,对于图4所示的传统 方法产生960次编程操作(分别对32个扇区进行30次编程)。与传统方法 相反,在按照图5的按照本发明的方法中在没有将写入的数据反转的情况下 只要求64次编程操作(对两个已写入块的每一个块完整地,即分别32次编 程)。因为在按照图6和图7的按照本发明的方法中,在其中要写入的数据 在存储在块10中之前反转,不对包括相同的值的数据像存储单元进行编程, 在这种情况下替代64次编程操作,按照图5所示的方法只需要40次编程操 作(64-20=44)。如果在已经将包括30个扇区的文件分配表FAT写入2个 块之中情况下以闪速存储器的状态为出发点,其中30个扇区中有20个扇区 含有未使用的数据,用30个扇区扩展所述文件分配表FAT,其中的16个扇 区含有未使用的数据,72,对于图4所示的传统方法再次产生960次编程操 作的数量,73。在数据没有反转的情况下,在按照图5的按照本发明的方法 中要求64次编程操作的数量(74)。64次编程操作相对按照图4的传统方 法的960次编程操作仅为6.66%,75。相对在图4中所示的传统方法。通 过在图6和图7中所示的按照本发明的方法能够实现更加大幅度地减少编程 操作次数。因为在30个要写入的扇区中有16个扇区含有未使用的数据和20 个扇区在块10中作为擦除的存储单元存在,在扩展文件分配表之后在这20 个扇区中剩下16个作为擦除的存储单元,因此在擦除的存储单元中只对4 存储单元利用与未使用的数据不同的数据进行编程,76。相对于传统的方 法这只相当于所要求的编程操作次数的0.42%。

借助示出的实施方式所说明的本发明的特征,像在图6a,6b,7a和7b 中的使要写入的数据反转31,和在图7a中的只对存储单元中扇区的一部分 编程38,在本发明的其它的实施方式中也可存在,例如在图5a和/或图5b 中,除非进行另行说明或由于技术原因本身是不允许的。

总而言之,通过按照本发明的方法和用于执行按照本发明的方法的计 算机程序产品可以充分使用,使得即使在没有闪速存储器的控制的存储控制 器的情况下也存在关于要写入闪速存储器之中的数据量的信息。根据要写入 的数据量的信息能够将必要的用于写入数据的存储单元作为擦除的单元保 留,直到写入数据,以便能够避免完整的块的擦除操作。此外通过按照本发 明的方法可以充分使用,常用的文件系统FAT/FAT32包括具有相同的数值 的各个要写入的区域的未使用的区域,该值在未使用的区域的值反转之后对 应块的擦除的、没有写的存储部件的值。因此在写入包括未使用的区域的扇 区的时候,可以在未使用的区域反转之后放弃将这些未使用的区域编程到闪 速存储器中。通过这种方法可以降低所要求的擦除操作和编程操作的数量, 借此将提高用于将数据写入闪速存储器上的速度和闪速存储器的使用寿命。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号