• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 12
    • 下载费用:30 金币  

    重庆时时彩计划攻略: 使用自适应压缩比率快速执行刷新命令.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201310485840.7

    申请日:

    2013.08.27

    公开号:

    CN103631728A

    公开日:

    2014.03.12

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情: 发明专利申请公布后的视为撤回IPC(主分类):G06F 12/08申请公布日:20140312|||实质审查的生效IPC(主分类):G06F 12/08申请日:20130827|||公开
    IPC分类号: G06F12/08 主分类号: G06F12/08
    申请人: 苹果公司
    发明人: A·P·迈尔; G·本·耶胡达; O·戈罗维; O·伊萨卡; R·盖伊; Y·施瓦茨
    地址: 美国加利福尼亚
    优先权: 2012.08.27 US 13/595,806
    专利代理机构: 中国国际贸易促进委员会专利商标事务所 11038 代理人: 鲍进
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310485840.7

    授权公告号:

    ||||||

    法律状态公告日:

    2016.12.21|||2014.04.09|||2014.03.12

    法律状态类型:

    发明专利申请公布后的视为撤回|||实质审查的生效|||公开

    摘要

    本发明公开涉及使用自适应压缩比率快速执行刷新命令。一种方法包括在包括非易失性存储器和易失性缓冲器的存储设备中,接收一个或多个存储命令以及至少一个刷新命令,其中,所述易失性缓冲器缓冲接收以存储在所述非易失性存储器中的数据。所述刷新命令指示所述存储设备将在所述易失性缓冲器中缓冲的数据提交给所述非易失性存储器。根据第一存储规则执行所述存储命令。根据第二存储规则执行所述刷新命令,所述第二存储规则相对于所述第一存储规则具有较小的延迟。

    权利要求书

    权利要求书
    1.  一种方法,包括:
    在包括非易失性存储器和易失性缓冲器的存储设备中,接收一个或多个存储命令以及至少一个刷新命令,其中,所述易失性缓冲器缓冲接收以存储在所述非易失性存储器中的数据,所述刷新命令指示所述存储设备将在所述易失性缓冲器中缓冲的数据提交给行述非易失性存储器;
    根据第一存储规则执行所述存储命令;
    根据第二存储规则执行所述刷新命令,所述第二存储规则相对于所述第一存储规则具有较小的延迟。

    2.  如权利要求1所述的方法,其中根据第二存储规则执行所述刷新命令包括:
    将对于每个压缩操作而在所述非易失性存储器中执行的编程操作的数量限制到预定义比率,并且
    其中根据第一存储规则执行所述存储命令包括:
    允许所述数量超过所述预定义比率。

    3.  如权利要求2所述的方法,其中根据第一存储规则执行所述存储命令包括:
    强制实施备选比率,所述备选比率大于所述预定义比率。

    4.  如权利要求2所述的方法,其中将对于每个压缩操作而在所述非易失性存储器中执行的编程操作的数量限制到预定义比率包括:
    根据在所述非易失性存储器中可用的空闲存储器块的计数来修改所述预定义比率。

    5.  如权利要求1所述的方法,包括:为了加速所述刷新命令而在所述非易失性存储器中专门分配一个或多个存储器块,其中执行所述刷新命令包括:将在所述易失性缓冲器中缓冲的数据提交给专门分配的存储器块,并且随后将提交的数据从所述专门分配的存储器块传送到所述非易失性存储器中的备选存储位置。

    6.  如权利要求5所述的方法,其中将在所述易失性缓冲器中缓冲的数据提交给专门分配的存储器块包括:
    使用低延迟存储配置将所述数据存储在所述专门分配的存储器块中。

    7.  一种存储系统,包括:
    非易失性存储器;
    易失性缓冲器,所述易失性缓冲器缓冲接收以存储在所述非易失性存储器的数据;以及
    处理器,所述处理器被配置成接收一个或多个存储命令和至少一个刷新命令,根据第一存储规则执行所述存储命令,根据第二存储规则执行所述刷新命令,所述刷新命令指示所述存储设备将在所述易失性缓冲器中缓冲的数据提交给所述非易失性存储器,并且所述第二存储规则相对于所述第一存储规则具有较小的延迟。

    8.  如权利要求7所述的存储系统,其中所述处理器被配置成通过将对于每个压缩操作而在所述非易失性存储器中执行的编程操作的数量限制到预定义比率来根据第二存储规则执行所述刷新命令,并且通过允许所述数量超过所述预定义比率来根据第一存储规则执行所述存储命令。

    9.  如权利要求8所述的存储系统,其中所述处理器被配置成通过强制实施备选比率来根据第一存储规则执行所述存储命令,所述备选比率大于所述预定义比率。

    10.  如权利要求8所述的存储系统,其中所述处理器被配置成根据在所述非易失性存储器中可用的空闲存储器块的计数来修改所述预定义比率。

    11.  如权利要求7所述的存储系统,其中所述处理器被配置成为了加速所述刷新命令而在所述非易失性存储器中专门分配一个或多个存储器块,并且通过将在所述易失性缓冲器中缓冲的数据提交给专门分配的存储器块,以及随后将提交的数据从所述专门分配的存储器块传送到所述非易失性存储器中的备选存储位置来执行所述刷新命令。

    12.  如权利要求11所述的存储系统,其中所述处理器被配置成使用低延迟存储配置将所述数据存储在所述专门分配的存储器块中。

    13.  一种存储器控制器,包括:
    用于与非易失性存储器通信的接口;以及
    处理器,所述处理器被配置成将接收以存储在所述非易失性存储器中的数据缓冲在易失性缓冲器中,接收一个或多个存储命令和至少一个刷新命令,根 据第一存储规则执行所述存储命令,根据第二存储规则执行所述刷新命令,所述刷新命令指示所述存储器控制器将在所述易失性缓冲器中缓冲的数据提交给所述非易失性存储器,并且所述第二存储规则相对于所述第一存储规则具有较小的延迟。

    14.  如权利要求13所述的存储器控制器,其中所述处理器被配置成通过将对于每个压缩操作而在所述非易失性存储器中执行的编程操作的数量限制到预定义比率来根据第二存储规则执行所述刷新命令,并且通过允许所述数量超过所述预定义比率来根据第一存储规则执行所述存储命令。

    15.  如权利要求14所述的存储器控制器,其中所述处理器被配置成通过强制实施备选比率来根据第一存储规则执行所述存储命令,所述备选比率大于所述预定义比率。

    16.  如权利要求14所述的存储器控制器,其中所述处理器被配置成根据在所述非易失性存储器中可用的空闲存储器块的计数来修改所述预定义比率。

    17.  如权利要求13所述的存储器控制器,其中所述处理器被配置成为了加速所述刷新命令而在所述非易失性存储器中专门分配一个或多个存储器块,并且通过将在所述易失性缓冲器中缓冲的数据提交给专门分配的存储器块,以及随后将提交的数据从所述专门分配的存储器块传送到所述非易失性存储器中的备选存储位置来执行所述刷新命令。

    18.  如权利要求17所述的存储器控制器,其中所述处理器被配置成使用低延迟存储配置将所述数据存储在所述专门分配的存储器块中。

    说明书

    说明书使用自适应压缩比率快速执行刷新命令
    技术领域
    本发明通常涉及存储器设备(memory device),更具体地涉及快速执行刷新命令(flush command)的方法和系统。
    背景技术
    一些非易失性存储器系统包括用于临时缓冲数据,所述数据等待被存储在非易失性存储器。一些存储协议支持刷新命令,所述刷新命令指示存储设备(storage device)将易失性存储器中的任意数据传送到非易失性存储器中。
    例如,在NVM Express协议中支持刷新命令。NVMExpress中的刷新命令在例如2011年7月12日的“NVM Express”修订版本1.0b的第6.7节中进行了规定,该协议通过引用而被包含在本文中。串行ATA(SATA)协议同样规定了被称为“FLUSH CACHE(刷新高速缓存)”和“FLUSH CACHE EXT(刷新高速缓存扩展)”的刷新命令。小型计算机系统接口(SCSI)协议规定了被称为“SYNCHRONIZE CACHE(同步高速缓存)”的刷新命令。
    发明内容
    本文中描述的本发明一个实施例提供了在存储设备(torage device)中的一种方法所述存储设备包括非易失性存储器和易失性缓冲器,所述易失性缓冲器缓冲接收以存储在所述非易失性存储器中的数据。所述方法包括在所述存储设备中接收一个或多个存储命令以及至少一个刷新命令。所述刷新命令指示所述存储设备将在所述易失性缓冲器中缓冲的数据提交给所述非易失性存储器。根据第一存储规则执行所述存储命令。根据第二存储规则执行所述刷新命令,所述第二存储规则相对于所述第一存储规则具有较小的延迟(latency)。
    在一些实施例中,根据第二存储规则执行所述刷新命令包括:将对于每个压缩操作而在所述非易失性存储器中执行的编程操作的数量限制到预定义比率,并且根据第一存储规则执行所述存储命令包括:允许所述数量超过所述预 定义比率。
    根据第一存储规则执行所述存储命令可以包括强制实施备选比率,所述备选比率大于所述预定义比率。在一个实施例中,将对于每个压缩操作而在所述非易失性存储器中执行的编程操作的数量限制到预定义比率包括:根据在所述非易失性存储器中可用的空闲存储器块的计数来修改所述预定义比率。
    在一些实施例中,所述方法包括:为了加速所述刷新命令而在所述非易失性存储器中专门分配一个或多个存储器块,并且执行所述刷新命令包括:将在所述易失性缓冲器中缓冲的数据提交给专门分配的存储器块,并且随后将提交的数据从所述专门分配的存储器块传送到所述非易失性存储器中的备选存储位置。在一个实施例中,将在所述易失性缓冲器中缓冲的数据提交给专门分配的存储器块包括:使用低延迟存储配置将所述数据存储在所述专门分配的存储器块中。
    根据本发明一个实施例,还提供了一种存储系统,包括:非易失性存储器;易失性缓冲器,所述易失性缓冲器缓冲接收以存储在所述非易失性存储器的数据;以及处理器。所述处理器被配置成接收一个或多个存储命令和至少一个刷新命令,根据第一存储规则执行所述储命令,根据第二存储规则执行所述刷新命令,所述刷新命令指示所述存储设备将在所述易失性缓冲器中缓冲的数据提交给所述非易失性存储器,并且所述第二存储规则相对于所述第一存储规则具有较小的延迟。
    根据本发明的一个实施例,还提供了一种存储器控制器,包括接口与处理器。所述接口被配置成与非易失性存储器通信。所述处理器被配置成将接收以存储在所述非易失性存储器中的数据缓冲在易失性缓冲器中,接收一个或多个存储命令和至少一个刷新命令,根据第一存储规则执行所述存储命令,根据第二存储规则执行所述刷新命令,所述刷新命令指示所述存储器控制器将在所述易失性缓冲器中缓冲的数据提交给所述非易失性存储器,并且所述第二存储规则相对于所述第一存储规则具有较小的延迟。
    根据本发明一个实施例,进一步提供了一种系统,包括主机和存储设备。所述存储设备包括非易失性存储器,用于缓冲从所述主机接收以存储在所述非易失性存储器中的数据的易失性缓冲器以及处理器。所述处理器被配置成从所述主机接收一个或多个存储命令以及至少一个刷新命令,根据第一存储规则执 行所述存储命令,以及根据第二存储规则执行所述刷新命令,所述刷新命令指示所述存储设备将缓冲在所述易失性缓冲器中的数据提交给所述非易失性存储器,并且所述第二存储规则相对于所述第一存储规则具有较小的延迟。
    从下面对本发明实施例的详细说明并结合附图,本发明将会被更充分地理解。
    附图说明
    图1是示出了根据本发明一个实施例的存储器系统(memory system)的框图;以及
    图2是示意性示出了根据本发明一个实施例的用于快速执行刷新命令的方法的流程图。
    具体实施方式
    概述
    一些非易失性存储系统包括临时缓冲数据的易失性缓冲器,所述数据等待被存储在非易失性存储器中。一些固态驱动器(SSD),例如,从主机接收数据,初始将数据缓冲在易失性缓冲器中,稍后将数据传送到非易失存储器中。一旦数据被存储在易失性缓冲器中,常常在数据被成功地提交给非易失性存储器之前,SSD通常发送确认给主机。
    这种缓冲相当程度上提高了存储性能。另一方面,如果电力中断,即使已经向主机确认了成功存储,但是已缓冲但还没有提交给非易失性存储器的数据可能丢失。这种情况将导致数据不一致,因此需要被避免。
    为了避免这些和其他情形,一些存储协议支持刷新命令,其指示存储设备将所有缓冲的数据提交给非易失性存储器。存储设备只在易失性缓冲器中的所有数据已经被成功地传送到非易失性存储器时才确认刷新命令。刷新命令通常是阻塞命令(blocking command),即,主机操作系统和文件系统不发送新的写命令,直到刷新操作完成为止。因此,执行刷新命令会使存储设备暂停一个长的时间段。
    本文描述的本发明实施例提供了改进的用于在诸如SSD的非易失性存储器系统中实现刷新命令的方法和系统。在所公开的实施例中,存储设备中的处理 器管理从主机接受的命令的执行。具体地,处理器在执行存储命令时应用某个存储规则,而在执行刷新命令时应用具有较小延迟的另一存储规则。结果,由刷新命令引起的阻塞时间减少了。
    在示例实施例中,在执行刷新命令期间,对于每个编程操作,处理器执行比在存储命令期间执行的少的压缩操作。压缩操作,也称为“垃圾收集”,将有效数据从非易失性存储器的部分有效的存储器块拷贝到新的存储器块,从而为新的存储释放连续的存储器空间。通过在刷新命令执行期间临时限制压缩操作的数量,处理器能够提高数据从易失性存储器到非易失性存储器的传送速率。由刷新命令引起的阻塞时间因此减少了。
    在一些实施例中,处理器在执行存储命令时执行可变的编程压缩比率。该比率作为在非易失性存储器中剩余的空闲存储器块的数量的函数、根据特定规则而变化。在执行刷新命令时,处理器切换到强制实施更高编程压缩比率的备选规则。
    在一些实施例中,处理器在非易失性存储器中分配了空闲存储器块池,专门用于存储在刷新命令期间从易失性缓冲器传送的数据。通过使用这个池,刷新命令可以更快的速度执行,并且其阻塞时间可以被进一步减少。
    系统描述
    图1是示意性图示了根据本发明一个实施例的存储器系统的框图,在本例中该存储器系统是固态驱动器(SSD)20。SSD20为主机24存储数据。例如,SSD20可被安装在移动或个人计算机中,在此情况下,主机24包括计算机的中央处理单元(CPU)芯片集。备选地,SSD20可和任何其他合适的主机一起使用。尽管本文描述的实施例主要涉及SSD,所公开的技术可被用于各种其他种类的存储器系统,诸如企业存储设备、移动电话、数字照相机、诸如膝上型计算机的移动计算设备、平板计算机或者个人数字助理(PDA)、媒体播放器、可移动存储卡或设备、或任意其他合适的数据存储系统。
    SSD20为主机24在非易失性存储器中存储数据,在本例中在一个或多个NAND闪存存储器设备28中存储数据。在备选实施例中,在SSD20中的非易失性存储器可包括任意其他合适种类的非易失性存储器,诸如例如NOR闪存、电荷捕获闪存(CTF)、相变RAM(PRAM)、磁阻RAM(MRAM)或者铁 电RAM(FeRAM)。
    SSD控制器36执行SSD的各种存储和管理任务,特别是使用下面描述的方法执行刷新命令。SSD控制器通常同样被称为存储器控制器。SSD控制器36包括用于和主机24通信的主机接口40、用于和闪存设备28通信的存储器接口44以及执行本文描述的方法的处理器48。
    SSD20进一步包括易失性写缓冲器32,用于临时缓冲从主机24接收以供存储的数据。通常,来到的数据初始存储在缓冲器32中,随后被拷贝到非易失性存储器设备28中的其指定存储位置??奖床僮魍ǔJ褂弥苯哟娲⑵鞣梦?DMA)实现,但同样可由处理器48执行。
    在本例中,缓冲器32实现在随机存取存储器(RAM)中,也可能实现在处理器48为了其他目的而使用的RAM设备中。在图1的实施例中,RAM支持的缓冲器32被示为SSD控制器36的一部分,尽管备选地,RAM可以与SSD控制器分离开。在各种实施例中,易失性存储器支持的缓冲器32可包括任何适当种类的易失性存储器,诸如,例如,动态RAM(DRAM)、双数据速率DRAM(DDRDRAM)或者静态RAM(SRAM)。
    SSD控制器36,特别是处理器48,可被实现为硬件。备选地,SSD控制器可包括运行适当软件的微处理器,或者硬件元件和软件元件的组合。
    图1的配置是示例性配置,其仅仅为了概念上清楚的目的而示出。任何其他合适的SSD或者其他存储器系统配置同样可被使用。对于理解本发明的原理不是必需的元件,诸如各种接口、寻址电路、时序电路以及调试电路,为了清楚的目的已经从图上被略去了。在一些应用中,例如非SSD应用,SSD控制器36的功能由适当的存储器控制器执行。
    在图1所示的示例性系统配置中,存储器设备28和SSD控制器48实现为独立的集成电路(IC)。然而,在备选实施例中,存储器设备和SSD控制器可被集成到单个多芯片封装(MCP)或片上系统(SoC)中的独立的半导体晶片(die)上,并可通过内部总线互联。进一步备选地,SSD控制器电路的一些或者所有可驻留在同一晶片上,在其上设置有一个或多个存储器设备28。进一步备选地,SSD控制器36的一些或者所有功能可被实现为软件,并由处理器或主机24的其他元件执行。在一些实施例中,主机24和SSD控制器36可被制造在同一晶片上,或在同一设备封装的不同晶片上。
    在一些实施例中,SSD控制器36包括通用处理器,其以软件编程来执行本文描述的功能。例如,该软件可在网络上以电子形式下载到处理器,或者备选地或者附加地,其可以被提供和/或存储在非临时性有形介质上,诸如,磁、光、或者电存储器上。
    刷新命令的快速执行
    在一些实施例中,SSD20的处理器48通过首先将来到的数据存储在易失性缓冲器32中,随后将缓冲的数据传送到非易失性存储器设备28中来实现高的写性能。然而,在电源中断的情况下这种易失性缓冲会导致数据不一致。
    例如,考虑如下情形:在缓冲器32中的部分数据还没有成功传送到非易失性存储器设备28时SSD24的电源中断。一方面,该数据通常将丢失。另一方面,处理器48已经对主机24确认了数据存储是成功的。结果,数据不一致或者缺乏同步会在主机处产生:在实际上数据已经丢失时,主机却认为数据被成功地存储了。
    为了避免这种情形,主机24和SSD20之间的存储协议包括刷新命令。刷新命令由主机发布,并指示SSD20中的处理器48将易失性缓冲器32中的所有数据传送到非易失性存储器设备28。处理器48只在缓冲器32中的所有数据已经被成功地传送并提交给非易失性存储器时才确认刷新命令。
    刷新命令通常是阻塞命令,即,新的写命令不会被发送到处理器48,直到刷新操作完成为止。因此,执行刷新命令会使存储设备暂停一个长的时间段,有时为大约几秒。刷新命令的持续时间可取决于,例如,被缓冲的数据的数量以及存储器设备28中的空闲存储器空间。
    在一些实施例中,处理器48通过应用在刷新命令执行期间具有较少延迟的存储规则或模式来减少由刷新命令导致的阻塞时间。本文描述的实施例主要涉及限制在刷新命令执行期间的压缩操作的数量。然而在备选实施例中,处理器48可应用使得刷新命令执行具有比存储命令执行小的延迟的任意其他适当的规则或模式。在下面的描述中,术语“存储命令”指的是从主机接收的但不是刷新命令的任何命令,例如,写命令或读命令。术语“主机命令”指的是从主机接收以在SSD中执行的任意命令,包括存储命令和刷新命令。
    在典型的闪存存储器中,数据以页为单位写到存储器设备28,但是擦除被 应用到整个存储器块。数据只被写到已擦除的页中,因此不可能就地更新数据。更新数据包括将更新后的数据写到闪存存储器中的另一个物理存储位置,将之前的数据版本标记为失效,并动态更新将数据的逻辑地址翻译为存储数据的物理存储位置的逻辑到物理地址映射。
    由于闪存存储器的这些特性,存储器设备28的存储器块渐渐地累积失效数据页,其更新的版本已经存储在其他的物理存储位置。为了减少失效页的数量,SSD控制器36的处理器48执行压缩,或“垃圾收集”过程。这一背景过程选择用于压缩的一个或多个存储器块(被称为源块),将有效数据从所选的源块拷贝到一个或多个其他块(被称为目标块)中的其他存储位置,然后擦除源块。所擦除的块然后为随后的编程做好准备。压缩过程保证在任何给定的时间,预定数量的存储器块被擦除并可用于新的编程。这些存储器块此处被称为空闲块。
    可以理解的是,压缩过程包括大量的拷贝操作,其以写来自主机的新数据的编程操作为代价?;痪浠八?,压缩过程的拷贝操作以及新数据的编程操作对于SSD中的同一处理资源进行竞争。
    在一些实施例中,处理器48调节编程和压缩操作的速率以便维持期望的空闲块数量。在示例实施例中,当空闲块的数量低于预定义阈值时,处理器48暂停任意新的编程操作,并且只执行压缩操作。由于压缩操作增加空闲块的数量,空闲块的数量很快超过预定义阈值,并且处理器48允许新的编程操作进行。
    更一般而言,处理器48可使用两个或更多个用于定义空闲存储器块的数量范围的预定义阈值。在每个范围内,处理器48限制每个压缩操作的编程操作数量为特定编程-压缩比率。(术语“编程-压缩比率”一般指的是编程和拷贝的可比较数据大小。例如,比率可被定义为:

    通常,当空闲块的数量减少时,对于每个压缩操作,处理器48允许更少的编程操作,反之亦然。下面的表格给出了五个范围(四个阈值)以及相应的编程-压缩比率的示例配置:
    范围索引空闲块的数量(N)编程-压缩操作比率I-只编程N>20只编程II15<N≤203:1III10<N≤151:1IV5<N≤101:3V-只压缩N≤5只压缩
    表1:示例编程-压缩比率
    在表1的配置中,当空闲块的数量(N)是五或者更低时,处理器停止所有新的编程并只允许压缩。在另一个极端,当空闲块的数量超过20时,处理器48停止压缩并只执行编程。在N的中间值,处理器48应用中间的编程-压缩比率。
    考虑处理器48使用表1的配置并执行一些随机(即,非连续)写操作的示例情形。当空闲块的数量降低到最低阈值之下时,主机24发布刷新命令。在这个点,处理器48不允许新的存储命令,而缓冲器32中的数据不能被提交给存储器设备28,直到空闲块的数量上升到“只压缩”阈值之上。在这个情形下,主机将典型地必须等待一个长时间段到压缩过程结束。只在那时刷新命令实际将缓冲的数据传送到非易失性存储器并随后确认。所公开的技术克服了这个和其他有问题的情形。
    在一些实施例中,对于给定数量的空闲块,当执行存储命令时,处理器48执行更小的编程-压缩比率,而当执行刷新命令时,执行更大的编程-压缩比率。通过在刷新命令执行期间对于每个压缩操作允许更多的编程操作,处理器能够更快速的将缓冲的数据从缓冲器32传送到闪存设备28。结果,刷新命令的阻塞时间大大减少了。
    没有这个机制,阻塞时间可达到大约500ms,而在一些情况下,其高达几秒。当使用所公开的机制时,阻塞时间可被减少到大约10ms。这些数据仅仅作为例子给出,可在备选实施例中实现各种其他阻塞时间。
    在一些实施例中,在存储命令执执期间,处理器48限制每个压缩操作的编程操作数量为特定比率,但在刷新命令执行期间允许超过该比率。在一些实施例中,在刷新命令执行期间,处理器48强制实施比存储命令执行期间使用的比 率更大的编程压缩比率。
    当使用诸如上面的表1中的多个阈值时,处理器48强制实施两种不同的配置——一个配置用在存储命令执行期间而另一个配置用在刷新命令执行期间。对于给定数量的空闲存储器块,在刷新命令执行期间应用的编程-压缩比率大于在存储命令执行期间应用的比率。
    在一个示例实施例中,处理器48在存储命令执行期间强制实施上面的表1中的配置,而在刷新命令执行期间执行下面的表2中的配置。
    范围索引空闲块的数量(N)编程-压缩操作比率IN>20只编程II15<N≤20只编程III10<N≤15只编程IV5<N≤10只编程V2<N≤5只编程VI-只压缩N≤2只压缩
    表2:在刷新命令执行期间的示例编程-压缩比率
    表2中的例子假设写缓冲器32的大小小于三个存储器块。当刷新命令完成并被确认时,对于后续的存储命令处理器48回复到上面的表1。上面的表1和表2的配置仅仅通过例子的方式示出。在备选实施例中,可使用任何其他适当的编程-压缩比率的配置。
    在一些实施例中,处理器48在非易失性存储器设备28中分配一个或多个空闲存储器块的池,专门用于存储在刷新命令期间从缓冲器32传送来的数据。当执行刷新命令时,处理器48将数据从缓冲器32拷贝到这些专门分配的块。处理器可随后将数据从专门分配的块传送到设备28中备选的存储位置,使得块的池再次可用于下一个刷新命令。这一机制提高了刷新命令执行的速度。
    在一些实施例中,处理器48通过使用低延迟存储配置将数据存储在专门分配的块中来进一步加速刷新命令执行。例如,处理器可使用多层单元(MLC)配置,即,以每个存储器单元多个比特的存储密度来存储普通数据。然而,当将数据从缓冲器32传送到专门分配的块的池时,处理器可使用单层单元(SLC) 配置,即,以每个存储器单元一个比特的存储密度来存储数据。
    由于SLC存储大大快于MLC存储,这个技术大大减少了刷新命令的执行时间。通常,处理器48随后将数据从块的池传送到备选的存储位置,并使用MLC存储数据。
    图2是示意性图示根据本发明一个实施例的用于快速执行刷新命令的方法的流程图。该方法开始于在池分配步骤60,SSD控制器36的处理器48在非易失性存储器设备28中分配空闲存储器块的池以供在刷新命令期间使用。
    在规则定义步骤64,处理器48定义第一和第二存储规则,其分别在存储命令执行期间和刷新命令执行期间应用。第一规规则指定在存储命令执行期间使用的一个或多个编程-压缩比率(例如,上面的表1)。第二规则指定在刷新命令执行期间使用的一个或多个编程-压缩比率(例如,上面的表2)。对于给定数量的空闲存储器块,由第二规则指定的编程-压缩比率大于由第一规则指定的编程-压缩比率。
    在命令输入步骤68,处理器48从主机24接收要在SSD中执行的命令。在检查步骤72,处理器48检查该命令是否包括存储命令或刷新命令。在第一规则应用步骤76,如果该命令包括存储命令,处理器48应用第一存储规则。在第二规则应用步骤80,如果该命令包括刷新命令,处理器48应用第二存储规则。
    在执行步骤84,处理器48按照适用的第一或第二规则执行接收到的命令。该方法然后循环回到上面的步骤68来处理下一个主机命令。
    可以理解的是上面描述的实施例作为例子引用,本发明不限于在上文中详细示出和描述的内容。而是,本发明的范围包括在上文中描述的各种特征的组合和子组合,以及本领域技术人员在阅读了前面的描述会想到而没有在现有技术中公开的变形和修改。在本专利申请中通过引用合并的文档将被视为该申请的组成部分,除了就在这些合并的文档中以与在本说明书中明确或暗示地做出的定义相矛盾的方式定义任何术语的方面而言,只应当考虑在本说明书中的定义之外。

    关 键 词:
    使用 自适应 压缩 比率 快速 执行 刷新 命令
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:使用自适应压缩比率快速执行刷新命令.pdf
    链接地址://www.4mum.com.cn/p-5779475.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    co[email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03