存储系统、包括其的计算系统以及操作存储系统的方法

文档序号:10624523阅读:195来源:国知局
存储系统、包括其的计算系统以及操作存储系统的方法
【专利摘要】公开了一种存储系统,包括:半导体存储器件;以及存储控制器,适用于控制半导体存储器件,以及从主机接收用于访问半导体存储器件的第一命令和第二命令,其中第二命令的类型不同于第一命令的类型。当上电时,存储控制器通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作,并且将第一命令准备就绪信号输出至主机。第一启动操作之后,存储控制器通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作,并且将第二命令准备就绪信号输出至主机。
【专利说明】存储系统、包括其的计算系统以及操作存储系统的方法
[0001]相关申请的交叉引用
[0002]本申请要求2015年3月16日提交给韩国知识产权局的申请号为10-2015-0036100的韩国专利申请的优先权,其全部内容通过弓I用合并于此。
技术领域
[0003]本发明涉及一种电子设备,具体而言涉及一种包括半导体存储器件和存储控制器的存储系统、包括存储系统的计算系统以及操作存储系统的方法。
【背景技术】
[0004]半导体存储器件以诸如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等半导体来实现。半导体存储器件一般分为易失性存储器件和非易失性存储器件。
[0005]易失性存储器在没有恒定电源的情况下不能保持数据。易失性存储器件的示例包括静态随机存取存储器(SRAM)、动态RAM(DRAM)和同步DRAM (SDRAM)。另一方面,非易失性存储器件在不需要恒定电源的情况下能够保持其数据。非易失性存储器件的示例包括只读存储器(ROM)、可编程ROM(PROM)、电编程ROM(EPROM)、电擦除可编程ROM(EEPROM)、快闪存储器、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻型RAM(RRAM)和铁电RAM(FRAM)。闪存存储器一般分为NOR型和NAND型。

【发明内容】

