固态驱动器体系结构的制作方法

文档序号:9383163阅读:302来源:国知局
固态驱动器体系结构的制作方法
【专利说明】固态驱动器体系结构
[0001]相关申请
本申请根据美国法典第35条119 (e)款要求保护2012年11月20日提交的美国临时申请号61/728,394和2013年3月8日提交的美国临时申请号61/775,327的权益,所述临时申请通过引用整体结合在本文中。
【背景技术】
[0002]计算装置将程序可执行文件和数据保存在非易失性存储器中。这使文件在被重启之后或在电源中断之后可用于计算装置。传统地,用于大文件的优选的非易失性存储已是硬盘驱动器。硬盘驱动器包含马达驱动轴上的旋转刚性盘片。数据通过浮置在盘片之上的气膜的磁头从盘片磁性地读取和被写入到盘片。这些盘片典型地以每分钟4,200?15,000转数(rpm)的速度旋转。硬盘驱动器具有许多劣势,包含与旋转盘和移动磁头的机械性质相关的访问时间、高的功耗、机械故障、和低的抗冲击。
[0003]固态驱动器(SSD)是非易失性存储装置,其使用集成电路来存储数据并且因此不含有移动的部分。SSD具有优于硬盘驱动器的许多优势,包含更高的抗冲击、更低的访问时间、和更可变的形式因子。此外,SSD典型地在操作期间比硬盘驱动器消耗少得多的功率。因此,SSD允许更小、更薄的装置轮廓和电池充电上的更长操作。
【附图说明】
[0004]附图图解在本文中描述的原理的各种示例,并且是说明书的部分。图解的示例仅仅是示例并且不限制权利要求的范围。
[0005]图1是依据在本文中描述的原理的一个示例的说明性固态驱动器体系结构的框图。
[0006]图2是依据在本文中描述的原理的一个示例的闪存存储器模块的框图。
[0007]图3是依据在本文中描述的原理的一个示例的结合在图2中示出的闪存存储器模块的说明性固态驱动器体系结构的框图。
[0008]图4是依据在本文中描述的原理的一个示例的出现在CPU/CPU存储器、DRAM逻辑闪存、以及闪存存储器之间的各种交互和过程的图示。
[0009]图5A示出依据在本文中描述的原理的一个示例的在将数据写入到固态驱动器期间的数据流。
[0010]图5B是依据在本文中描述的原理的一个示例的描述用于将数据写入到固态驱动器的方法的流程图。
[0011]图6A示出依据在本文中描述的原理的一个示例的在将数据从固态驱动器读取到CPU存储器期间的数据流。
[0012]图6B是描述依据在本文中描述的原理的一个示例的用于将数据从固态驱动器读取到CPU存储器的方法的流程图。
[0013]图7是示出依据在本文中描述的原理的一个示例的用于保存系统状态的快照的方法的流程图。
[0014]图8是依据在本文中描述的原理的一个示例的用于从SSD快速加载程序文件到CPU存储器的说明性方法的流程图。
[0015]图9是依据在本文中描述的原理的一个示例的用于数据转储/恢复的方法的流程图。
[0016]图10是依据在本文中描述的原理的一个示例的用于误处理的文件恢复的方法的流程图。
[0017]贯穿附图,同样的参考标记指定类似但不必同样的元素。
【具体实施方式】
[0018]固态驱动器(SSD)是非易失性存储装置,其使用集成电路诸如NAND闪存存储器来存储数据。SSD具有许多优势,诸如高的抗冲击、低功率要求、更快的访问时间、和更可变的形式因子。然而,被用作固态驱动器中的存储器的集成电路具有有限的寿命。NAND闪存的典型规范指定NAND闪存在故障之前仅能够被可靠地使用1000-3000个写入/擦除周期。该寿命限制特别麻烦,因为在当前的体系结构中NAND闪存的块每当该块所含有的数据的任何部分被改变时必须被擦除和重新写入。因此,使用SSD驱动器越频繁,它将出现故障越快。许多操作系统频繁地写入到非易失性存储器。例如,文件存取表(FAT表)每当文件改变时被重新写入。每个FAT表更新包含多个擦除/写入周期。此外,许多操作系统周期地保存计算装置的当前状态的“快照”到非易失性存储器中。虽然这能够有益于恢复计算装置的操作,但是例行地保存大的快照到NAND闪存上能够显著地缩短SSD的寿命。因此,SSD可能无法满足消费者预期并且可能要求频繁的取代。
[0019]下面描述许多原理,其允许闪存存储器被有效地用作非易失性存储,尽管其有限数目的擦除/写入周期。下面描述的固态驱动器(SSD)体系结构通过创建DRAM逻辑闪存来充当闪存存储器之间的中间物并且然后当数据应当被写入到NAND闪存存储器时独立地存取来解决NAND闪存存储器的限制。这显著地改进SSD的操作速度和寿命,并且允许SDD被用作硬盘驱动器的即插即用备选。
[0020]计算装置内的数据使用典型地分成两类:数据的创建/操纵期间的高的使用量以及然后当数据被存档或存储为运行程序时极较低的使用量。说明性SSD分离存储与计算装置的瞬时状态相关的数据的过程和闪存的永久存储能力。
[0021]当计算装置掉电时,由计算装置的易失性存储器存储的数据丢失。下面描述的SSD通过允许在程序或数据文件的开发期间存储数据并且当计算装置掉电时进行保护免于数据丢失来促进数据文件的创建。
[0022]SSD包含管理最优数目的闪存存储器装置的几个闪存接口控制器。在像USB2装置的简单系统中,一个中间控制器能够被用来直接管理闪存。然而,在高速系统中,几个控制器能够被并行操作来更迅速得多地管理数据。下面描述的原理也能够被应用到各种各样的总线和装置技术,包含SATA 3 (每秒500兆字节)、USB 3.0 “超高速”装置,包含USB 3.0固态驱动器和存储装置。USB 3.0规范指定每秒上至4.8吉位的传送速率、增加的最大总线功率和更高效的功率管理。
[0023]在下面的描述中,出于解释的目的,许多特定细节被阐述以便提供对本系统和方法的透彻理解。然而,本设备、系统和方法可以在没有这些特定细节的情况下来实践对本领域技术人员来说将是显而易见的。在说明书中对“示例”或类似语言的引用意味着结合示例描述的特定特征、结构、或特性在至少那一个示例中但不必在其它示例中被包含。
[0024]在下面的几个实例中,描述控制器,该控制器包含至少一个微处理器、只读存储器(ROM)和随机存取存储器(RAM)。微处理器、ROM和RAM—起工作以实施控制器的功能。具有不同控制和/或硬件实施方式的不同微处理器的使用能够被用来实施在本文中描述的原理。
[0025]图1示出包含逻辑闪存和非易失性闪存存储器的固态驱动器的一个实施方式。逻辑闪存包含易失性存储器的片段和独立的控制器。逻辑闪存被配置成实施闪存控制器的所有功能,使得中央处理单元(CPU)当它正在实际读取和写入到逻辑闪存时将认为它正在读取和写入到闪存。逻辑闪存实施闪存存储器的行为,但没有闪存存储器的寿命、速度、或寻址限制。逻辑闪存以与闪存存储器相同的方式来存储文件并且响应于闪存的命令。进一步,逻辑闪存使用FAT表、更新逻辑记录、组合文件、并且被附着到SATA 3总线。因为逻辑闪存的易失性存储器具有实质上无限数目的读/写周期,所以系统处理器和操作系统能够存储与期望一样多的更新和快照。进一步,逻辑闪存在读取和写入数据两者上是极其快速的。CPU从逻辑闪存读取并且专有地写入到逻辑闪存,而写入和读取到闪存存储器由固态驱动器来专有地控制。逻辑闪存的使用允许所有闪存的命令以全接口速度来处理,并且最小化到闪存存储器的写入。这不同于高速缓存,因为高速缓存最终将所有东西写入到闪存存储器,并且仅被实施来增加速度和处理短的读取和写入。
[0026]SSD内的主控制器独立地确定何时数据应当被传送到闪存存储器或从闪存存储器来传送。这显著地减少闪存存储器的写入/擦除周期的数目,因为CPU不直接访问闪存存储器。
[0027]闪存存储器包含许多闪存存储器模块。每个闪存存储器模块包含独立的控制器和许多闪存管芯。通过使用独立控制器,SSD能够并行地执行多个操作。这导致显著更快的读取和写入时间。
[0028]下面段落描述用于开发SSD的各种原理,该SSD结合逻辑闪存和多个控制器。SSD当前每吉字节存储比硬盘驱动器更昂贵。这主要由于被用来存储SSD中的数据的非易失性存储器管芯的成本引起。存储器管芯典型地是闪存存储器,虽然已经提出其它类型的存储器,包含铁电随机存取存储器(FeRAM)、磁阻随机存取存储器(MRAM)、可编程金属化单元(PMC)、相变存储器(PCM)、以及其它技术。非易失性存储器类型中的这些类型中的每个具有优势和劣势。然而,闪存存储器是最成熟的技术并且具有每单位存储容量的最低成本。存在两种主要类型的闪存存储器:N0R类型和NAND类型。NOR和NAND闪存两者都将数据存储在由浮置栅晶体管制成的存储单元中。这些浮置栅晶体管在耗损开始恶化存储的完整性之前具有有限数目的程序擦除周期。例如,NOR闪存存储器可以具有100,000周期的典型耐受等级,并且NAND闪存存储器可以具有1,000至3000周期的典型耐受等级。
[0029]NOR类型闪存存储器允许独立地写入和/或读取单个字节。然而,该随机存取特征使NOR存储器每单位面积不太密集并且每单位存储更昂贵。NAND类型闪存非常高密度并且具有每单位存储的对应更低的成本。然而,在当前芯片体系结构中,NAND类型闪存必须被读取和编程在被称为块的更大片段中。该限制是重要的,因为变更块中的单个位要求块中的整个写入空间的擦除和重新写入。出于解释的目的,NAND类型闪存将被用在固态驱动器体系结构的说明性示例中。然而,在本文中描述的原理能够被应用到各种各样的非易失性存储器类型。
[0030]如上面讨论的,NAND类型闪存是不昂贵并且紧凑的,但具有以下劣势:在耗损开始恶化存储的完整性之前具有有限数目的程序擦除周期。该挑战被以下事实加重:虽然NAND类型闪存能够以位级来读取,但是NAND类型闪存必须以大的片段(“块”)而不是以位级来写入和擦除。因此,当块中的任何位改变时,块中的所有数据必须被拷贝到新的块。在拷贝过程期间,(一个或多个)新的位被结合到存储在新的块上的数据中。旧的块然后被擦除并且被再次使用。许多计算装置上的程序和操作系统频繁地读取和写入到硬盘驱动器,这可能导致NAND闪存的迅速退化。在这些工业标准的操作中,改变块中的甚至一个位要求整个块的拷贝和擦除。在下面的讨论中,描述原理,该原理提供保持块直到它是满的并且仅正更新已经被写入的页面。
[0031]在一些Apple?操作系统中,用户的文件被连续地写入到硬驱动器以允许用户将机器恢复到先前状态。不仅系统恢复到最近状态,而且存在被称为“时间机”的程序,其允许系统被恢复到数月之前的任何先前状态。该程序压缩快照并且允许恢复到天但不是在那天期间的任何时段。然而,快照能够被维持使得恢复到先前几天的特定点是可能的。该时间机特征能够在恢复被误处理或丢失的文件上非常有用。恢复到犯错误之前的时间允许文件和系统状态的完全恢复。
[0032]这些和其它频繁写入操作能够导致闪存存储器的早期故障,因为有限量的写入/擦除周期能够很快地被超过。每个新的写入要求旧的数据拷贝到新的块以添加新的数据。如上面讨论的,NAND存储器中的每个存储器位置仅能够在基本上没有增加故障的可能性情况下被更新大约1,000至3,000次。存在尝试解决该问题的许多算法,诸如向存储器过供给备件和耗损均匀化算法,其试图将耗损均匀地扩展在整个闪存存储器上面而不是将其集中在相同块中。然而,这些技术可能增加成本并且降低固态驱动器的性能。
[0033]下面示例描述各种固态驱动器(SSD)体系结构、方法和原理。这些SSD结合闪存存储器用于非易失性存储,并且被设计成具有比常规SSD长一个数量级的寿命以及以全总线速度操作,而不管闪存存储器的限制。
[0034]说明性闪存存储器模块
图2是说明性闪存存储器模块的图示。如上面讨论的,闪存存储器是非易失性计算机存储,其能够被电擦除和重新编程。如上面讨论的,闪存存储器具有高的抗机械冲击、小的占用空间、可与动态随机存取存储器(RAM)相比的相对快速的读取时间,是能量高效的并且能够在没有功率的情况下存储数据一些年。闪存存储器被用在各种应用(包含个人计算机、移动装置、数字照相机、视频游戏、科学仪器、工业机器人、医学电子设备和其它装置)中。闪存存储器具有几个限制,包含慢的写入时间和有限的寿命。对于闪存存储器而言,写入次数典型地比读取次数大一个数量级。各种类型的闪存存储器的寿命典型地范围从1000到3000个擦除周期。闪存存储器的擦除引起递增的损害,其最终导致闪存存储器中的存储机构的故障。
[0035]在图2中示出的说明性闪存存储器模块包含许多NAND闪存管芯。存储器控制器包含处理器、小量的随机存取存储器(RAM)、小量的只读存储器(R0M)、以及许多存储缓冲器。该存储器控制器的示例由以下给出:Charles 1.Peddle的标题为“High Speed USBControllers”的代理人案号034901-303
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1