存储设备和存储系统的制作方法

文档序号:6354660阅读:289来源:国知局
专利名称:存储设备和存储系统的制作方法
技术领域
本发明涉及诸如存储卡的存储设备和存储系统。
背景技术
存储卡可拆卸地安装在电子装置上并能够存储与电子装置的数据处理相关的数据。例如,当安装在照相机上时,存储卡能够存储由照相机所捕获图像的数据等。作为这种存储卡和电子装置之间的接口,PCI Express是可用的(参照日本专利公开第2006-221453号和美国专利申请公开第2008/(^88798号)。PCI Express通过串行数据通信(serial data communication)以高速传输数据, 并适于对由大量像素组成的图像和运动图像进行数据传输。

发明内容
然而,在PCI Express中,为了实现高速串行数据通信,使用了高频的时钟信号。因此,如果将诸如PCI Express的串行数据通信系统用于接口,功耗可能会变大。例如在由电池驱动的具有存储卡的移动装置中,如果将PCI Express用于接口,可能会对移动装置的连续使用时间和电池寿命造成影响。如上所述,在诸如存储卡的存储设备中要求具有低功耗的接口。根据本发明的第一实施方式,提供一种存储设备,包括通信执行单元,被配置为能够在能进行数据通信的可通信的状态和不能进行数据通信的暂停状态之间控制操作状态;缓冲器,被配置为存储由通信执行单元发送和接收的数据。所述存储设备进一步包括 存储器,被配置为能够存储数据;存储控制器,被配置为在存储器和缓冲器之间执行数据的输入和输出;以及通信控制器,被配置为如果执行数据通信则使通信执行单元进行操作,而如果不执行数据通信则使通信执行单元暂停。通信控制器根据缓冲器的数据处理状态在数据通信中可通信的状态和暂停状态之间切换通信执行单元的操作状态。在根据本发明的第一实施方式的存储设备中,执行数据通信的通信执行单元根据缓冲器的数据处理状态在可通信的状态和暂停状态之间进行切换。切换到暂停状态减小了数据通信中通信执行单元的功耗。根据本发明第二实施方式,提供一种包括执行数据处理的电子装置和可移动地安装在电子装置中并存储与电子装置数据处理相关的数据的存储设备的存储系统。所述存储设备包括通信执行单元,被配置为能够在与电子装置进行数据通信的可通信的状态和不能进行数据通信的暂停状态之间控制操作状态。缓冲器,被配置为存储通过通信执行单元发送到电子装置或从电子装置接收的数据。所述存储设备进一步包括存储器,被配置为能够存储数据;存储控制器,被配置为在存储器和缓冲器之间执行数据的输入和输出;以及通信控制器,被配置为如果执行与电子装置的数据通信则使通信执行单元进行操作,而如果不执行数据通信则使通信执行单元暂停。通信控制器根据缓冲器的数据处理状态在与电子装置的数据通信中在可通信的状态和暂停状态之间切换通信执行单元的操作状态。本发明的实施方式能够实现低功耗接口。


图1是根据本发明实施方式的存储卡的硬件框图;图2是其中使用了图1的存储卡的照相机系统的示意性配置图;图3是PCI Express通信系统的示意图;图4是PCI Express通信协议的示意图;图 5 是 PCI Express 通信数据包(communication packet)的示意图;图6是PCI Express元件的状态转移图;图7是操作状态从LO切换到Ll的通信序列图表的一个实例;图8是操作状态从LO切换到LOs的通信序列图表的一个实例;图9是操作状态从Ll切换到LO的通信序列图表的一个实例;图10是操作状态从LOs切换到LO的通信序列图表的一个实例;图11是涉及根据在写入访问期间缓冲器的状态的操作状态控制的存储空间的示意图;图12是在写入访问期间的状态控制的流程图;图13是示出了写入访问期间在缓冲器中还未处理的写入数据量随时间变化的一个实例的示意图;图14是涉及根据在读取访问期间缓冲器的状态的操作状态控制的存储空间的示意图;图15是在读取访问期间的状态控制的流程图;图16是示出了读取访问期间在缓冲器中还未处理的读取数据量随时间变化的一个实例的示意图;图17是根据第一变形实例的存储卡硬件的框图;以及图18是根据第二变形实例的存储卡硬件的框图。
具体实施例方式下面将参照附图描述本发明的实施方式。描述顺序如下。1.存储卡和照相机设备(主机装置)的配置2. PCI Express 的通信系统3. PCI Express 的电源管理4.由主机装置(Host apparatus,宿主装置)在写入访问期间进行的电源管理5.由主机装置在读取访问期间进行的电源管理[存储卡1和照相机设备2的配置]图1是根据本发明实施方式的存储卡1的硬件级(hardware level)的框图。图1的存储卡1具有卡接口单元(C_I/F)11、控制寄存器(REG) 12、缓冲器 (BUF) 13、存储控制器(M_CTRL)14以及非易失性存储器(NV_MEM)15。存储卡1根据PCI Express标准与电子装置进行通信。
图2是使用图1的存储卡1的照相机系统3的示意性配置图。图2的照相机系统3具有图1的存储卡1和作为主机装置的照相机设备2。图2的照相机设备2具有成像单元(CAM)21、操作单元(KEY)22、显示单元 (DISP) 23、CPU(中央处理单元)24、存储器(MEM) 25、主机接口单元(H_I/F06以及将这些单元相互连接的系统总线27。照相机设备2由电池(BAT) 28驱动。成像单元21具有CMOS(互补金属氧化物半导体)传感器、CXD(电荷耦合设备图像传感器)等。成像单元21生成运动图像或静止图像的图像数据并将包括该图像数据的信号输出至CPU 24。操作单元22具有成像按钮、箭头键等。操作单元22将对应于所操作的键的信号输出至CPU 24。显示单元23具有TFT(薄膜晶体管)显示器、有机EL(电致发光)显示器等。
将视频信号从CPU M输出至显示单元23,使得显示单元23显示视频信号的图像。存储器25存储由CPU 24执行的程序和数据。CPU 24读取存储在存储器25中的程序以执行该程序。从而,以CPU 24实现了照相机设备2的控制器。控制器管理和控制成像单元21、显示单元23、主机接口单元洸等。主机接口单元沈具有符合PCI Express的连接标准的插槽。图1的存储卡1可拆卸地安装在该插槽中。照相机设备2中的CPU 24例如对静止图像或运动图像进行成像并将所得图像的图像数据写入至存储卡1。此时,照相机设备2中的CPU对对存储卡1执行写入访问。CPU M可以以预定数据量为单位对存储卡1执行写入访问。此外,例如,照相机设备2从存储卡1读取图像数据并将图像显示在显示单元23 上。此时,照相机设备2中的CPU对对存储卡1执行读取访问。CPU M可以以预定数据量为单位对存储卡1执行读取访问。图1中的非易失性存储器15是诸如NAND闪存或NOR闪存的非易失性半导体存储
ο非易失性存储器15存储照相机设备2的写入数据等。缓冲器13是诸如SRAM (静态随机访问存储器)或者DRAM (动态随机访问存储器) 的半导体存储器。缓冲器13临时地存储要写入到非易失性存储器15中的写入数据或者从非易失性存储器15读取的读出数据。存储控制器14与非易失性存储器15、缓冲器13和卡接口单元11相连接。当指示通过卡接口单元11存储写入数据时,存储控制器14从缓冲器13读取写入数据并将写入数据存储在非易失性存储器15中。当指示通过卡接口单元11读取数据时,存储控制器14从非易失性存储器15读取指定的读取数据并将读取数据存储在缓冲器13中。对于控制寄存器12,由主机装置经由卡接口单元11写入命令。
卡接口单元11通过符合PCI Express的通信标准的通信系统与主机装置进行通卡接口单元11连接至控制寄存器12、缓冲器13以及存储控制器14。卡接口单元11管理整个存储卡1的处理并执行对应于写入到控制寄存器12的命令的处理。例如,当将写入命令写入到控制寄存器12中时,卡接口单元11将从主机装置所接收的写入数据写入到缓冲器13中。此外,卡接口单元11将指示存储控制器14存储写入数据的信号输出至存储控制器14。此外,例如,当将读取命令写入到控制寄存器12中时,卡接口单元11将指示存储控制器14读出数据的信号输出至存储控制器14。卡接口单元11从缓冲器13读出读取数据以将读取数据输出至主机装置。_[PCI Express 的通信系统]下面将描述基于PCI Express的通信系统。图3示出了通过PCI Express相互通信的第一元件31和第二元件32。例如,第一元件31对应于图1和图2的实例中作为主机装置的照相机设备2。
第二元件32对应于存储卡1的卡接口单元11。将数据和时钟信号输入到第一元件31和第二元件32中。时钟信号可通过时钟生成电路(未示出)产生。第一元件31和第二元件32例如通过两对差动传输线 (differentialtransmission line)(差动信号线对)相互连接。这两对差动信号线称为通路(lane)。在PCI Express中,还可以通过多个通路将两个元件31和32相互连接。例如,在数据从第一元件31传输到第二元件32的过程中,第一元件31经由一个差动传输线对将串行数据的数据包输出至第二元件32。第二元件32从这一个差动传输线对接收数据包以获得数据。第二元件32通过另一差动传输线对将串行数据的数据包输出至第一元件31。时钟信号被添加在串行数据上。图4是在图3的两个元件31和32中实现的用于通过PCI Express传输数据的通信协议的示意图。在图4中,作为在第一元件31中实现的功能,描述了软件层33、处理层 (transaction layer) 34、数据链路层;35、物理层36和机械层37。同样在第二元件32中也实现了软件层33、处理层34、数据链路层35、物理层36和机械层37。图5是在图4的两个元件31和32之间发送/接收的数据包的数据结构的示意图。图5的数据包由成帧字符数据(framing character data) 41、序列号数据42、报头数据43、实际数据(actual data) 44、ECRC数据45、LCRC数据46和成帧字符数据47构成。图4中的软件层33利用由PCI Express进行的数据传输。
例如,软件层33是照相机的拍摄控制器,将所捕获的静止图像或者运动图像写入到存储卡1中。当产生期望进行通信的实际数据44时,软件层33开始进行处理。处理层34通过将报头和ECRC添加到从软件层33输入的实际数据44中以执行打包,从而生成处理层数据包(TLP)。将TLP发送至其它处理层34。已经接收到TLP的其它处理层34通过使用ECRC检测实际数据44中的错误。数据链路层35将序列号数据42和LCRC数据46添加到从处理层34输入的TLP 中,以生成数据链路层数据包(DLLP)。将DLLP发送至其它数据链路层35。其它数据链路层35通过使用LCRC数据46检测TLP中的错误。此外,如果由其它数据链路层35所接收的序列号数据42不是预定的顺序,在检测到TLP中有错误的情况下,数据链路层35使得其他数据链路层35重新发送该序列号数据 42 的 DLLP。物理层36将成帧字符添加到由数据链路层35生成的DLLP中,以生成图5中的物理层数据包(PLP)。将PLP发送给其它物理层36。此外,根据需要,物理层36将诸如有序集合(ordered set)的控制信号发送到其它物理层36/从其它物理层36接收诸如有序集合的控制信号。有序集合的实例包括电气闲置有序集合(electrical idle ordered set)。在使得传输线路电气闲置的情况下,首先,物理层36将电气闲置有序集合发送给其它物理层36。随后,物理层36将用于发送的差动传输线对设置为对应于电气闲置有序集合的状态,以使得传输线路电气闲置。从而,将元件的通信状态设置为暂停状态。例如,物理层36具有多个输入/输出端口(其中各差动传输线对连接至这些输入/输出端口)、各输入/输出端口的模拟缓冲器(analog buffer)、用于8b/10b编解码器 (codec)的 krDes 电路等。SerDes电路将要传输的并行数据转换为串行数据。此外,SerDes电路将所接收的串行数据转换为并行数据。物理层36将由物理层36产生的图5中的物理层数据包、有序集合等发送给其它物理层36。例如,物理层36按顺序从左侧数据开始发送图5中的物理层数据包的数据。从用于发送的差动传输线对作为串行数据信号发送图5中的物理层数据包的数据。机械层37具有连接器(未示出)等。[PCI Express 的电源管理]图6是图3的各元件的操作状态的转移图。PCI Express的元件的操作状态的实例包括LO状态,LOs状态和Ll状态。通过PCI Express相互通信的元件31和32通过主动式电源管理(active state power management, ASPM)切换操作状态。
LO状态是可通信的状态(communication-enabled state),在该状态下能够执行数据通信。LOs状态和Ll状态是等待状态(暂停状态),L1状态相比于LOs状态是更深的暂停状态。在LOs状态中,在元件之间通过通路形成的链路处于电气闲置状态。将时钟信号输入至各元件,SerDes电路的PLL电路等被供给有电源并进行操作。从LOs状态到LO状态的恢复时间例如从几百纳秒到几微秒。在Ll状态中,元件之间的链路处于电气闲置状态。在Ll状态中,电力供给不停止。从Ll状态到LO状态的恢复时间例如从几微秒到几十微秒。在从Ll状态到LO状态的恢复期间,元件从Ll状态变为恢复状态,并且然后从恢复状态恢复到LO状态。[从LO到Ll的切换操作]元件31和32根据数据包接收状态等来控制操作状态。图7是主机装置⑵和存储卡1从LO到Ll的操作状态切换的序列图的一个实例。在从LO到Ll的状态切换过程中,存储卡1的处理层34停止新数据包的发送,并且数据链路层35重复地发送将状态从LO切换到Ll的请求(步骤STl)。当接收到切换请求时,主机装置( 的数据链路层35根据其自身的通信状态发送切换确认应答(ACK)或者否定应答(NAK)(步骤ST2)。此外,如果发送了切换确认应答,处理层34禁止新数据包的发送。如果接收到切换确认应答,存储卡1的数据链路层35停止,并且物理层36发送电气闲置有序集合(步骤ST3)。当接收到电气闲置有序集合时,主机装置O)的物理层36停止通信。此外,物理层36发送电气闲置有序集合(步骤ST4)。从而,两个元件31和32的操作状态从LO切换到Li。在Ll的暂停状态中,物理层36、数据链路层35和处理层34停止。[从LO到LOs的切换操作]图8是主机装置(2)和存储卡1从LO到LOs的操作状态切换的序列图的一个实例。在从LO到LOs的状态切换过程中,存储卡1的物理层36发送电气闲置有序集合 (步骤ST11)并进入暂停状态。当接收到电气闲置有序集合时,作为主机装置( 的元件的物理层36进入暂停状态。在LOs的暂停状态下,仅有物理层36停止。如果出现的闲置周期为几微秒或更长,PCI Express的元件31和32需要从LO状态切换到LOs状态。因此,各元件31和32具有定时器(未示出)并通过该定时器测量闲置周期。相反,在PCI Express的标准中,执行者能够确定用于切换到Ll状态的条件。从而,各元件31和32不需要使用用于切换到Ll状态的定时器。[从Ll到LO的切换操作]
图9是主机装置⑵和存储卡1从Ll到LO的操作状态切换的序列图的一个实例。在从Ll到LO的状态切换的过程中,物理层36撤消电气闲置。在电气闲置撤消之后,一个元件将TSl有序集合以预定的次数发送至另一元件, 并将TS2有序集合以预定的次数发送至另一元件(步骤ST21和ST23)。另一元件也将TSl有序集合以预定的次数发送至该一个元件,并将TS2有序集合以预定的次数发送至该一个元件(步骤ST22和ST24)。具体地,在撤消电气闲置之后,每个元件开始TSl有序集合的发送。每个元件持续发送TSl有序集合直到连续接收到8个TSl有序集合或TS2有序集合。 当连续接收到8个TSl有序集合或TS2有序集合时,将每个元件的操作切换为TS2 有序集合的发送。每个元件持续发送TS2有序集合,直到连续接收到8个TS2有序集合并在一个TS2有序集合的确收之后结束16个TS2有序集合的发送。通过TSl有序集合和TS2有序集合,元件交换COM符号、链路符号、通路符号、用于处理的数据(data for training)等。接下来,当结束TS2有序集合的发送时,一个元件将闲置数据的数据包以预定的次数发送至另一元件(步骤ST25)。闲置数据的数据包通过一个元件的数据链路层35或者处理层34被发送至另一元件的数据链路层35和处理层34。该数据包的所有数据必须是0。当结束TS2有序集合的发送时,另一元件也将闲置数据的数据包以预定的次数发送给一个元件(步骤ST26)。具体地,每个已经结束TS2有序集合发送的元件开始发送闲置数据。每个元件持续发送闲置数据直到连续接收到8个闲置数据并在一个闲置数据的确收之后结束16个闲置数据的发送。从而,两个元件31和32的操作状态通过恢复状态从Ll恢复到LO。[从LOs到LO的切换操作]图10是主机装置(2)和存储卡1从LOs到LO的操作状态切换的序列图的一个实例。在LOs的暂停状态中,仅物理层36停止。在从LOs到LO的状态切换过程中,一个元件的物理层36在从停止状态恢复后,发送预定的有序集合(FTS有序集合和SKP有序集合)。当接收到这些有序集合时,另一元件的物理层36从暂停状态中恢复。[通过主机装置对存储卡1的访问]下面将描述当作为主机装置的照相机设备2对存储卡1进行写入访问或读取访问时存储卡1的操作。在写入访问中,卡接口单元11从主机装置接收数据并将数据写入到缓冲器13中。 存储控制器14从缓冲器13读取数据并将数据写入到非易失性存储器15中。在读取访问中,存储控制器14从非易失性存储器15读取数据并将数据写入到缓冲器13中。卡接口单元11从缓冲器13中读取数据并将数据发送给主机装置。卡接口单元11在写入访问或者读取访问期间进入等待状态(例如Li)。
[由主机装置进行的写入访问期间的电源管理]图11是图1中缓冲器13的存储空间的示意图。如图11所示,对于写入访问中的暂停控制,相对于缓冲器13的整个缓冲容量 (Buf)来设置写入上限阈值(Th_wfull)和写入下限阈值(Th_wemp)。例如,可将写入上限阈值和写入下限阈值存储在非易失性存储器15中。写入上限阈值是启动用来暂停通过卡接口单元11将数据写入到缓冲器13的控制的上限阈值。当缓冲器13中还未处理的写入数据超过该写入上限阈值时,卡接口单元11切换到等待状态(例如Li)。写入下限阈值是启动用来重新开始通过卡接口单元11将数据写入到缓冲器13的控制的下限阈值。当缓冲器13中还未处理的写入数据小于该写入下限阈值时,卡接口单元11从等待状态中恢复。在写入访问中,卡接口单元11监视缓冲器13的剩余存储容量,并根据写入上限阈值和写入下限阈值切换其自身的操作状态。例如,在写入访问中,当缓冲器13中还未处理的写入数据量超过写入上限阈值时,卡接口单元11将其自身的操作状态设置为等待状态(例如LOs)直到还未处理的数据量小于写入下限阈值。图12是在写入访问过程中由图1中的卡接口单元11执行的状态控制的流程图。当通过主机装置将写入命令写入到控制寄存器12时,存储卡1开始对非易失性存储器15进行写入处理。卡接口单元11从主机装置接收打包的写入数据(步骤ST41)。卡接口单元11将所接收的写入数据写入到缓冲器13中。当接收到打包的写入数据时,卡接口单元11确定在这一次写入访问中是否已经完成全部写入数据的接收(步骤ST42)。如果全部写入数据的接收已经完成,卡接口单元11执行控制以将其自身的操作状态从LO状态切换为等待状态(步骤ST43)。例如,在切换到Ll状态的情况下,卡接口单元11与主机装置的元件执行图7的通信处理,并将其自身的操作状态从LO状态切换到Ll状态。在切换到LOs状态的情况下,卡接口单元11与主机装置的元件执行图8的通信处理,并将其自身的操作状态从LO状态切换到LOs状态。其后,处于等待状态的卡接口单元11等待对非易失性存储器15进行的写入操作的结束,并确定写入处理的结束(步骤ST44)。卡接口单元11可在恢复到LO状态之后结束写入处理。如果在步骤ST42中卡接口单元11确定所有写入数据的接收还未完成,卡接口单元11确定缓冲器13中还未处理的写入数据量是否是等于或者大于写入上限阈值(步骤 ST45)。具体地,例如,卡接口单元11读取缓冲器13的空闲空间并从缓冲器13的全部缓冲容量中减去空闲空间,以确定通过减法获得的容量是否是等于或者大于写入上限阈值。
如果缓冲器13中还未处理的写入数据量不等于或者大于写入上限阈值,卡接口单元11进入等待接收下一写入数据的状态(步骤ST41)。如果缓冲器13中还未处理的写入数据量等于或者大于写入上限阈值,卡接口单元11进行控制以将其自身的操作状态从LO状态切换为等待状态(步骤ST46)。例如,在切换到LOs状态的情况下,卡接口单元11与主机装置的元件执行图8的通信处理,并将其自身的操作状态从LO状态切换到LOs状态。在切换到Ll状态的情况下,卡接口单元11与主机装置的元件执行图7的通信处理,并将其自身的操作状态从LO状态转换到Ll状态。其后,卡接口单元11监控缓冲器13。卡接口单元11重复地确定缓冲器13中还未处理的写入数据量是否等于或者小于写入下限阈值(步骤ST47)。如果缓冲器13中还未处理的写入数据量等于或者小于写入下限阈值,卡接口单元11进行控制以将其自身的操作状态从等待状态转换为能够进行通信的LO状态(步骤 ST48)。具体地,卡接口单元11与主机装置的元件执行图9或图10的通信处理,并将其自身的操作状态从等待状态转换为LO状态。如果卡接口单元11返回到能够进行通信的LO状态,其处于等待接收下一写入数据的状态。图13是描述了在图12的控制下缓冲器13中还未处理的写入数据量随时间变化的一个实例的示意图。在图13中,横坐标表示时间,纵坐标表示缓冲器13中还未处理的写入数据量。在图12的控制下,缓冲器13中还未处理的写入数据量在一次写入访问中从写入开始时刻TO的0增加到写入上限阈值。这是由于在卡接口单元11和主机装置之间的通信速度高于通过用于将数据写入到非易失性存储器15的存储控制器14从缓冲器13读取写入数据的速度。通常,将数据写入到闪存的速度不高。如果缓冲器13中还未处理的写入数据量在时刻Tl达到写入上限阈值,在过渡延迟之后卡接口单元11在时刻T2从操作状态(TO)切换为等待状态。甚至在将卡接口单元11切换为等待状态之后,存储控制器14仍将缓冲器13中的写入数据写入到非易失性存储器15中。因此,缓冲器13中还未处理的写入数据量开始减小。此外,切换到等待状态的卡接口单元11监控缓冲器13。如果在时刻T3缓冲器13中还未处理的写入数据量等于或者小于写入下限阈值, 卡接口单元11在返回延迟之后在时刻T4切换为操作状态(LO)。在数据转移延迟之后,转换到操作状态的卡接口单元11在时刻T5重新开始从主机装置接收写入数据,并将数据写入到缓冲器13中。从而,缓冲器13中还未处理的写入数据量又开始增加。以这种方式,卡接口单元11在一次写入访问中在操作状态和等待状态之间进行切换。缓冲器13中还未处理的写入数据量根据写入上限阈值和写入下限阈值上升和下降。因此,缓冲器13不会装满还未处理的写入数据。规定写入上限阈值是由于执行的原因。例如,如果出现执行问题(例如在缓冲器13装满了还未处理的写入数据且停止了来自卡接口单元11的数据转移的时间段内不可能转换为等待状态),则优选地设置写入上限阈值。相反,如果缓冲器13装满还未处理的写入数据的状态没有导致执行问题,则不必一定设置写入上限阈值。存储控制器14在一次写入访问中处理缓冲器13中的写入数据。然而,由于基于写入下限阈值进行控制,不会出现缓冲器13中还未处理的写入数据耗尽的情况。此外,在从等待状态返回到LO状态的时间段内缓冲器13中也不会出现空状态。结果,存储控制器14能够在一个写入访问中连续处理缓冲器13中的写入数据。[由主机装置进行的读取访问期间的电源管理]图14是图1中缓冲器13的存储空间的示意图。如图14所示,对于在读取访问中的暂停控制,相对于缓冲器13的整个缓冲容量 (Buf)设置了读取上限阈值(Th_rfull)和读取下限阈值(Th_remp)。例如,读取上限阈值和读取下限阈值可以存储在非易失性存储器15中。读取下限阈值是启动用来暂停通过卡接口单元11从缓冲器13读取数据的控制的下限阈值。当缓冲器13中还未处理的读取数据量小于该读取下限阈值时,卡接口单元11切换到等待状态(例如Li)。读取上限阈值是启动用来重新开始通过卡接口单元11从缓冲器13读取数据的控制的上限阈值。当缓冲器13中还未处理的读取数据量超过该读取上限阈值时,卡接口单元11从等待状态恢复。在读取访问中,卡接口单元11监控缓冲器13剩余的存储容量,并根据读取上限阈值和读取下限阈值转换其自身的操作状态。例如,在读取访问中,当缓冲器13中还未处理的读取数据量小于读取下限阈值时,卡接口单元11将其自身的操作状态设置为等待状态(例如LOs)直到还未处理的数据量超过读取上限阈值。图15是在读取访问期间由图1中的卡接口单元11执行的状态控制的流程图。在将读取命令通过主机装置写入到控制寄存器12中时,存储卡1开始进行从非易失性存储器15的读取处理。卡接口单元11指示存储控制器14执行读取。存储控制器14从非易失性存储器15中读取数据并将数据写入到缓冲器13中。卡接口单元11确定要转移的剩余数据量是否等于或者大于预定值(Thjemain) (步骤 ST51)。作为该预定值,例如,可以采用大于读取上限阈值的值。
作出相对于该值的确定可以防止死锁状态的发生,其中,在该死锁状态中,尽管仅剩有其量小于读取上限阈值的数据,但卡接口单元11仍等待其量等于或大于读取上限阈值的数据的累计。如果要转移的剩余数据量等于或者大于预定值,卡接口单元11开始转换到等待状态(步骤ST52)。卡接口单元11与主机装置的元件执行图7或者图8的通信处理,并将其自身的操作状态切换为等待状态。其后,卡接口单元11监控缓冲器13。卡接口单元11重复地确定缓冲器13中还未处理的读取数据量是否等于或者大于读取上限阈值(步骤ST53)。如果缓冲器13中还未处理的读取数据量等于或者大于读取上限阈值,卡接口单元11进行控制以将其自身的操作状态从等待状态切换为能够进行通信的LO状态(步骤 ST54)。具体地,卡接口单元11与主机装置的元件执行图9或者图10的通信处理,并将其自身的操作状态从等待状态转换为LO状态。当返回到能够进行通信的LO状态时,卡接口单元11从缓冲器13读出读取数据并将数据发送给主机装置(步骤ST55)。此外,卡接口单元11监控缓冲器13。卡接口单元11确定缓冲器13中还未处理的读取数据量是否等于或者小于读取下限阈值(步骤ST56)。卡接口单元11从缓冲器13读出读取数据并将数据发送给主机装置直到缓冲器13 中还未处理的读取数据量等于或者小于读取下限阈值。如果缓冲器13中还未处理的读取数据量等于或者小于读取下限阈值,卡接口单元11返回到步骤ST51并确定要转移的剩余数据量是否等于或者大于预定值(Th_remain)。如果要转移的剩余数据量等于或者大于预定值,卡接口单元11重复步骤ST52至步骤ST56的处理。如果要转移的剩余数据量已经下降到小于预定值,卡接口单元11继续进行将读取数据转移到主机装置的处理(步骤ST57)。卡接口单元11确定关于请求的全部数据是否已经转移(步骤ST58)。卡接口单元11从缓冲器13读出读取数据并将数据发送给主机装置直到将关于请求的全部数据转移结束。当关于请求的全部数据转移结束时,卡接口单元11结束读取处理。卡接口单元11可在切换到等待状态之后结束读取处理。图16是示出在图15的控制下缓冲器13中还未处理的数据量随时间变化的一个实例的示意图。在图16中,横坐标表示时间,纵坐标表示缓冲器13中还未处理的读取数据量。在图15的控制下,如果要访问和转移的剩余数据量等于或者大于预定值Th_ remain,卡接口单元11进入等待状态。从而,缓冲器13中还未处理的读取数据量从读取开始时刻TlO的0增加到读取上限阈值。这是因为卡接口单元11在读取处理开始的时刻已经由于步骤ST52的处理而变为等待状态。如果缓冲器13中还未处理的读取数据量在时刻Tll达到读取上限阈值,卡接口单元11在返回延迟之后时刻T12从等待状态切换到操作状态(LO)。切换到操作状态的卡接口单元11在数据转移延迟之后时刻T13开始进行读取数据的发送。因此,缓冲器13中还未处理的读取数据开始下降。卡接口单元11在将缓冲器13中的读取数据发送给主机装置的同时监控缓冲器 13。如果在时刻T14缓冲器13中还未处理的数据量等于或者小于读取下限阈值,卡接口单元11在过渡延迟之后时刻T15从操作状态(LO)切换为等待状态。以这种方式,卡接口单元11 一个读取访问中在操作状态和等待状态之间进行切换。缓冲器13中还未处理的读取数据量根据读取上限阈值和读取下限阈值增加和减小。缓冲器13中还未处理的读取数据量不会耗尽,并且也不会装满缓冲器13。在其中缓冲器13为空状态的系统在读取过程中不会导致问题的情况下,没有必要一定设置读取下限阈值。卡接口单元11在每一轮能够进行通信的时间段内处理缓冲器13中的读取数据。由于基于读取下限阈值的控制,不会出现缓冲器13中的还未处理的读取数据被耗尽的情况。因此,缓冲器13在从LO转换到等待状态的时间段内也不会出现空状态。结果,卡接口单元11在每一轮能够进行通信的时间段内连续处理缓冲器13中的读取数据。此外,读取上限阈值的规定能够防止缓冲器13在返回延迟和数据转移延迟的时间段内被完全装满。这能够消除由从等待状态返回到LO并开始数据传输的延迟对存储卡1的读取速度的影响。如上所述,在本实施方式中,如果在通过作为主机装置的照相机设备2进行的写入访问周期内缓冲器13的容量不足,则使卡接口单元11暂停。卡接口单元11在该写入访问周期内间断地进行操作。因此,在该实施方式中,能够降低在写入访问周期内的功耗。此外,由于卡接口单元11基于PCI Express的通信系统(通过该系统来执行高速串行数据通信)进行操作,因此降低功耗的效果很好。此外,卡接口单元11监控缓冲器13的容量。如果还未处理的写入数据量超过写入上限阈值,则卡接口单元11进入暂停状态,而如果还未处理的写入数据量小于写入下限阈值,则卡接口单元11从暂停状态恢复到可通信的状态。S卩,在本实施方式中,尽管在写入访问周期内卡接口单元11间断地进行操作,但在缓冲器13中仍留下了还未处理的数据。因此,在写入访问周期内存储控制器14连续地执行写入处理。从而,在本实施方式中,在对存储设备进行写入的处理中不会降低有效写入速度。作为主机装置的照相机设备2可以通过存储控制器14以由写入处理限制的有效写入速度对非易失性存储器15进行写入访问。相反,例如,可以采用不同于本实施方式的配置,S卩,在该配置中,例如,卡接口单元11不考虑缓冲器13的状态而通过定时器来测量没有通信的时间段并响应于没有通信的时间段的流逝从操作状态切换到等待状态。然而,如果以这种方式使用定时器,则在通过主机装置进行写入访问的时间段内切换到等待状态是非常困难的,因此不能取得降低功耗的显著效果。此外,即使缩短定时器的没有通信的时间段以使得在通过主机装置进行的写入访问时间段内允许转换为等待状态,但在一些情况下,在转换为等待状态之后,缓冲器立即变空,存储控制器14进入等待下一写入数据的状态。在这种情况下,由该等待时间而延长了由存储控制器14进行的写入数据处理结束的时间,从而降低了存储控制器14的有效写入速度。此外,在本实施方式中,卡接口单元11在缓冲器13中的还未处理的读取数据的量在由作为主机装置的照相机设备2进行的读取访问的时间段内较少的状态下暂停。卡接口单元11在该读取访问周期内间断地进行操作。从而,在本实施方式中,能够降低在读取访问周期内的功耗。此外,卡接口单元11监控缓冲器13的容量。如果还未处理的读取数据量超过读取上限阈值,卡接口单元11从暂停状态中恢复,而如果还未处理的读取数据量小于读取下限阈值,卡接口单元11暂停。S卩,在本实施方式中,存储控制器14在卡接口单元暂停的时间段内仍连续地将读取数据写入到缓冲器13中。从而,在本实施方式中,并没有降低从存储卡1进行读取的处理的有效读取速度。作为主机装置的照相机设备2可以通过存储控制器14以由读取处理限制的有效读取速度对缓冲器13进行读取访问。如上所述,在本实施方式中,在与主机装置通过利用PCI Express I/F进行数据发送/接收的存储卡1中,可以降低主机装置访问期间的功耗而不会降低存储卡1的有效读取/写入速度。此外,在本实施方式中,不考虑非易失性存储器15的读取/写入速度的大小,元件可适应于该速度进行操作。具体地,如果使用读取/写入速度较低的非易失性存储器15,则适当地延长PCI Express I/F的等待时间。此外,如果使用读取/写入速度较高的非易失性存储器15,则执行自动调整以缩短等待时间。以这种方式,在本实施方式中,可以适应于非易失性存储器15的读取/写入速度降低功耗。上述实施方式是本发明的优选实施方式的实例。然而,本发明不限于此,在不脱离本发明宗旨的情况下可以进行各种变形或者修改。例如,在上述实施方式中,存储卡1中的卡接口单元11具有与主机装置( 进行通信的元件功能(component function)和基于监控缓冲器13的电源管理功能。作为另一种配置,例如,可以独立于卡接口单元11设置基于缓冲器13的监控的卡接口单元11的通信控制功能,并且卡接口单元11可以仅具有与主机装置进行通信的元件功能。作为再一种配置,例如,卡接口单元11可以包括图17所示的作为嵌入单元的缓冲器13。在图17的情况下,存储控制器14连接至卡接口单元11并访问卡接口单元11中的缓冲器13。可选地,如图18所示,作为嵌入单元的缓冲器13可以包含在存储控制器14中。在图18的情况下,卡接口单元11连接至存储控制器14并访问存储控制器14中的缓冲器13。在上述实施方式中,存储卡具有作为非易失性存储器15的闪存。可选地,例如,存储设备可具有其它的半导体存储器,例如EEPR0M(电可擦除可编程只读存储器)或者RAM(随机存取存储器),或者可具有硬盘驱动器等。上述实施方式是照相机系统3的实例,其中,在该照相机系统中存储卡1由照相机设备2使用。作为另一配置,例如,存储卡1可以由诸如便携式摄像设备、录音设备、个人计算机设备、便携式电话、PDA(个人数字助理)以及导航设备的电子装置使用。上述实施方式是其中采用了使用用于通信的时钟信号的PCI Express用作存储卡 1和主机装置之间的通信接口的实例。作为另一配置,例如,可以采用USB(通用串行总线)接口、无线通信接口或者其它接口用作存储卡1和主机装置之间的通信接口。本申请包括在2010年2月25日向日本专利局提交的日本优先权专利申请 JP2010-040460中披露的主题,其全部内容结合于此作为参考。本领域技术人员可以理解的是,根据设计要求和其他因素,可以进行各种变形、组合、子组合和修改,只要它们落在所附权利要求或其等同替换的范围内。
权利要求
1.一种存储设备,包括通信执行单元,被配置为能够在能进行数据通信的可通信的状态和不能进行数据通信的暂停状态之间控制操作状态;缓冲器,被配置为存储由所述通信执行单元发送和接收的数据; 存储器,被配置为能够存储数据;存储控制器,被配置为执行所述存储器和所述缓冲器之间的数据输入和输出;以及通信控制器,被配置为在执行数据通信的情况下,使得所述通信执行单元进行操作,而在不执行数据通信的情况下,使得所述通信执行单元暂停,其中所述通信控制器根据所述缓冲器的数据处理状态,在数据通信中将所述通信执行单元的操作状态在所述可通信的状态和所述暂停状态之间进行切换。
2.根据权利要求1所述的存储设备,其中所述通信执行单元将在对所述存储设备进行写入访问期间在所述可通信的状态下接收的数据写入到所述缓冲器中,以及在所述写入访问期间,如果所述缓冲器的容量不足,所述通信控制器将所述通信执行单元切换到暂停状态,以在写入访问期间将所述通信执行单元间断地设置为所述可通信的状态。
3.根据权利要求2所述的存储设备,其中如果没有被所述存储控制器处理并存在于所述缓冲器中的还未处理的写入数据的量超过与所述缓冲器的容量相关的预定写入上限阈值,所述通信控制器将所述通信执行单元设置为暂停状态,从而使得所述通信执行单元在所述缓冲器装满还未处理的写入数据之前暂停。
4.根据权利要求3所述的存储设备,其中如果所述通信执行单元暂停,则所述通信控制器监控所述缓冲器,以及如果所述缓冲器中还未处理的写入数据的量变得小于与所述缓冲器的容量相关的预定写入下限阈值,则所述通信控制器将所述通信执行单元设置为所述可通信的状态,从而在所述缓冲器中还未处理的写入数据耗尽之前将所述通信执行单元设置为所述可通信的状态。
5.根据权利要求1所述的存储设备,其中所述通信执行单元在对所述存储设备的读取访问期间在所述可通信的状态下发送通过所述存储控制器写入到所述缓冲器中的读取数据,以及在所述读取访问期间,如果所述缓冲器中还未处理的读取数据的量少,则所述通信控制器将所述通信执行单元切换到暂停状态,从而在所述读取访问期间将所述通信执行单元间断地设置为所述可通信的状态。
6.根据权利要求5所述的存储设备,其中所述通信控制器在所述读取访问期间的开始时将所述通信执行单元设置为暂停状态。
7.根据权利要求6所述的存储设备,其中如果所述通信执行单元暂停,则所述通信控制器监控所述缓冲器,以及如果没有被所述存储控制器处理并存在于所述缓冲器中的还未处理的读取数据的量超过与所述缓冲器的容量相关的预定读取上限阈值,所述通信控制器将所述通信执行单元设置为所述可通信的状态,从而在所述缓冲器装满还未处理的读取数据之前将所述通信执行单元设置为所述可通信的状态。
8.根据权利要求7所述的存储设备,其中在将所述通信执行单元设置为所述可通信的状态的情况下,如果所述缓冲器中还未处理的读取数据的量小于与所述缓冲器容量相关的预定读取下限阈值,则所述通信控制器将所述通信执行单元设置为暂停状态,从而在所述缓冲器中还未处理的读取数据耗尽之前将所述通信执行单元设置为所述暂停状态。
9.根据权利要求8所述的存储设备,其中对于将所述通信执行单元设置为所述暂停状态,所述通信控制器确定剩余的还未处理的读取数据的量是否等于或者大于相当于所述读取上限阈值的所述缓冲器的容量,以及如果剩余的还未处理的读取数据的量等于或者大于所述容量,所述通信控制器将所述通信执行单元设置为所述暂停状态。
10.根据权利要求1所述的存储设备,其中所述通信执行单元在所述可通信的状态下发送和接收串行数据信号,以及所述通信执行单元执行用于从所述可通信的状态切换为所述暂停状态的通信,并且如果所述切换被所述通信允许,则从所述可通信的状态切换到所述暂停状态。
11.一种包括执行数据处理的电子装置和可移动地安装在所述电子装置中并存储与所述电子装置的数据处理相关的数据的存储设备的存储系统,所述存储设备包括通信执行单元,被配置为能够在能与所述电子装置进行数据通信的可通信的状态和不能进行数据通信的暂停状态之间控制操作状态;缓冲器,被配置为存储所述通信执行单元发送给所述电子装置和从所述电子装置接收的数据;存储器,被配置为能够存储数据;存储控制器,被配置为执行所述存储器和所述缓冲器之间的数据输入和输出;以及通信控制器,被配置为如果执行与所述电子装置的数据通信,使得所述通信执行单元进行操作,而如果不执行所述数据通信,则使得所述通信执行单元暂停,其中所述通信控制器根据所述缓冲器的数据处理状态,在与所述电子装置的数据通信中在所述可通信的状态和所述暂停状态之间切换所述通信执行单元的操作状态。
全文摘要
本发明公开了存储设备和存储系统。一种存储设备,包括通信执行单元,被配置为能够在能进行数据通信的可通信的状态和不能进行数据通信的暂停状态之间控制操作状态;缓冲器,被配置为存储由通信执行单元发送和接收的数据;存储器,被配置为能够存储数据;存储控制器,被配置为在存储器和缓冲器之间执行数据的输入和输出;以及通信控制器,被配置为如果执行数据通信则使通信执行单元进行操作,而如果不执行数据通信则使通信执行单元暂停。通信控制器根据缓冲器的数据处理状态在可通信的状态和暂停状态之间切换通信执行单元的操作状态。
文档编号G06F13/16GK102169363SQ20111004096
公开日2011年8月31日 申请日期2011年2月18日 优先权日2010年2月25日
发明者今野环, 小场航也, 福重贵广, 铃木快 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1