具有嵌入有控制模块的固态存储器的混合存储系统的制作方法

文档序号:6424208阅读:111来源:国知局
专利名称:具有嵌入有控制模块的固态存储器的混合存储系统的制作方法
技术领域
本发明涉及非易失性存储器存储系统,并且更具体地涉及硬盘驱动器和固态驱动
ο
背景技术
在此提供的背景技术描述是为了一般性地呈现本公开的上下文的目的。就在此背景技术部分中所描述的程度上的当前提名发明人的工作以及在提交时不作为现有技术的描述方面,都不被明示或者暗示地承认其为本公开的现有技术。硬盘驱动器(HDD)可以包括HDD控制模块(或者HDD片上系统(SOC)控制器),其具有主机接口和硬盘组件(HDA)接口。HDD控制模块基于从主机接口接收的读和/或写命令信号而在主机接口与HDA接口之间传送数据。主机接口例如可以与计算机连接。HDA包括一个或多个圆盘(即,盘),其具有用于磁性地存储数据的磁面。至少一个读写头(下文称为“头”)从盘的磁面读取数据,并且在盘的磁面上写数据。该头安装在致动器臂上,并且由致动器(例如,音圈电动机(voice coil motor, VCM))将该头相对于盘移动。HDD控制模块可以包括主机接口控制模块、缓冲区管理模块和盘访问控制模块。主机接口控制模块从主机接收读/写命令信号,并且控制主机接口与缓冲区管理模块之间的数据传送。缓冲区管理模块将从主机接口接收的数据在存储到盘上之前存储在缓冲区中。 缓冲区管理模块还在将从盘接收的数据经由主机接口向主机传输之前,对其进行存储。盘访问控制模块控制缓冲区管理模块与HDA之间的数据传送。固态驱动器(SSD)可以包括SSD控制模块(或者SSD片上系统(SOC)控制器),其具有主机接口和固态存储器(SSM)接口。SSD控制模块基于从主机接口接收的读和/或写命令信号,经由SSM接口在主机接口与SSM之间传送数据。主机接口例如可以与计算机连接。SSM例如可以包括两个或更多个分立的SSM芯片。SSM芯片具有与SSM接口通信的相应接口。SSM接口可能包括几百个输入和输出(I/O)端。SSD控制模块包括主机接口控制模块、缓冲区管理模块和SSM控制模块。主机接口控制模块从主机接收读/写命令信号,并且控制主机接口与缓冲区管理模块之间的数据传送。缓冲区管理模块在将从主机接口接收的数据存储在SSM中之前,将其存储在缓冲区中。缓冲区管理模块还在经由主机接口将从SSM接收的数据向主机传输之前,对其进行存储。SSM控制模块包括用于控制对SSM的存储器单元的访问的固件。SSM控制模块控制例如SSM的读、写和擦除操作。HDD相比于SSD具有关联的优点。HDD通常比SSD具有更大的容量。而且,针对 HDD的存储的每兆字节(MB)的成本通常小于针对SDD的存储的每MB的成本。由于SDD在 SSM控制模块与SSM之间具有几百个I/O端,所以SSM控制模块相对于HDD控制模块可能是复杂且昂贵的。SSM控制模块可能包括复杂的固件来控制去往和来自SSM的数据传送。SSD相比于HDD具有关联的优点。HDD具有机械组件,诸如电动机主轴、读/写头等。相反,SSD不具有机械移动部分,并且由此不具有相关联的机械组件故障风险。另外, HDD的寻道时间(访问目标存储器位置的时间)比SSD慢。HDD需要伺服盘上的读/写头来访问盘上的目标轨道。相反,可以直接访问SSD中的存储器单元,而不需要伺服读/写头, 这降低了寻道时间并且增加了每秒的I/O操作(IOP)。

发明内容
提供了一种混合控制模块,包括主机接口控制模块,其配置用于传送去往和来自主机接口的数据。第一嵌入式多媒体卡(eMMC)接口,其配置用于(i)与嵌入有控制模块的固态存储器(SSM)的第二 eMMC接口相连接;以及(ii)在混合控制模块与嵌入有控制模块的SSM之间传送数据。缓冲区管理模块(i)与主机接口控制模块、第一 eMMC接口和盘访问控制模块通信;以及(ii)配置用于在易失性存储器中缓冲数据。由缓冲区管理模块接收来自主机接口控制模块、第一 eMMC接口或者盘访问控制模块中至少一个的数据。根据详细描述、权利要求和附图,本公开的其他应用领域将变得易见。详细描述和特定示例旨在仅用于示意的目的,而并不旨在限制本公开的范围。