[0006]本发明试图提供一种具有改善操作速度的计算系统。
[0007]本发明的示例性实施例提供一种存储系统,包括:半导体存储器件;以及存储控制器,适用于控制半导体存储器件,以及从主机接收用于访问半导体存储器件的第一命令和第二命令,其中第二命令的类型不同于第一命令的类型。当上电时存储控制器通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作,并且将第一命令准备就绪信号输出至主机。进一步,第一启动操作之后存储控制器通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作,并且将第二命令准备就绪信号输出至主机。
[0008]当第一命令准备就绪信号输出之后且第二命令准备就绪信号输出之前从主机接收到第一命令时,存储控制器可以响应于第一命令来执行操作。
[0009]第一命令可以是请求读取储存在半导体存储器件中的数据的读取命令。在这种情况下,存储控制器可以通过从半导体存储器件的第一元区中读取映射数据来配置映射表从而执行第一启动操作,所述映射表代表逻辑块地址与物理块地址之间的映射关系。
[0010]第二命令可以是请求将数据储存在半导体存储器件中的编程命令。存储控制器可以通过从半导体存储器件的第二元区读取元信息来确定在半导体存储器件的编程操作期间是否发生突然掉电从而执行第二启动操作,以及基于确定结果而将被执行编程操作的页处理为无效。
[0011]本发明的另一示例性实施例提供一种包括存储系统的计算系统,所述计算系统包括:存储系统,其包括半导体存储器件;以及主机,适用于传送用于访问半导体存储器件的第一命令和第二命令,其中第二命令的类型不同于第一命令的类型。当上电时存储系统通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作,并且将第一命令准备就绪信号输出至主机。第一启动操作之后,存储系统通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作,并且将第二命令准备就绪信号输出至主机。
[0012]本发明还有另一示例性实施例提供一种操作存储系统的方法,在所述存储系统中存储控制器控制半导体存储器件并且从主机接收第一命令和第二命令,其中第二命令具有不同于第一命令类型的类型,所述方法包括:当上电时通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作;当执行与第一命令对应的操作的准备工作完成时,将第一命令准备就绪信号输出至主机;第一启动操作之后,通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作;以及当执行与第二命令对应的操作的准备工作完成时,将第二命令准备就绪信号输出至主机。
[0013]本发明还有另一示例性实施例提供一种操作存储系统的方法,所述存储系统包括:半导体存储器件;以及存储控制器,适用于:控制半导体存储器件,以及从主机接收用于读取储存在半导体存储器件中的数据的读取命令和用于将数据储存在半导体存储器件中的编程命令。存储控制器通过从半导体存储器件的第一元区中读取映射数据以及将读取命令准备就绪信号输出至主机来配置映射表,所述映射表代表逻辑块地址与物理块地址之间的映射关系。进一步,存储控制器通过在配置映射表之后从半导体存储器件的第二元区中读取元信息来确定在编程操作期间是否发生突然掉电,以及基于确定结果而将被执行编程操作的页处理为无效从而将编程命令准备就绪信号输出至主机。
[0014]根据本发明的示例性实施例,有可能提供一种具有改善操作速度的计算系统。
[0015]前述
【发明内容】
仅是说明性的,无论如何不意在进行限制。除了上述说明性的方面、实施例和特征以外,参照附图和以下详细描述进一步的方面、实施例和特征将变得明显。
【附图说明】
[0016]通过参照附图详细描述其实施例,本发明的以上和其他特征和优点对于本领域技术人员来说将变得更加清楚,在附图中:
[0017]图1是示出根据本发明实施例的计算系统的框图。
[0018]图2是示出第一命令准备就绪信号和第二命令准备就绪信号之间任意一个的格式的示图。
[0019]图3是示出根据本发明示例性实施例的存储控制器的操作方法的流程图。
[0020]图4是示出图1的存储控制器和半导体存储器件的示例性实施例的框图。
[0021]图5是用于描述图4的存储单元阵列内部的存储块的示图。
[0022]图6是示出图1的主机的示例性实施例的框图。
[0023]图7是示出图1的存储控制器的示例性实施例的框图。
[0024]图8是示出根据本发明另一示例性实施例的存储控制器的操作方法的流程图。
【具体实施方式】
[0025]在下文中,将参照附图详细描述本发明的示例性实施例。在以下描述中,应当注意的是,将仅解释对于理解本发明有必要的部分,使得主题不会被混淆。本发明不局限于本文所阐述的示例性实施例,可以以其他形式实现。提供示例性实施例来详细描述本发明,使得本领域技术人员可以容易地实践本发明的技术精神。
[0026]贯穿本说明书和所附权利要求,当描述第一源极“耦接”至另一源极,所述元件可以“直接耦接”至其他元件或通过第三元件“电耦接”至其他元件。贯穿说明书和权利要求,除非明确地相反描述,否则词“包括”及其变化形式将理解为意味着包括状态元件,而非排除任何其他元件。
[0027]图1是示出根据本发明示例性实施例的计算系统50的框图。图2是示出第一命令准备就绪信号RDSl与第二命令准备就绪信号RDS2之间任意一个RDS的格式的示图。
[0028]参照图1,计算系统50包括主机100和存储系统200。主机100包括主机控制器110和主机接口 120。存储系统200包括存储接口 210、存储控制器220和半导体存储器件230。
[0029]主机控制器110经由主机接口 120与存储系统200通信。主机接口 120在主机控制器I1与存储系统200之间提供接口。主机控制器110将数据写入存储系统200,读取储存在存储系统200中的数据。主机控制器110将命令CMD、由主机100内部的时钟发生器(未示出)产生的时钟信号CLK传送至存储系统200。命令CMD可以具有多种类型。作为第一种类型,命令CMD可以是用于读取储存在半导体存储器件230中的数据的读取命令。读取命令可以包括用于指定读取操作的信息和逻辑块地址。作为第二种类型,命令CMD可以是用于将数据储存在半导体存储器件230中的编程命令。编程命令可以包括用于指定编程操作的信息和逻辑块地址。作为第三种类型,命令CMD可以是用于从存储控制器220获得预定信息的命令,例如,包括在图4的存储控制器220中的RAM的存储空间大小。某些类型的命令可以需要逻辑块地址。例如,读取命令和编程命令的每个包括逻辑块地址。
[0030]另外,各种类型的命令可以从主机100提供给存储系统200。
[0031]作为示例性实施例,当主机100将与读取命令对应的命令CMD传送至存储系统200时,数据DATA可以从存储系统200提供给主机100。作为示例性实施例,当主机100将与编程命令对应的命令CMD传送至存储系统200时,数据DATA可以从主机100提供给存储系统200。
[0032]存储控制器220连接在存储接口 210与半导体存储器件230之间。存储控制器220经由存储接口 210与主机100通信。存储控制器220响应于来自主机100的命令CMD来执行操作。例如,当接收到与读取命令对应的命令CMD时,存储控制器220读取储存在半导体存储器件230中的数据,并且将读取数据DATA传送至主机100。在这种情况下,存储控制器220可以将处理结果(即,表示响应于读取命令的操作已完成的响应信号)额外地提供给主机100。例如,当接收到与编程命令对应的命令CMD时,存储控制器220将从主机100接收的数据DATA储存至半导体存储器件230。然后,存储控制器220可以将处理结果(即,表示响应于编程命令的操作已完成的响应信号)提供给主机100。例如,当接收到用于从存储控制器220获取预定信息的命令时,存储控制器220将所需信息提供给主机100。例如,例如,当主机100命令存储系统200执行后台操作时,存储控制器220可以执行后台操作。
[0033]当存储系统200的电源上电时,存储系统200执行启动操作。存储控制器220可以加载储存在半导体存储器件230中的数据,并且基于加载的数据来执行启动操作。当启动操作完成时,存储系统200可以处理从主机100传送的命令。
[0034]根据本发明的示例性实施例,存储控制器220当上电时完成执行与第一类型命令对应的操作的准备工作,并且将第一命令准备就绪信号RDSl传送至主机100。执行与第一类型命令对应的操作的准备工作被限定为第一启动操作。第一类型的命令可以是(例如)用于访问半导体存储器件230的读取命令。然后,存储控制器220完成执行与第二类型(不同于第一类型)命令对应的操作的准备工作,并且将第二命令准备就绪信号RDS2传送至主机100。执行与第二类型命令对应的操作的准备工作被限定为第二启动操作。
[0035]参照图2,命令准备就绪信号RDS包括命令类型信息CMDTP和状态信息STS。命令类型信息CMDTP和状态信息STS中的每个可以配置预定数据位。第一类型命令和第二类型命令中的任意一个可以根据命令类型信息CMDTP而被指定。状态信息STS可以包含关于执行与特定类型命令对应的操作的准备工作是否完成的信息。例如,主机控制器110可以解码命令类型信息CMDTP,并且确定与命令准备就绪信号RDS对应的特定类型的命令。进一步,当状态信息STS表示特定值时,主机控制器110可以确认执行与特定类型命令对应的操作的准备工作完成。
[0036]假设完成执行与所有类型命令对应的操作的准备工作之后存储控制器220将准备就绪信号传送至主机100。主机100可以待机直到接收到准备就绪信号以便将第一类型的命令传送至存储系统200。主机100长时间不可以以第一类型命令来访问存储系统200,直到接收到准备就绪信号。这可能导致计算系统50的操作速度减小。
[0037]根据本发明的示例性实施例,当主机100接收到第一命令准备就绪信号RDSl时,即使没有接收到第二命令准备就绪信号RDS2,主机100也可以传送第一类型命令,并且将相应命令的处理结果接收至存储系统200。因此,上电之后主机100可以在短时间内将第一类型命令传送至存储系统200,以及上电之后在短时间内接收第一类型命令的处理结果。因此,计算系统50的操作速度可以得到改善。
[0038]图3是示出根据本发明示例性实施例的存储控制器200的操作方法的流程图。
[0039]参照图1和图3,在操作SllO中,电源开始供应至存储系统200。在操作S120中,存储控制器220通过执行第一启动操作来完成执行与第一类型命令对应的操作的准备工作。在示例性实施例中,第一类型命令可以是读取命令。在操作S130中,当第一启动操作完成时,存储控制器220将第一命令准备就绪信号RDSl输出至主机100。
[0040]第一命令准备就绪信号RDSl的输出意味着准备执行响应于第一类型命令的操作。当接收到第一命令准备就绪信号RDSl时,主机100可以将第一类型命令传送至存储系统 200。
[0041 ] 在操作S140中,存储控制器220通过执行第二启动操作来完成执行响应于第二类型命令的操作的准备工作。在示例性实施例中,第二类型命令可以是编程命令。与此同时,执行第二启动操作期间,存储控制器220可以从主机100接收第一类型命令。在这种情况下,存储控制器220可以停止第二启动操作,并且处理第一类型命令。例如,存储控制器220内部的处理器(未示出)可以产生用于第二启动操作的中断信号,然后处理第一类型命令。
[0042]在操作S150中,当第二启动操作完成时,存储控制器220将第二命令准备就绪信号RDS2输出至主机100。
[0043]第二命令准备就绪信号RDS2的输出意味着准备执行响应于第二类型命令的操作。当接收到第二命令准备就绪信号RDS2时,主机100可以将第二类型命令传送至存储系统 200。
[0044]图4是示出图1的存储控制器220和半导体存储器件230的示例性实施例的框图。图5是描述图4的存储单元阵列231内部的存储块BLKl至BLKz的示图。
[0045]参照图4,半导体存储器件230包括存储单元阵列231和用于驱动存储单元阵列231的外围电路232。半导体存储器件230在存储控制器220的控制下操作。存储单元阵列231包括第一存储块BLKl至第Z存储块BLKz。所述多个存储块BLKl至BLKz中的每个包括多个存储单元。参照图5,第一存储块BLKl至第Z存储块BLKz中的每个包括第一页PGl至第η页PGn。所述第一页PGl至第η页PGn中的每个可以包括多个存储单元。
[0046]返回参照图4,外围电路232控制存储单元阵列231。外围电路232在存储控制器220的控制下操作。外围电路232被配置为在存储控制器220的控制下将数据编程在存储单元阵列231中、从存储单元阵列231读取数据、以及擦除存储单元阵列231的数据。
[0047]作为示例性实施例,半导体存储器件230的读取操作和编程操作可以以一个页为单位来执行。在编程操作期间,外围电路232可以从存储控制器220接收数据DATA(见图1)和物理块地址。一个存储块和包括在所述一个存储块中的一个页可以由物理块地址选中。外围电路232可以将数据DATA编程在选中的页中。在读取操作期间,外围电路232可以从存储控制器220接收物理块地址。一个存储块和包括在所述一个存储块中的页可以由物理块地址选中。外围电路232可以从选中的页中读取数据,并且将读取数据DATA输出至存储控制器220。
[0048]在示例性实施例中,半导体存储器件230可以是快闪存储器件。
[0049]存储控制器220控制半导体存储器件230的常规操作。存储控制器220可以响应于来自主机100的命令CMD来访问半导体存储器件230 (见图1)。例如,存储控制器200被配置为控制半导体存储器件230的读取操作、写入操作、擦除操作和后台操作。存储控制器220被配置为在半导体存储器件230与主机100之间提供接口。存储控制器220被配置为驱动用于控制半导体存储器件230的固件。
[0050]存储控制器220包括RAM 221和快闪转换层(FTL) 222。RAM 221在快闪转换层222的控制下操作。在示例性实施例中,RAM 221可以由静态RAM(SRAM)、动态RAM(DRAM)和同步 DRAM (SDRAM)形成。
[0051]在示例性实施例中,RAM 221可以用作快闪转换层222的操作存储器。在示例性实施例中,RAM 221可以用作半导体存储器件230与主机100之间的缓冲存储器。例如,在读取操作期间,从半导体存储器件230读取的数据DATA可以临时储存在RAM 221中,并且输出至主机100。在编程操作期间,从主机100接收的数据DATA可以临时储存在RAM 221中,并且提供给半导体存储器件230。
[0052]快闪转换层222可以响应于来自主机100的命令CMD来访问半导体存储器件230。来自主机100的编程命令可以包括逻辑块地址。来自主机100的读取命令可以包括逻辑块地址。
[0053]当上电时,快闪转换层222可以从半导体存储器件230的第一元区中读取映射数据来配置映射表MPT,以及将映射表MPT储存在RAM 221中,所述映射表MPT包括逻辑块地址与物理块地址之间的映射关系。在示例性实施例中,第一元区可以对应于第一存储块BLKl至第Z存储块BLkz中的至少一个。
[0054]映射表MPT被加载至RAM 221,使得存储控制器220可以响应于来自主机100的读取命令来执行读取操作。当接收到读取命令时,快闪转换层222可以从映射表MPT中搜索包括在读取命令中的逻辑块地址,以及提取物理块地址。快闪转换层222将提取的物理块地址传送至半导体存储器件230,并且将从半导体存储器件230读取的数据DATA输出至主机100 (见图1)。通过从半导体器件230中读取映射数据来配置映射表MPT的操作可以包括在第一启动操作S120(见图3)中。当第一启动操作完成时,在操作S130(见图3)中,快闪转换层222可以将读取命令准备就绪信号作为第一命令准备就绪信号RDSl (见图1)传送至主机100。
[0055]与此同时,当从主机100接收到编程命令时,快闪转换层222可以搜索映射表MPT,以及将物理块地址(在所述物理块地址中未储存数据)映射至包括在编程命令中的逻辑块地址。然后,快闪转换层22可以将物理块地址和将被编程的数据传送至半导体存储器件230。快闪转换层222可以将逻辑块地址与物理块地址之间的映射关系更新至映射表MPT。更新的映射表MPT在半导体存储器件230的第一元区中被更新。
[0056]现在假设在编程操作期间发生突然掉电,外围电路232不可以将数据DATA正常地储存在选中的页中。当异常数据被储存在选中的页中时可以终止编程操作。进一步,快闪转换层222可以不更新映射表MPT。在映射表MPT中,与选中的页对应的逻辑块地址可以定义为其中仍未储存数据的区域。然后,当接收到编程命令时,快闪转换层222可以将对应的物理块地址映射至包括在编程命令中的逻辑块地址。因此,当上电时,存储控制器220不可以仅利用映射表MPT的配置来正常地执行与编程命令对应的编程操作。
[0057]快闪转换层222可以从半导体存储器件230的第二元区中读取元信息MET,以及将元信息MET储存在RAM 221中。第二元区可以对应于第一存储块BLKl至第Z存储块BLkz中的至少一个。元信息MET包括用于确定在编程操作期间是否发生突然掉电的信息。应当领会的是,提供了用于确定在编程操作期间是否发生突然掉电的各种方法。在所述方法中元信息MET可以包含用于确定是否发生突然掉电的信息。
[0058]例如,元信息MET可以包含历史日志信息。每当存储控制器220执行特定操作时,快速转换层222可以将有关特定操作的信息更新至历史日志信息。例如,每当半导体存储器件230的读取操作、编程操作、擦除操作和后台操作中的每个被执行时,快速转换层222可以更新历史日志信息。快速转换层222可以将历史日志信息更新至半导体存储器件230的第二元区。快闪转换层222可以当上电时读取映射表MPT和历史日志信息,以及比较映射表MPT与历史日志信息来确定在编程操作期间是否发生突然掉电。
[0059]例如,元信息MET可以包括用于包括新近编程页的存储块的数据的纠错结果。例如,快闪转换层222可以基于历史日志信息来检测包括新近编程页的存储块。快闪转换层222可以从被检测存储块的每个页中读取数据。读取数据可以被存储控制器220内部的纠错模块(未示出)解码。纠错失败可以意味着当编程对应页时发生了突然掉电。根据纠错结果,有可能确定在编程操作期间是否发生突然掉电。
[0060]快闪转换层222可以通过参考储存在RAM 221中的元信息MET来确定在编程操作期间是否发生突然掉电。当在编程操作期间发生突然掉电时,快闪转换层222将被执行编程操作的页处理为无效。确定是否发生突然掉电以及将发生突然掉电时被执行编程操作的页处理为无效的操作可以被包括在第二启动操作S140中(见图3)。当第二启动操作完成时,在操作S150(见图3)中,快闪转换层222可以将编程命令操作准备就绪信号作为第二命令准备就绪信号RDS2(见图1)传送至主机100。
[0061]作为示例性实施例,将发生突然掉电时被执行编程操作的页处理为无效包括:将映射表MPT内部的对应物理块地址标记为非空空间。
[0062]作为示例性实施例,将发生突然掉电时被执行编程操作的页处理为无效可以包括:将虚设数据编程在半导体存储器件230内部的对应页中。
[0063]作为示例性实施例,将发生突然掉电时被执行编程操作的页处理为无效可以包括:将半导体存储器件230内部的包括对应页的存储块的数据复制至另一存储块。
[0064]当计算系统50的电源上电时,主机可以也执行启动操作。为了获取用于启动包括在主机100中的每个组件的数据(在下文中,主机启动码),主机100可以将读取命令传送至存储系统200。存储控制器220可以响应于读取命令来从半导体存储器件230中读取主机启动码,以及将读取的主机启动码作为数据DATA(见图1)传送至主机100。然后,主机100可以基于主机启动码来执行启动操作。根据本发明的示例性实施例,当上电时,存储控制器220可以通过执行第一启动操作来完成执行与读取命令对应的操作的准备工作,以及将读取命令准备就绪信号传送至主机。即使在存储控制器220完成执行与另一类型命令(诸如编程命令)对应的操作的准备工作之前,主机100也可以将读取命令传送至存储控制器220。在这种情况下,上电之后主机100可以在短时间内接收主机启动码。因此,主机100的启动操作的速度得到改善。
[0065]图6是示出图1的主机100的示例性实施例400的框图。
[0066]参照图6,主机400包括通信单元410、显示单元420、声音输出单元430、用户输入单元440、照相机450、主机接口 460和主机控制器470。
[0067]通信单元410可以包括用于执行主机400与外部设备(未显示)之间通信的一个或更多个组件。例如,通信单元410可以包括短距离无线通信单元和移动通信单元。短距离无线通信单元可以包括蓝牙通信单元、近场通信单元、无线局域网(WLAN)通信单元、ZigBee通信单元、红外线数据协会(IrDA)通信单元、无线网络直接连接(WFD)通信单元、超宽带(UWB)通信单元、Ant+通信单元等。移动通信单元可以用基站、外部端子和服务器中的至少一个来在移动通信网络上收发无线信号。
[0068]显示单元420显示由主机100处理的信息。当显示单元420和触摸板被配置为触摸屏时,显示单元420除用作输出设备以外还可以用作输入设备。显示单元420可以包括液晶显示器、薄膜晶体管液晶显示器、有机发光二极管、柔性显示器、3D显示器和电泳显示器中的至少一种。
[0069]声音输出单元430输出由主机100处理的音频数据。声音输出单元430可以包括扬声器、蜂鸣器等。
[0070]用户输入单元440是用于由用户输入用于控制主机100的数据的设备。例如,用户输入单元440可以包括键盘、圆顶开关、触摸板(由电容式触摸模式法、电阻式压力模式法、红外检测法、声表面波法、积分应变计法、压电效应法等实施)、调节旋钮、调节开关等。经由用户输入单元440接收的数据可以被主机控制器470处理,处理的数据可以经由主机接口 460被储存在存储系统200 (见图1)中,或者经由通信单元410传送至外部。
[0071 ] 照相机450可以经由图像传感器获取静态图像的图像帧和视频。经由图像传感器捕获的图像可以被主机控制器470处理。处理的图像帧可以经由主机接口 460被储存在存储系统200中,或者经由通信单元410传送至外部。
[0072]主机接口 460可以与主机400和存储系统200接口。主机接口 460可以类似于参照图1所述的主机接口 120来配置和操作。
[0073]主机控制器470控制主机400的常规操作。主机控制器470被配置为控制通信单元410、显示单元420、声音输出单元430、用户输入单元440、照相机450和主机接口 460。主机控制器470可以类似于参照图1所述的主机控制器110来配置和操作。
[0074]主机400上电之后,主机控制器470可以将读取命令传送至存储系统200以便获取与通信单元410、显示单元420、声音输出单元430、用户输入单元440、照相机450和主机接口 460中的每个对应的主机启动码。基于获取的主机启动码,主机控制器470可以启动通信单元410、显示单元420、声音输出单元430、用户输入单元440、照相机450和主机接口460。根据本发明的示例性实施例,当上电时,存储控制器220(见图1)通过执行第一启动操作来完成执行与读取命令对应的操作的准备工作,并且将读取命令准备就绪信号传送至主机400。即使在存储控制器220完成执行与另一类型命令对应的操作的准备工作之前,主机100也可以将读取命令传送至存储控制器220,并且获取主机启动码。因此,主机400的启动操作的速度得到改善。
[0075]图7是示出图1的存储控制器220的示例性实施例1200的框图。
[0076]参照图7,存储控制器1200包括随机存取存储器(RAM) 1210、处理单元1220、纠错模块1230和总线1240。
[0077]RAM 1210可以提供为图4的RAM 221。RAM 1210可以用作处理单元1220的操作存储器、半导体存储器件230 (件图1)与主机100 (见图1)之间的高速缓冲存储器以及半导体存储器件230与主机100之间的缓冲存储器中的至少一种。处理单元1220控制存储控制器1200的常规操作。处理单元1220和RAM 1210可以执行图4的快闪转换层222的功能。例如,处理单元1220可以将编程命令、数据文件和数据结构中的至少一种加载至RAM1210,以及运行加载数据以执行快闪转换层222的功能。
[0078]图1的存储接口 210可以连接至总线1240,并且存储接口 210包括用于执行主机100与存储控制器1200之间的数据交换的协议。作为示例性实施例,图1的存储接口被配置为经由诸如通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、PC1-快速(PC1-E)协议、先进技术附件(ATA)协议、串行-ATA协议、并行-ATA协议、小型计算机小接口(SCSI)协议、增强小磁盘接口(ESDI)协议、集成驱动电路(IDE)协议和私有协议等各种接口协议中的至少一种与主机100通信。
[0079]纠错模块1230被配置为基于纠错码来解码从半导体存储器件230读取的数据。作为示例性实施例,存储控制器1200还可以包括用于与半导体存储器件230接口的模块。
[0080]图8是示出根据本发明另一示例性实施例的存储控制器220的操作方法的流程图。
[0081]参照图1、图4和图8,在操作S210中,电源开始供应至计算系统50。在操作S221中,存储控制器220通过读取映射数据来配置映射表MPT。存储控制器220可以从半导体存储器件230的第一元区中读取映射数据,基于映射数据来配置映射表MPT,以及将配置的映射表MPT储存在RAM 221中,所述映射表MPT包括逻辑块地址与物理块地址之间的映射关系。操作S221可以被包括在参照图3所述的操作S120。
[0082]在操作S230中,存储控制器220将读取命令准备就绪信号输出至主机100。当接收到读取命令准备就绪信号时,主机100可以将读取命令传送至存储控制器220。主机100可以通过传送读取命令来获取与主机100内部的每个组件410至460 (见图6)对应的主机启动码,以及基于主机启动码来启动主机100内部的每个组件。在这种情况下,主机100可以通过传送额外读取命令来获取存储系统200的各种标识信息(诸如容量、制造商、序列号等)O
[0083]在操作S241中,存储控制器220加载元信息MET。存储控制器220可以从半导体存储器件230的第二元区中读取元信息MET,以及将元信息MET储存在RAM 221中。在操作S242中,存储控制器220基于元信息MET来确定在编程操作期间是否发生突然掉电。如果在编程操作期间发生突然掉电,那么执行操作S243。在操作S243中,存储控制器220可以将突然掉电发生时被执行编程操作的页处理为无效。存储控制器220可以将与发生突然掉电时被执行编程操作的页对应的物理块地址标记为非空空间。操作S241至操作S243可以被包括在参照图3所述的操作S140中。
[0084]在操作S250中,存储控制器220将编程命令准备就绪信号输出至主机100。
[0085]根据本发明的示例性实施例,当上电时,存储控制器通过执行第一启动操作来首先完成执行与特定类型命令对应的操作的准备工作,并且将第一命令准备就绪信号传送至主机。当接收到第一命令准备就绪信号时,即使未接收到另一命令准备就绪信号,主机也可以将特定类型命令传送至存储系统,并且从存储系统接收针对对应命令的处理结果。因此,主机以及包括主机和存储控制器的计算系统的操作速度得到改善。
[0086]已经在附图和说明书中公开了实施例。本文中所用的特定术语是为了说明,而非限制由权利要求限定的本发明的范围。因此,那些本领域技术人员将明白,在不脱离本公开的范围和精神的情况下可以做出各种修改和其他等同示例。因此,本发明的范围将由所附权利要求限定。
[0087]通过以上实施例可以看出,本申请提供了以下的技术方案。
[0088]技术方案1.一种存储系统,包括:
[0089]半导体存储器件;以及
[0090]存储控制器,适用于:控制半导体存储器件,以及从主机接收用于访问半导体存储器件的第一命令和第二命令,其中第二命令的类型不同于第一命令的类型,
[0091]其中,当上电时存储控制器通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作,并且将第一命令准备就绪信号输出至主机,以及
[0092]第一启动操作之后,存储控制器通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作,并且将第二命令准备就绪信号输出至主机。
[0093]技术方案2.如技术方案I所述的存储系统,其中,当第一命令准备就绪信号输出之后且第二命令准备就绪信号输出之前从主机接收到第一命令时,存储控制器响应于第一命令来执行操作。
[0094]技术方案3.如技术方案I所述的存储系统,其中,第一命令是请求读取储存在半导体存储器件中的数据的读取命令。
[0095]技术方案4.如技术方案I所述的存储系统,其中,存储控制器通过从半导体存储器件的第一元区中读取映射数据来配置映射表从而执行第一启动操作,所述映射表代表逻辑块地址与物理块地址之间的映射关系。
[0096]技术方案5.如技术方案I所述的存储系统,其中,第二命令是请求将数据储存在半导体存储器件中的编程命令。
[0097]技术方案6.如技术方案I所述的存储系统,其中,存储控制器通过从半导体存储器件的第二元区读取元信息来确定在半导体存储器件的编程操作期间是否发生突然掉电从而执行第二启动操作,以及基于确定结果而将被执行编程操作的页处理为无效。
[0098]技术方案7.—种计算系统,包括:
[0099]存储系统,包括半导体存储器件;以及
[0100]主机,适用于:传送用于访问半导体存储器件的第一命令和第二命令,其中第二命令的类型不同于第一命令的类型,
[0101]其中,当上电时存储系统通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作,并且将第一命令准备就绪信号输出至主机,以及
[0102]第一启动操作之后,存储系统通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作,并且将第二命令准备就绪信号输出至主机。
[0103]技术方案8.如技术方案7所述的计算系统,其中,在接收到第一命令准备就绪信号之后且接收到第二命令准备就绪信号之前,主机将第一命令传送至存储系统。
[0104]技术方案9.如技术方案7所述的计算系统,其中,输出第二命令准备就绪信号之前,存储系统响应于第一命令来执行操作。
[0105]技术方案10.如技术方案7所述的计算系统,其中,接收到第二命令准备就绪信号之后,主机将第二命令传送至存储系统。
[0106]技术方案11.如技术方案7所述的计算系统,其中第一命令是请求读取储存在半导体存储器件中的数据的读取命令。
[0107]技术方案12.如技术方案7所述的计算系统,其中,存储系统还包括存储控制器,所述存储控制器通过从半导体存储器件的第一元区中读取映射数据来配置映射表从而执行第一启动操作,所述映射表代表逻辑块地址与物理块地址之间的映射关系。
[0108]技术方案13.如技术方案7所述的计算系统,其中第二命令是请求将数据储存在半导体存储器件中的编程命令。
[0109]技术方案14.如技术方案7所述的计算系统,其中,存储系统还包括存储控制器,存储控制器通过从半导体存储器件中读取数据来确定在半导体存储器件的编程操作期间是否发生突然掉电从而执行第二启动操作,以及基于确定结果而将被执行编程操作的页处理为无效。
[0110]技术方案15.—种操作存储系统的方法,在所述存储系统中存储控制器控制半导体存储器件并且从主机接收第一命令和第二命令,其中第二命令具有不同于第一命令类型的类型,所述方法包括:
[0111]当上电时通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作;
[0112]当执行与第一命令对应的操作的准备工作完成时,将第一命令准备就绪信号输出至主机;
[0113]第一启动操作之后,通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作;
[0114]当执行与第二命令对应的操作的准备工作完成时,将第二命令准备就绪信号输出至主机。
[0115]技术方案16.如技术方案15所述的方法,还包括:
[0116]当在第一命令准备就绪信号输出之后且第二命令准备就绪信号输出之前从主机接收到第一命令时响应于第一命令来执行操作。
[0117]技术方案17.如技术方案15所述的方法,其中第一命令是请求读取储存在半导体存储器件中的数据的读取命令。
[0118]技术方案18.如技术方案15所述的方法,其中第二命令是请求将数据储存在半导体存储器件中的编程命令。
[0119]技术方案19.如技术方案15所述的方法,其中执行第一启动操作包括:
[0120]通过从半导体存储器件的第一元区中读取映射数据来配置映射表,所述映射表代表逻辑块地址与物理块地址之间的映射关系。
[0121]技术方案20.如技术方案15所述的方法,其中执行第二启动操作包括:
[0122]通过从半导体存储器件的第二元区中读取元信息来确定在半导体存储器件的编程操作期间是否发生突然掉电;以及
[0123]基于确定结果而将被执行编程操作的页处理为无效。
【主权项】
1.一种存储系统,包括: 半导体存储器件;以及 存储控制器,适用于:控制半导体存储器件,以及从主机接收用于访问半导体存储器件的第一命令和第二命令,其中第二命令的类型不同于第一命令的类型, 其中,当上电时存储控制器通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作,并且将第一命令准备就绪信号输出至主机,以及 第一启动操作之后,存储控制器通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作,并且将第二命令准备就绪信号输出至主机。2.如权利要求1所述的存储系统,其中,当第一命令准备就绪信号输出之后且第二命令准备就绪信号输出之前从主机接收到第一命令时,存储控制器响应于第一命令来执行操作。3.如权利要求1所述的存储系统,其中,第一命令是请求读取储存在半导体存储器件中的数据的读取命令。4.如权利要求1所述的存储系统,其中,存储控制器通过从半导体存储器件的第一元区中读取映射数据来配置映射表从而执行第一启动操作,所述映射表代表逻辑块地址与物理块地址之间的映射关系。5.如权利要求1所述的存储系统,其中,第二命令是请求将数据储存在半导体存储器件中的编程命令。6.如权利要求1所述的存储系统,其中,存储控制器通过从半导体存储器件的第二元区读取元信息来确定在半导体存储器件的编程操作期间是否发生突然掉电从而执行第二启动操作,以及基于确定结果而将被执行编程操作的页处理为无效。7.一种计算系统,包括: 存储系统,包括半导体存储器件;以及 主机,适用于:传送用于访问半导体存储器件的第一命令和第二命令,其中第二命令的类型不同于第一命令的类型, 其中,当上电时存储系统通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作,并且将第一命令准备就绪信号输出至主机,以及 第一启动操作之后,存储系统通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作,并且将第二命令准备就绪信号输出至主机。8.如权利要求7所述的计算系统,其中,在接收到第一命令准备就绪信号之后且接收到第二命令准备就绪信号之前,主机将第一命令传送至存储系统。9.如权利要求7所述的计算系统,其中,输出第二命令准备就绪信号之前,存储系统响应于第一命令来执行操作。10.一种操作存储系统的方法,在所述存储系统中存储控制器控制半导体存储器件并且从主机接收第一命令和第二命令,其中第二命令具有不同于第一命令类型的类型,所述方法包括: 当上电时通过执行第一启动操作来完成执行与第一命令对应的操作的准备工作; 当执行与第一命令对应的操作的准备工作完成时,将第一命令准备就绪信号输出至主机; 第一启动操作之后,通过执行第二启动操作来完成执行与第二命令对应的操作的准备工作; 当执行与第二命令对应的操作的准备工作完成时,将第二命令准备就绪信号输出至主机。
【文档编号】G06F13/16GK105988737SQ201510578999
【公开日】2016年10月5日
【申请日】2015年9月11日
【发明人】朴淙柱
【申请人】爱思开海力士有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1