根据详细描述和附图,本公开将得到更加全面的理解,在附图中图1是根据本公开的混合存储系统的功能框图;图2是图1的混合存储系统的功能框图,其示出了混合控制模块和嵌入有控制模块的固态存储器的实现;以及图3示出了根据本公开操作混合存储系统的方法。
具体实施例方式以下描述事实上仅是示意性的,并且不旨在以任何方式限制本公开、其应用或者使用。为了清楚的目的,在附图中将使用相同的参考数字来标识类似的元件。如在此使用的,短语“A、B和C中的至少一个”应当被理解为意思是逻辑(A或B或C),使用非排他性的逻辑OR。应当理解,方法中的步骤可以按照不同的顺序执行,而不改变本公开的原理。如在此使用的,术语模块可以指以下各项的一部分或者包括以下各项专用集成电路(ASIC);电子电路;组合式逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器 (共享、专用或者群组);提供所描述功能性的其他适合组件;或者诸如片上系统上的以上某些或者全部的组合。术语模块可以包括存储由处理器执行的代码的存储器(共享、专用或者群组)。以上使用的术语代码可以包括软件、固件和/或微码,并且可以涉及程序、例程、功能、类和/或对象。以上使用的术语共享意味着来自多个模块的一些或者全部代码可以使用单个(共享)处理器来执行。另外,来自多个模块的一些或者全部代码可以由单个(共享)存储器存储。以上使用的术语群组意味着来自单个模块的一些或者全部代码可以使用处理器的群组来执行。另外,来自单个模块的一些或者全部代码可以使用存储器群组来存储。在此描述的装置和方法可以由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括处理器可执行指令,其存储在非瞬态有形计算机可读介质上。计算机程序还可以包括所存储的数据。非瞬态有形计算机可读介质的非限制性示例是非易失性存储器、磁存储和光存储。在以下描述中,各种术语用于描述组件之间的物理关系。当第一元件称为在第二元件“之上”或者与第二元件“接合”、“连接”或者“耦合”时,第一元件可以直接在第二元件之上,或者与第二元件直接接合、连接、安置、应用或者耦合,或者可以存在中间元件。相反,当元件称为“直接在另一元件之上”,或者与另一元件“直接接合”、“直接连接”或者“直接耦合”时,可以不存在中间元件。用于描述元件之间关系的其他词语应当以类似的方式进行解释(例如,“之间”与“直接之间”、“相邻”与“直接相邻”等)在图1中,示出了混合存储系统(或者混合存储驱动器)10。混合存储系统10包括混合控制模块12、嵌入有控制模块的固态存储器(SSM) 14(或者嵌入有控制模块的SSM 14)和硬盘组件(HDA) 16。混合控制模块12和嵌入有控制模块的SSM 14可以安装在混合印刷电路板(PCB) 18上。混合PCB 18可以与HDA 16连接和/或安装在其上,诸如安装在 HDA 16的机箱(未示出)上。混合控制模块12可以是片上系统(SOC),并且在以下元件之间传送数据主机 (未示出)与嵌入有控制模块的SSM 14 ;主机与HDA 16 ;和/或嵌入有控制模块的SSM 14 与HDA 16。混合控制模块12可以经由主机接口 20与主机通信。主机可以是计算机、电视、 显示器、蜂窝电话、个人数字助理等。主机接口 20可以是串行高级技术附件(SATA)接口、 通用串行总线(USB)接口、集成驱动电子设备(IDE)接口(或者并行高级技术附件(ATA) 接口)、光纤信道接口等。混合控制模块12包括主机接口控制模块22、缓冲区管理模块M、嵌入式多媒体卡 (eMMC)接口模块沈、盘访问控制模块观和处理器30。主机接口控制模块22可以连接在主机接口 20与缓冲区管理模块M之间。主机接口控制模块22可以将数据信号与主机可接受的数据格式进行相互转换。缓冲区管理模块M可以连接在主机接口控制模块22与eMMC接口模块沈之间。 缓冲区管理模块M可以从主机接收将要存储在嵌入有控制模块的SSM 14和/或HDA 16 中的数据。缓冲区管理模块M还可以向主机传输从嵌入有控制模块的SSM14和/或HDA 16访问的数据。缓冲区管理模块M可以控制混合存储系统10的操作,包括去往和来自主机接口 20、嵌入有控制模块的SSM 14、HDA 16和易失性存储器32的数据的传送、调度和存储。该控制可以基于主机与混合存储系统10之间和/或混合控制模块12与嵌入有控制模块的SSM 14之间传送的命令和状态信息。可以向处理器30提供命令和状态信息。处理器30可以处理数据,包括将数据存储在嵌入有控制模块的SSM 14和/或HDA 16之前和/或之后的编码、解码、过滤和/或格式化。处理可以基于命令和/或状态信息。处理器30可以具有在混合PCB 18上的专用非易失性存储器34。非易失性存储器34可以存储操作系统,其用于启动混合存储系统10。操作系统的部分和/或副本可以存储在嵌入有控制模块的SSM 14的SSM中(SSM在图2中示出)。SSM还可以高速缓存HDA 16中频繁访问的数据,以用于更快访问。缓冲区管理模块M可以控制(i)去往和来自嵌入有控制模块的SSM 14和HDA 16的数据的存储和访问;以及(ii)嵌入有控制模块的SSM 14与HDA 16之间的数据传送。 该控制可以与接收自主机的控制信号独立。换言之,混合存储系统10可以作为相对于主机的单个存储器件来执行,并且访问嵌入有控制模块的SSM 14和HDA16,而不需要来自主机的、指示要访问嵌入有控制模块的SSM 14和HDA 16中的哪一个的指令或者命令。例如,缓冲区管理模块M可以接收自主机的用于特定数据的第一逻辑块地址 (LBA)。缓冲区管理模块M继而可以将第一 LBA转换为与嵌入有控制模块的SSM 14相关联的第二 LBA。缓冲区管理模块M还可以或者备选地将第一 LBA转换为与HDA 16相关联的第三LBA或者物理块地址(PBA)中的一个。可以向eMMC接口模块沈提供第二 LBA。可以向盘访问控制模块观提供第三LBA或者PBA。嵌入有控制模块的SSM 14和HDA 16的选择以及去往和来自嵌入有控制模块的SSM 14和HDA 16的数据的存储、访问和传送可以基于各种参数。参数例如可以包括数据的使用频率;嵌入有控制模块的SSM 14和HDA 16的总存储容量;嵌入有控制模块的SSM 14和HDA 16的当前剩余存储容量;数据的最后使用日期和/或时间(时间戳),嵌入有控制模块的SSM 14和HDA 16的状态等。可以将最近访问和最频繁访问的数据存储在嵌入有控制模块的SSM 14而不是HDA 16中。缓冲区管理模块M还控制以下各项之间的数据的缓冲主机与嵌入有控制模块的SSM 14;主机与HDA 16 ;和/或嵌入有控制模块的SSM 14与HDA 16。缓冲区管理模块 M可以将接收自主机、嵌入有控制模块的SSM 14和/或HDA 16的数据暂时存储在易失性存储器32中。数据可以存储在易失性存储器32中,直到被分别转发至主机、嵌入有控制模块的SSM 14和/或HDA 16。易失性存储器32用于防止在以下各项之间传送数据时的瓶颈主机与嵌入有控制模块的SSM 14 ;主机与HDA 16 ;和/或嵌入有控制模块的SSM 14与 HDA 16。易失性存储器32例如可以包括双倍数据速率(DDR)存储器和/或DDR同步动态随机访问存储器(DDR SDRAM)。eMMC接口模块沈在缓冲区管理模块M与嵌入有控制模块的SSM 14之间传送命令、状态信息和数据信息。eMMC接口模块沈配置用于向嵌入有控制模块的SSM 14传输各种接口信号以及从嵌入有控制模块的SSM 14接收各种接口信号。接口信号可以通过eMMC 接口总线36和/或eMMC接口模块沈与嵌入有控制模块的SSM 14之间的相应信号线来传输。eMMC接口总线36可以与eMMC接口模块沈和嵌入有控制模块的SSM 14直接连接。接口信号例如可以包括时钟信号、初始化和命令传送信号、硬件复位信号、数据信号、功率信号(或者电压参考或者供电信号)等。eMMC接口模块沈可以包括用于根据eMMC 标准来处理接口信号的实时传送的逻辑。术语“实时”是指传送处理发生的实际时间具有可忽略的延迟。一种示例eMMC标准是JEDEC固态技术协会(之前称为电子装置工程联合委员会)的“嵌入式多媒体卡(eMMC)产品标准V4.41”,其具有公开号JESD84-A441。在此出于非限制性的、示意性的目的对eMMC接口模块沈进行描述。基于在此提供的公开和教导,应当理解,使用具有低管脚数的通信/总线协议的其他类型的接口模块可以代理eMMC 接口模块沈来使用-例如,可以使用符合通用闪速存储(UFS)标准、具有低管脚数的其他移动存储接口标准的接口模块以及其他低功率串行化器/解串行化器(SERDEQ接口。如果管脚数小于结合串行ATA协议使用的管脚数,则认为管脚数较低。通过使用eMMC接口模块沈或者具有低管脚数的其他接口模块,可以实现成本和功率的缩减。嵌入有控制模块的SSM 14可以是系统级封装(SIP),并且可以包括各种模块和存储器,如图2所示。作为一个示例,嵌入有控制模块的SSM 14可以是具有闪速存储器(诸如NAND和/或NOR类型存储器)的eMMC。嵌入有控制模块的SSM 14可以在存储和/或访问嵌入有控制模块的SSM 14的存储器单元之前,将第二 LBA转换为PBA。eMMC接口模块 26和嵌入有控制模块的SSM 14在下文结合图2进一步描述。盘访问控制模块28控制对HDA 16的访问。盘访问控制模块28可以在将数据存储到HDA 16中和/或访问HDA 16之前,将第三LBA转换为PBA。HDA 16包括一个或多个圆盘(即,盘)40,其具有用于磁性地存储数据的磁面。数据可以按照连续媒体格式或者位组成(bit-patterned)格式存储在盘40上。在图2中,示出了混合存储系统10,其示出了混合控制模块12和嵌入有控制模块的SSM 14的实现。混合存储系统10包括混合PCB18和HDA 16。混合PCB 18包括混合控制模块12和嵌入有控制模块的SSM 14。混合控制模块12包括主机接口控制模块22、缓冲区管理模块24、eMMC接口模块 26 (下文称为“第一 eMMC接口模块沈”)、盘访问控制模块28、具有第一随机访问存储器 (RAM) 50的处理器30、易失性存储器32和非易失性存储器34。缓冲区管理模块M控制以下各项之间的数据传送主机与嵌入有控制模块的SSM 14;主机与HDA 16;以及嵌入有控制模块的SSM 14与HDA 16,如上所述。缓冲区管理模块M和/或第一 eMMC接口模块沈可以包括和/或访问数据传送软件(例如,数据传送固件)。数据传送软件可以用于控制第一 eMMC接口模块沈与嵌入有控制模块的SSM 14的第二 eMMC接口模块52之间的信道上的数据传送。第一 eMMC接口模块洸可以包括和/或连接至第一 eMMC接口 M。第一 eMMC接口 M例如可以包括6-12个输入和输出(I/O)端(或者管脚),共同标记为56。I/O端56可以包括时钟端、数据端、控制端、硬件复位端和/或功率端(例如,供电和参考端)。在一个实现中,第一 eMMC接口 M包括10个I/O端,其具有时钟端、8个数据端(或者位端)以及控制端。I/O端56可以共同称为eMMC接口总线。如上所述,可以使用具有低管脚数的其他类型的接口模块来代替第一 eMMC接口模块沈;由此,基于在此提供的公开和教导,可以使用其他类型的兼容接口来代替第一 eMMC接口 M。在图2中,在第一 e匪C接口 54与第二 eMMC接口模块52的第二 e匪C接口 57之间示出了 10个信号线。第一信号线可以从混合控制模块12向嵌入有控制模块的SSM 14 传送时钟信号CLK,以用于同步目的。时钟信号CLK可以由混合控制模块12的时钟生成模块58生成。时钟生成模块58以及时钟信号CLK的频率和占空比可以由处理器30来控制。 时钟信号CLK可以是双倍数据速率时钟信号。双倍数据速率时钟信号是指每个时钟周期每个数据线传送2个比特。例如,当包括8个数据线时,16比特的数据或者2个字节的数据可以在单个时钟周期中传送。eMMC接口 54、57之间的其他9个信号线59可以包括控制线和8个数据线。如上所述,可以使用具有低管脚数的其他接口模块和接口来代替第一 eMMC接口模块沈和第一 eMMC接口 M ;类似地,基于在此提供的公开和教导,也可以使用具有低管脚数的其他兼容接口模块和接口来代替第二 eMMC接口模块52和第二 eMMC接口 57,以保证接口兼容性。eMMC接口 54、57的速度可以大约是100-200兆字节每秒(MB/s)。作为一个示例, 时钟信号CLK可以设置为52兆赫(MHz)的频率,并且eMMC接口 54、57的速度可以是104MB/ S。作为另一示例,时钟信号CLK可以设置为频率是100MHz,并且eMMC接口 54、57的速度可以是200MB/S。速度可以基于时钟信号CLK来设置。时钟信号CLK的频率可以由处理器30 来调节。盘访问控制模块观控制对HDA 16的元件的访问,包括盘40、主轴电动机60、读写头62(下文称为“头”)、音圈电动机(VCM) 64、前置放大器器件66等。盘访问控制模块观包括主轴和音圈电动机(VCM)模块68、自伺服写(SSW)模块70和读写(读/写)信道模块 72。主轴/VCM模块68控制主轴电动机60的旋转。主轴电动机60旋转盘40。盘40 可以堆叠布置。作为一个示例,缓冲区管理模块M可以生成控制主轴电动机60的速度和致动器臂74的移动的命令。主轴/VCM模块68执行命令,并且生成控制主轴电动机60的速度和致动器臂74的定位的控制信号。基于来自处理器30的伺服和/或定位信息,主轴/ VCM模块68在读/写操作期间在盘40上对头62进行定位。存储在盘40上的伺服保证数据从盘40上的正确位置写入和读取。SSW模块70可以在将数据存储到盘40上之前,使用头62在盘40上写入伺服。读/写信道模块72控制头62所执行的从盘40的磁面的读取以及对其的写入。头 62包括写元件,诸如电感器,其生成磁场;以及读元件,诸如磁阻(MR)元件,其感测盘40 上的磁场。头62安装在致动器臂74的末端。诸如VCM 64的致动器将致动器臂74相对于盘40移动。读/写信道模块72生成访问信号,其在向头62发送之前,由前置放大器器件66 进行放大。前置放大器器件66还可以在将接收自头62的信号向读/写信道模块72发送之前,放大该信号。前置放大器器件66在写入数据时生成写电流,其流过头62的写元件。 写电流用于在盘40的磁面上产生磁场。盘40的磁面在盘40的读取期间,在头62的读元件中感应出低电压模拟信号。前置放大器器件66放大低电压模拟信号,并且向读/写信道模块72输出经放大的模拟信号。读/写信道模块72可以在缓冲区管理模块M与HDA 16 之间以大约200-300MB/S传送数据。在写操作期间,读/写信道模块72可以通过使用纠错码(ECC)(诸如游程长度限制(RLL)码、里德-所罗门码等)对数据进行编码,以增加可靠性。读/写信道模块72继而向前置放大器器件66传输经编码的数据。在读操作期间,读/写信道模块72从前置放大器器件66接收模拟信号。读/写信道模块72将模拟信号转换为数字信号,其被解码以恢复原始数据。嵌入有控制模块的SSM 14包括第二 eMMC接口模块52、缓冲区控制模块80、易失性存储器82、SSM控制模块84和SSM 86。第二 eMMC接口模块52、缓冲区控制模块80、易失性存储器82和SSM控制模块84中的每一个都可以是SOC。SSM 86可以包括一个或多个SOCo第二 eMMC接口模块52可以包括或者连接至第二 eMMC接口 57。第二 eMMC接口 57可以包括与第一 eMMC接口 M相同数目和类型的I/O端。缓冲区控制模块80连接在第二 eMMC接口模块52与SSM控制模块84之间。缓冲区控制模块80缓冲经由第二 eMMC接口模块52从混合控制模块12接收的数据以及经由 SSM控制模块84从SSM 86接收的数据。缓冲区控制模块80将数据暂时存储在嵌入有控制模块的SSM 14的易失性存储区82中。易失性存储器82可以包括诸如DDR存储器和/或 DDR SDRAM存储器的易失性存储器82。缓冲区控制模块80控制存储在SSM 86中的、包括动态和/或静态平均抹写(wear leveling)的数据的映射。动态平均抹写是指使用将LBA从操作系统(0 链接到SSM 86的映射。OS每次写入替代数据时,更新映射,以使得数据的原始(或者先前存储的)物理块被标记为无效数据。新存储区域被链接至替代数据。数据块每次被重新写入SSM时,数据块可以被写入新 (或者不同)位置。静态平均抹写包括使用将LBA链接至物理存储器地址的映射。静态平均抹写类似于动态平均抹写,区别之处在于不改变的静态数据块(很少访问的数据块)被周期性地移除。这允许低使用率的静态数据块的存储器单元可用于其他数据。SSM控制模块84连接在缓冲区控制模块80与SSM 86之间,并且可以包括SSM处理器90和第二 RAM 92(或者非易失性存储器)。第二 RAM 92可以存储用于与SSM 86直接对接的软件(例如,固件)。SSM控制模块84可以包括SSM接口 94,其直接连接至SSM 86。SSM接口 94例如可以是触发器接口或者开放NAND闪速接口(ONFI),并且例如具有大约50-150个I/O端(或者管脚)。I/O端的数目可以基于连接至SSM控制模块84的SSM 86的数量、类型和配置。SSM接口 94或者SSM接口 94的一部分(例如,预定的数据端组) 的速度可以大约是5-20MB/S。 SSM控制模块84控制缓冲区控制模块80与SSM 86之间的数据传送。SSM 86例如可以包括NAND和/或NOR类型的存储器。SSM处理器90可以针对数据存储和访问目的而将接收自混合控制模块12的LBA转换为PBA。SSM处理器90可以在将数据存储在SSM 86中之前和/或之后,对数据进行处理,包括编码、解码、过滤和/或格式化。硬盘驱动器(HDD)通常能够存储大量数据(例如,1-5兆兆字节(TB))。HDD每个 MB存储器件的成本较低。然而,HDD具有相关联的缺点,包括机械移动部分、寻道时间慢(例如,10毫秒(ms))以及每秒的输入输出操作(IOP)数目低。寻道时间包括向堆叠布置的盘的特定轨道的寻道。IOP的数目是指可以多快地访问目标数据。而且,HDD可能只具有一个 I/O端,这限制了 IOP的数目。固态驱动器(SSD)不具有机械移动部分,并且相对于HDD具有高IOP数目。高IOP 数目通过使多个并行信道在相同的周期期间与SSM通信而提供。而且,SSM的存储器单元直接可访问,而不需要如HDD —样向特定轨道寻道。然而,SSD具有相关联的缺点,包括相对于HDD每兆字节存储的成本较高,以及用于控制数据存储以及向和从SSM的访问的固件复杂。SSD还可以包括SSM控制模块与SSM之间的接口,其包括几千个信道或者信号线。由此,SSD的成本可以基于SSM的成本、接口的大小以及控制通过接口传送数据所需要的固件的复杂度。图1和图2的上述实现提供了一种混合存储驱动器,其包括嵌入有控制模块的SSM 和HDA 16。嵌入有控制模块的SSM包括eMMC接口,与SSD的SSM和SSM控制模块之间使用的接口相比,这些接口具有减少数目的信道。这降低了例如与混合控制模块相关联的成本和复杂度。信道数目的减少归因于混合控制模块与eMMC接口对接而不是混合控制模块直接与SSM的一个或多个芯片对接。因为混合控制模块与eMMC接口对接代替了直接与SSM的对接,所以降低了成本和复杂度。由于降低了信道数目,所以用于与eMMC接口对接的混合控制模块的固件的复杂度小于用于直接与SSM对接的固件的复杂度。在所公开的实现中,与直接与SSM对接相关联的固件存储在嵌入有控制模块的SSM上(例如,在SSM控制模块84中)。而且,因为所公开的混合存储驱动器包括满足eMMC标准的嵌入有控制模块的 SSM,所以可以降低混合存储驱动器的成本,同时具有嵌入有控制模块的SSM的高生产率。 而且,在大量生产嵌入有控制模块的SSM的情况下,缩减了混合存储驱动器进入市场的时间。该进入市场的时间可以小于混合控制模块与SSM直接对接的混合存储驱动器的进入市场的时间,在该混合存储驱动器中,混合控制模块包括SSM控制模块。由此,所公开的混合存储驱动器提供了 HDD和SSD的益处,同时提供了 相对于 HDD减少了每MB存储的成本;简化了用于访问具有SSM的封装(例如,SIP)的固件;最小化进入市场的时间;以及简化了混合控制模块架构。这些益处是在向SSM SOC和/或SSMSIP 增加最小成本的情况下提供的。混合存储系统10可以使用多种方法来操作,一种示例方法由图3的方法提供。在图3中,示出了操作混合存储系统10的方法。虽然主要结合图1和图2的实现描述了以下任务,但是可以很容易对任务进行修改以应用于本公开的其他实现。任务可以迭代执行。该方法开始于150。在152,混合控制模块(HCM) 12从主机接收读和/或写(读/写)命令和/或数据。在154,缓冲区管理模块M确定是否接收了数据。当接收了数据时,执行任务156,否则执行任务158。在156,缓冲区管理模块M可以缓冲在易失性存储器32中接收的数据。缓冲区管理模块M可以例如当以下情况时缓冲数据第一 eMMC接口模块沈正在等待第二 eMMC接口模块52接受附加数据;第一 eMMC接口模块沈不能接受附加数据;主机接口控制模块22 与缓冲区管理模块M之间的传送速率匹配或者超过缓冲区管理模块M与第一 eMMC接口控制模块26之间以及缓冲区管理模块M与盘访问控制模块观之间等的组合传送速率。在158,缓冲区管理模块M确定是否访问嵌入有控制模块的SSM 14和/或HDA 16。缓冲区管理模块M选择第一 eMMC接口模块沈和/或盘访问控制模块观来访问嵌入有控制模块的SSM 14和/或HDA 16。在160,缓冲区管理模块M经由第一 eMMC接口模块沈和/或盘访问控制模块28 来访问嵌入有控制模块的SSM 14和/或HDA 16。任务160A、160B、160D和160E仅为了示意性目的而提供,任务160A、160B、160D和160E可以不执行。任务160C和/或160F可以在158处的确定之后并且基于158处的确定而执行。当没有选择嵌入有控制模块的SSM时可以执行任务160B,否则可以执行任务160E。当选择了 HDA 16时可以执行任务160C。当选择了嵌入有控制模块的SSM 14时可以执行任务160F。在160C,当选择了 HDA 16时,不管是否选择嵌入有控制模块的SSM,盘访问控制模块28可以从HDA 16的盘读取和/或向其写入。任务162可以在任务160C之后执行。在160F,当选择了嵌入有控制模块的SSM时,不管是否选择HDA 16,各种eMMC信号可以用于从HCM 12向嵌入有控制模块的SSM 14传输命令和/或数据。eMMC信号可以包括时钟信号 CLK、数据信号、控制信号等。eMMC信号可以用于命令和数据传送目的。当既没有选择HDA 16也没有选择嵌入有控制模块的SSM 14时,该方法可以在160D结束。在160G,缓冲区控制模块80确定嵌入有控制模块的SSM 14是否从HCM 12接收了数据。当接收了数据时,可以执行任务160H,否则,执行任务1601。在160H,缓冲区控制模块80可以在将接收的数据存储在SSM 86中之前,在易失性存储器82中缓冲接收的数据。 缓冲区控制模块80例如可以在缓冲区控制模块80正在等待SSM控制模块84接受附加数据时缓冲数据。例如当缓冲区控制模块80与SSM控制模块84之间的数据传送速率匹配或者超过SSM控制模块84与SSM 86之间的数据传送速率时,SSM控制模块84可能不能接受附加数据。在1601,SSM控制模块80从SSM 86读取和/或向其写入。SSM控制模块84可以基于从HCM 12接收的控制信号而从SSM 86读取和/或向其写入。在160J,缓冲区控制模块80可以确定是否已经从SSM 86读取数据。当已经从SSM 86读取数据时,可以执行任务160K,否则,该方法可以结束于160L。在160K,缓冲区控制模块80可以在易失性存储器82中缓冲从SSM 86读取的数据。例如当SSM控制模块84之间的传送速率匹配和/或超过缓冲区控制模块80与第二 eMMC接口模块52之间的传送速率时,缓冲区控制模块80可以缓冲读取的数据。在160M, 经由接口 54、57从嵌入有控制模块的SSM 14向HCM 12传输读取的数据。在162,缓冲区管理模块M可以确定是否已经从HDA 16读取数据。当已经从HDA 16读取数据时,可以执行任务164,否则,可以执行任务168。在164,从HDA 16和/或从SSM 86读取的数据可以在易失性存储器32中缓冲。 这可能在以下情况下发生第一 eMMC接口模块沈与缓冲区管理模块M之间以及盘访问控制模块观与缓冲区管理模块M之间的组合传送速率匹配或者超过缓冲区管理模块M与主机接口控制模块22之间的传送速率。在166,主机接口控制模块22经由主机接口 20向主机传输从缓冲区管理模块M 读取的数据。可以在任务162、166之后执行任务152,或者该方法可以结束于168,如图所
7J\ ο上述任务仅是示意性的示例;任务可以在重叠的时段期间顺序、同步、同时、连续执行,或者根据应用以不同的顺序执行。本公开的广泛教导可以以多种形式实现。因此,虽然本公开包括特定示例,但是本公开的真实范围不应当限制于此,因为通过阅读附图、说明书和所附权利要求,其他修改将变得易见。
权利要求
1.一种混合控制模块,包括主机接口控制模块,配置用于传送去往和来自主机接口的数据; 第一嵌入式多媒体卡(eMMC)接口,配置用于(i)与嵌入有控制模块的固态存储器 (SSM)的第二 eMMC接口相连接,以及(ii)在所述混合控制模块与所述嵌入有控制模块的 SSM之间传送数据;以及缓冲区管理模块,所述缓冲区管理模块(i)与所述主机接口控制模块、所述第一 eMMC 接口以及盘访问控制模块通信,并且(ii)配置用于在易失性存储器中缓冲数据,其中所述数据由所述缓冲区管理模块从所述主机接口控制模块、所述第一 eMMC接口或者所述盘访问控制模块中的至少一个接收。
2.根据权利要求1所述的混合控制模块,还包括eMMC接口模块,其包括所述第一eMMC 接口,其中所述eMMC接口模块直接连接至(i)所述缓冲区管理模块以及(ii)所述第二 eMMC 接口。
3.根据权利要求1所述的混合控制模块,其中所述第一 eMMC接口包括第一输入和输出端,它们连接至所述第二 eMMC接口的第二输入和输出端;以及所述第一输入和输出端包括时钟端、8个数据位端以及控制端。
4.根据权利要求1所述的混合控制模块,其中所述第一eMMC接口的速度是每秒 100-200兆字节。
5.根据权利要求1所述的混合控制模块,还包括时钟生成模块,其配置用于生成时钟信号,其中所述第一 eMMC接口配置用于(i)向所述第二 eMMC接口传输所述时钟信号;以及 (ii)基于所述时钟信号,传送去往和来自所述第二 eMMC接口的数据。
6.根据权利要求5所述的混合控制模块,其中 所述时钟信号是双倍数据速率时钟信号;以及所述第一 eMMC接口配置用于在所述第二 eMMC接口与所述第一 eMMC接口的每个数据端之间,每个时钟周期传送2比特数据。
7.根据权利要求1所述的混合控制模块,其中所述盘访问控制模块包括主轴和音圈电动机模块,配置用于(i)控制磁性介质的旋转以及(ii)读写头的定位;以及读写信道模块,配置用于在所述缓冲区管理模块与盘之间传送数据。
8.根据权利要求1所述的混合控制模块,其中所述主机接口控制模块配置用于经由主机接口在主机与所述混合控制模块之间传送数据。
9.一种混合存储驱动器,包括 根据权利要求1所述的混合控制模块; 嵌入有控制模块的SSM;以及硬盘驱动器组件,该硬盘驱动器组件(i)与所述混合控制模块通信并且(ii)包括磁性介质。
10.根据权利要求9所述的混合存储驱动器,其中 所述混合控制模块是第一片上系统(SOC);以及所述嵌入有控制模块的SSM是系统级封装。
11.根据权利要求10所述的混合存储驱动器,还包括印刷电路板,所述印刷电路板包括所述混合控制模块,以及所述嵌入有控制模块的SSM。
12.根据权利要求9所述的混合存储驱动器,其中所述嵌入有控制模块的SSM包括 所述第二 eMMC接口,其传送去往和来自所述第一 eMMC接口的数据;缓冲区控制模块,其配置用于(i)缓冲数据,以及(ii)在所述第二 eMMC接口与SSM控制模块之间传送数据;SSM控制模块,配置用于在所述缓冲区控制模块与SSM之间传送数据;以及所述SSM。
13.根据权利要求12所述的混合存储驱动器,其中; 所述缓冲区控制模块是第一片上系统(SOC);所述SSM控制模块是第二 SOC ; 所述SSM包括第三S0C;以及所述嵌入有控制模块的SSM是系统级封装。
14.根据权利要求12所述的混合存储驱动器,其中所述SSM包括NAND类型存储器或者 NOR类型存储器中的至少一个。
15.根据权利要求12所述的混合存储驱动器,其中所述SSM控制模块包括与所述SSM 通信的50-150个输入和输出端。
16.根据权利要求12所述的混合存储驱动器,其中 所述SSM控制模块包括与所述SSM通信的SSM接口;以及所述SSM接口在所述SSM控制模块与所述SSM之间以每秒5-20兆字节传送数据。
全文摘要
公开了具有嵌入有控制模块的固态存储器的混合存储系统。一种混合控制模块,包括主机接口控制模块,其配置用于传送去往和来自主机接口的数据。第一嵌入式多媒体卡(eMMC)接口配置用于(i)与嵌入有控制模块的固态存储器(SSM)的第二eMMC接口相连接,以及(ii)在混合控制模块与嵌入有控制模块的SSM之间传送数据。缓冲区管理模块(i)与主机接口控制模块、第一eMMC接口和盘访问控制模块通信,并且(ii)配置用于在易失性存储器中缓冲数据。由缓冲区管理模块从主机接口控制模块、第一eMMC接口或者盘访问控制模块中的至少一个接收数据。
文档编号G06F3/06GK102411480SQ201110126008
公开日2012年4月11日 申请日期2011年5月10日 优先权日2010年5月11日
发明者S·萨塔德雅, S·霍 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1