存储卡以及在存储卡上存储数据的方法

文档序号:6779787阅读:348来源:国知局

专利名称::存储卡以及在存储卡上存储数据的方法
技术领域
:本发明涉及存储卡,并且更特别地,涉及具有闪存的存储卡和在存储卡上存储数据的方法。
背景技术
:存储卡可以用作数字设备的附加存储器,例如数字摄像机或移动电话。存储卡的实例包括紧凑型闪存(CF)卡,智能存储(SM)卡,记忆棒,多媒体卡(MMC),微型驱动器,极限数字(xD)图片卡以及安全数字(SD)卡。存储卡尺寸小,便于使用并且具有高数据传送速率。例如,xD图片卡是下一代闪存卡,其已经发展到寻址各种尺寸和容量极限的SM卡。xD图片卡具有20x25xl.7毫米的尺寸,使它成为最小的存储卡。xD图片卡被称作"极限数字"存储卡,原因是它的存储容量可以达到8GB(千兆字节)。xD图片卡通过用于NAND闪存的接口方案与主机(例如,数字摄像机)连接。与其它诸如CF卡、SD卡、记忆棒和醒C之类的使用NAND闪存的存储卡相比,xD图片卡可以尺寸更小而数据存储容量增加。通常,存储卡可以包括NAND闪存和存储控制器。该NAND闪存存储由主机提供的数据。例如,当主机是数字摄像机时,将静止图像保存在NAND闪存中。当主机是录像机时,将影片保存在NAND闪存中。存储控制器控制存储卡的全部操作。在存储控制器的控制下,将从主机提供的数据传送到NAND闪存,并且将存储在NAND闪存中的数据输出到主机。将存储卡的数据存储时间分成从主机到NAND闪存的数据传送时间和NAND闪存的程序时间。将数据传送时间定义为存储控制器响应主机写请求从主机到NAND闪存传送数据所使用的时间。将NAND闪存的程序时间定义为已经传送到NAND闪存的程序数据进入NAND闪存的存储单元阵列所使用的时间。限的。然而,为了减少存储卡整体的数据存储时间,可以减少从主机到NAND闪存的数据传送时间。
发明内容本发明的一个方面提供被配置为与主机连接的存储卡。存储卡包括NAND闪存和存储控制器。NAND闪存包括多页,每页包括多扇区。存储控制器从主机以扇区为单位接收扇区数据和对应的扇区地址,并根据扇区地址,直接或经由緩存向NAND闪存传送扇区数据。存储控制器可以包括用于经由緩存传送扇区数据的第一数据总线,和用于直接向NAND闪存传送扇区数据的第二数据总线。当扇区地址是用于存取所选页中的第一扇区之外的扇区的地址时,存储控制器可以启动第一数据总线,而当扇区地址是用于存取所选页中除了第一扇区之外的扇区地址时,存储控制器可以启动第二数据总线。存储控制器可以进一步包括用于响应扇区地址启动第一数据总线或第二数据总线的控制单元。控制单元可以包括地址寄存器,用于存储所定义的扇区地址;选择器,用于比较扇区地址和所定义的扇区地址并根据比较结果选择第一数据总线和第二数据总线之一;和存储器直接访问(DMA)控制器,用于中断中央处理器(CPU)并控制第一数据总线和第二数据总线。每一页可以具有2KB容量而且每一扇区可以具有512B容量。緩存可以是双端口存储器,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DR細)。本发明的另一个方面是提供在存储卡中存储数据的方法,存储卡包括NAND闪存和存储控制器,其中NAND闪存包括多页且每页包括多扇区,而且其中方法包括从主机接收写指令和扇区地址,并根据写指令和扇区地址,直接或经由緩存向NAND闪存传送对应于所述扇区地址的扇区数据。在NAND闪存的所选页中,将所传送的扇区数据保存为页面数据。存储控制器可以包括用于经由緩存传送数据的第一数据总线,和用于直接传送数据到NAND闪存的第二数据总线。所述方法因此可以进一步包括当扇区地址包括用于存取所选页中的第一扇区地址时,启动用于向NAND闪存传送扇区数据的第一数据总线。此外,当扇区地址包括除了第一扇区地址之外的扇区地址,用于存取所选页中除了第一扇区的扇区时,可以启动用于向NAND闪存传送扇区数据第二数据总线。当扇区地址包括第一扇区地址且在另一个页上的写入操作正在进行时,可以完成在另一页上的写入操作。本发明的另一方面提供存储卡,其包括具有每页包括多扇区的多页的NAND闪存,和用于从主机接收扇区数据和对应的扇区地址的存储控制器。当扇区地址是用于存取所选页中的第一扇区的地址时,存储控制器能够使扇区数据通过第一数据总线经由緩存传送到NAND闪存。当扇区地址是用于存取所选页中除了第一扇区之外的扇区的地址时,存储控制器能够使扇区数据通过第二数据总线绕过緩存传送到NAND闪存。附图描述将要参照附图来描述本发明的实施例,其中图l是图解根据本发明的示例性实施例的存储卡的方框图;图2是图解根据本发明的示例性实施例的图l所示的存储卡的程序操作的流程图;以及图3是图解根据本发明的示例性实施例的图2所示的程序操作的另外方面的流程图。具体实施方式参照附图,现在将更充分地描述本发明,其中展示了本发明的示例性实施例。然而,本发明可以以各种不同的形式实施,而不应解释为仅限于所示实施例。相反地,提供这些实施例作为实例,来向本领域技术人员传达本发明的构思。因此,关于本发明的一些实施例没有描述公知的处理、元件、以及方法。在整个附图和文字的描述中,相同的附图标记将用于表示相同样或类似的元件。此外,在整个附图和文字的描述中,术语"写"和"编程"具有同样的含义。图l是根据本发明示例性实施例的存储卡的方框图。参照图l,存储卡200与主机100连接。主机100可以是能够用于与存储卡200连接的任意电子设备。主机100的实例包括数字摄像机、MP3播放器、PDA个人数字助理、移动电话和计算机。存储卡200包括NAND闪存210和存储控制器220。NAND闪存210包括存储单元阵列(未画出)和页緩沖器215。页緩冲器215临时存储要被编程或从一页读出的数据(例如,页211)。存储单元阵列包括多个存储块,每个存储块包括多个页(例如,页211和212)。每一页包括多个扇区(例如,扇区S1-S4和S5-S8),每个扇区包括多个存储单元(未画出)。在存储模块单元中执行擦除操作,而在页单元中执行读写操作。换句话说,同时擦除一个存储块的数据,且同时读出或编程一个页的数据。通常,依赖于存储块的大小,在一个存储块中存储16KB(千字节)或128KB的数据,而且在一个页面中存储512B(字节)或2KB的数据。可以将NAND闪存分为小块存储器和大块存储器。表l图解小块存储器和大块存储器之间的主要区别。表l<table>tableseeoriginaldocumentpage7</column></row><table>参照表l,小块存储器具有16KB块大小而大块存储器具有128KB块大小。小块存储器以512B页为单位执行读/写操作(除备用区之外),而以16KB块为单位(除备用区之外)执行擦除操作。大块存储器以^B页为单位执行读/写操作(除备用区之外),而以128KB块为单位(除备用区之外)执行擦除操作。在图1中所示的NAND闪存21Q是大块存储器。举例来说,在图1的NAND闪存210中图解了两页211和212。每一页存储2KB数据。第一页211包括第一到第四扇区S1到S4,而第二页212包括第五到第八扇区SS到S8。这些扇区中的每一个存储512B数据。存储控制器220包括主机接口310、闪存接口320、緩存33f)、控制单元360、中央处理器(CPU)370、第一数据总线341和第二数据总线342。数据总线341和342可以是双或单数据总线,但是为了解释所述实施例,假定数据总线341和342是双数据总线。第一数据总线341经由緩存330传输数据。另一方面,第二数据总线342不经过緩存330直接向NAND闪存210传送来自主机10Q的数据。根据本实施例,使用双数据总线341和342存储卡200可以提高程序速度。主机接口310包括指令转换电路(未画出)和地址转换电路(未画出)。指令转换电路接收外部指令并产生对应的内部指令来提供给NAND闪存210。同样地,地址转换电赠4妾收外部地址并产生对应的内部地址。将内部指令和内部地址经由总线(未画出)传送到闪存接口320。另夕卜,主机接口310从主机100接收数据。将所接收的数据传送到緩存330和/或直接传送到闪存接口320,即不经由緩存330。主机接口310接收以扇区为单位的数据(例如,512B)。当从主机100以扇区为单位(例如512B)接收数据且以页为单位(例如,2KB)编程数据时,根据本实施例的存储卡200可以高效地使用。闪存接口320向NAND闪存210提供内部指令、内部地址、内部控制信号和数据。提供到NAND闪存210的数据是分别经由第一和第二数据总线341和342,通过緩存330或直接从主机接口310传送的数据。緩存330临时存储从主机接口310接收的数据。可以将存储在緩存330中的数据经由第一数据总线341传送到闪存接口320。緩存330可以执行緩存操作。例如,当从主机接口310以扇区为单位接收数据时,緩存330可以以扇区为单位或以页为单位向闪存接口320输出数据。緩存330可以使用双端口、诸如静态随机存取存储器(SRAM)和动态随机存储器(DRAM)之类的随机存取存储器(RAM)来实现。如上所述,存储控制器220除第一数据总线341之外还包括第二数据总线342。通过第一和第二复用器传送351和352选4奪第一和第二数据总线341和342。第一复用器351向第二数据总线342传送数据来响应来自控制单元360的第一选4奪信号SS1。例如,当第一选"t奪信号SSl是逻辑'T,时,将数据传送到第二数据总线342。另一方面,当第一选择信号SS1是逻辑"0"时,中断向第二数据总线342传送数据。第二复用器352向闪存接口320传送第二数据总线342的数据来响应来自控制单元360的第二选择信号SS2。例如,当第二选择信号SS2是'T,时,将数据从緩存330经由第一数据总线341传送到闪存接口320。另一方面,当第二选择信号SS2是逻辑"0"时,经由第二数据总线342传送数据。控制单元360进行操作来响应从主机接口310接收的外部指令、外部地址和控制信号。参照图l,控制单元360包括选择器361、地址寄存器362和画A控制器363。选^f奪器361将在地址寄存器362中定义的扇区地址和已经重新输入的当前的扇区地址进行比较,来选择第一数据总线341或第二数据总线342之一。例如,当定义的扇区地址与当前扇区地址不同时,选择器361选择第一数据总线341。在这种情况下,数据经由緩存330传送到闪存接口320。另一方面,当定义的扇区地址与当前扇区地址相同时,选择器361选择第二数据总线342。在这种情况下,数据绕过緩存330直接从主机接口310传送到闪存接口320。地址寄存器362接收当前扇区地址,并存储将要在接下来输入的所定义扇区地址。例如,假设,最初,当前扇区地址是指明NAND闪存210中页221的第一扇区S1的地址。在这种情况下,地址寄存器362接收第一扇区地址,并存储被称为第二扇区地址的地址(例如,指明页211的第二扇区S2),作为所定义的扇区地址。当地址寄存器362然后接收输入第二扇区地址作为当前扇区地址时,选#^器361将当前扇区地址与以前保存在地址寄存器362中的所定义的扇区地址进行比较,并根据当前扇区地址与定义的扇区地址是否匹配,产生第一选择信号SS1或第二选择信号SS2。画A控制器363使用存储器直接存取(匿A)方案控制数据总线。在DMA传送模式期间,CPU370不能控制数据总线并变成空闲。响应来自主机接口310的DMA请求,画A控制器363触发总线请求(BR)信号来防止CPU370控制数据总线。也就是说,在DMA传送模式期间,经由数据总线341或第二数据总线342传送数据,而无须CPU370的介入。图1所示的存储卡200,可以高效地用于以扇区为单位接收数据并以页为单位储存数据的系统。存储卡200包括以扇区为单位执行数据的输入/输出操作的緩存330。存储卡200包括用于经由緩存330从主机100向NAND闪存210传送数据的间接数据传送路径,和用于从主机100直接向NAND闪存210传送数据的直接数据传送路径。在存储卡200中,经由緩存330传送要保存在页的第一扇区中的扇区数据,但是绕过緩存330直接传送要保存在所述页的任意其余扇区中的扇区数据。因此,与普通存储卡相比,存储卡200提供更高的数据存储速度。图2是图解图1所示的示例性存储卡200的操作的流程图。参照图l和图2,外部指令CMD和外部地址ADDR从主机1OO传送到存储卡200。当存储卡200与主机100连接时,在步骤S100主机接口310从主机100接收外部指令CMD和外部地址ADDR。外部地址ADDR是用于存取NAND闪存21O的一个扇区(例如,页211的S1)的扇区地址。在步骤SllO,主机接口310确定外部指令CMD是否是写指令。当外部指令CMD不是写指令时,按照步骤S120执行另一个例程(例如,读出指令或擦除指令)。例如,当外部指令CMD是读指令时,与写指令相反,在步骤S120执行读操作。当外部指令CMD是写指令时,存储卡200的操作进行到步骤S200。在步骤S200,控制单元360确定所接收外部地址ADDR,也称为当前扇区地址(当前ADDR),与在地址寄存器362中定义的扇区地址(定义的ADDR)是否相同。通常,当当前ADDR不等于所定义ADDR时,数据通过第一数据总线341传送,而当当前ADDR与所定义ADDR相同时,数据通过第二数据总线342传送,在以下更详细地讨论。参照图2,当当前ADDR与所定义的ADDR相同时,处理进行至步骤S220。在步骤S220,选择器361产生逻辑'T'的第一选择信号SS1和逻辑"0"的第二选择信号SS2来选择第二数据总线342。在步骤S230,画A控制器363中断CPU370来控制第二数据总线342。在步骤S240,从主机100接收的扇区数据通过第二数据总线342绕过緩存330直接传送到NAND闪存210。另一方面,当在步骤S200确定当前ADDR(即,输入外部地址ADDR)不同于所定义ADDR时,处理进行至步骤S210。在步骤210,选择器361产生逻辑"0"的第一选^t奪信号SSl和逻辑'T,的第二选4奪信号SS2来选择第一数据总线341。此外,画A控制器363可以中断CPU370来控制第一数据总线341。在步骤S300,CPU370确定当前ADDR是否是第一扇区地址ADDR1,对应于NAND闪存210的页211中的第一扇区S1。通常,一^:首先访问页211中的第一扇区S1。然而,例如当主机100支持随机扇区写入方案时,可以首先存取页211中的另一个扇区(例如S3)。虽然可以理解在不脱离本发明精神和范围的情况下页与/或扇区存取的顺序可以产生变化,但是为了讨论,假设首先存取第一扇区S1。当确定当前ADDR是第一扇区地址ADDR1(在步骤S300)时,在步骤S310通过闪存接口32向NAND闪存210提供内部指令CMD,和内部地址ADDR,。在内部由外部指令CMD和外部地址ADDR分别转换为内部指令CMD,和内部地址ADDR,,来适合NAND闪存210。在步骤320,存储在緩存330中的扇区数据通过第一数据总线341传送到NAND闪存210。扇区数据是从主机100接收的数据。当当前ADDR是第一扇区地址ADDR1时,经由页緩冲器将215扇区数据保存在第一扇区S1中。另一方面,当当前ADDR不是第一扇区地址ADDR1(如在步骤S300确定的)时,在步骤S320通过第一数据总线341将扇区数据从緩存330传送到NAND闪存210,而不必执行步骤S310。在这种情况下,已经将内部指令CMD,和内部地址ADDR,预先传送到NAND闪存210。在步骤S330,CPU370确定当前ADDR是否要存取页211中最后的扇区,例如第四扇区S4。如上所述,最后所存取的扇区可以不必是第四扇区S4扇区,例如,当使用随机扇区写入方案时,在这种情况下,可以最后访问页211中的另一个扇区(例如,S2)。虽然可以理解在不脱离本发明精神和范围的情况下存取页与/和扇区的顺序可以改变,但是为了讨论,假设最后存取第四扇区S4。当当前ADDR不是用于存取第四扇区S4的第四扇区地址ADDR4(例如,最后扇区地址)时,在CPU370的控制下,在步骤S340,在地址寄存器362中存储下一个扇区地址作为所定义的扇区地址(例如所定义的ADDR)。例如,当当前ADDR是第一扇区地址ADDR1时,在地址寄存器362中存储用于存取第二扇区S2的第二扇区地址ADDR2作为所定义的扇区地址。同样地,当当前ADDR是第二扇区地址ADDR2时,在地址寄存器362中存储用于存取第三扇区S3的第三扇区地址ADDR3作为所定义的扇区地址。在步骤S350,存储卡200等待来自主机100的下一个外部指令和地址。当/人主机1QG接收下一个外部指令和地址时,例如,在步骤S10Q,处理再次4丸行至少步骤S110到S330。当在步骤S330中确定当前ADDR是第四扇区地址ADDR4(例如最后扇区地址)时,在步骤S360,CPU370通过闪存接口320向NAND闪存210发布确认指令。通常,当将一页的最后扇区数据存储在页緩沖器215中时,执行NAND闪存210的编程操作。在步骤S400,例如,一旦接收第四扇区S4数据,则NAND闪存210同时编程存储在页緩冲器215中的数据到所选页211中。但是,可以理解,在不脱离本发明精神和范围的情况下关于页緩沖器215的操作NAND闪存210的编程操作可以改变。图3是图解图2中步骤S300和步骤S31O之间可以进一步执行的编程操作的流程图。当主机100支持选择性的写入方案,如随机扇区写入方案时,可以高效地使用图3中的编程操作。参照图3,在步骤S301,CPU370确定是否在除了所选页之外的一页上正在执行写操作。当在另一页上没有执行写操作时,关于图2如上所述操作继续到步骤S310。当在另一页上正在执行写操作时,在步骤S303向NAND闪存210发布确认指令。这个情况的实例是当在其中在第二页212中输入用于存取第五扇区S5的第五扇区地址ADDR5的状态中在第一页211上正在执行写操作时。当在步骤S301在第一页211上执行写操作时,例如,在步骤S303向NAND闪存210发布确认指令。在步骤S305,NAND闪存210同时在另一页(例如,页211)中编程存储在页緩冲器215中的数据。其后,执行步骤S310,如上所述根据图2继续处理。根据本实施例的存储卡从主机以扇区为单位接收数据并且以页为单位存储数据。经由緩存传送闪存的页的第一扇区数据,并直接传送剩余扇区的数据。因此,所述存储卡能够提供比传统存储卡更高的数据存储速度。如上所述,存储卡不但具有用于从主机经由緩存向NAND闪存传送数据的传送路径。附加的直接数据传送通路能够达到比传统存储卡更高的存储数据速度。虽然已经参照示例性实施例描述了本发明,但是对于本领域技术人员,很明显,在不脱离本发明精神和范围的情况下可以做出各种的变化和修改。所以,应该清楚上述实施例并不是限制性的,而是说明性的。权利要求1.一种被配置为与主机连接的存储卡,所述存储卡包括NAND闪存,包括多页,每页包括多扇区;以及存储控制器,用于从主机以扇区为单位接收扇区数据和对应扇区地址,并根据扇区地址,直接或经由緩存向NAND闪存传送扇区数据。2.权利要求l的所述存储卡,其中存储控制器包括第一数据总线,用于经由緩存传送扇区数据;以及第二数据总线,用于直接向NAND闪存传送扇区数据。3.权利要求2的所述存储卡,其中当扇区地址是用于存取所选页中的第一扇区的地址时,存储控制器启动第一数据总线。4.权利要求2的所述存储卡,其中当扇区地址是用于存取所选页中除了第一扇区之外的扇区的地址时,存储控制器启动第二数据总线。5.权利要求2的所述存储卡,其中存储控制器进一步包括控制单元,用于响应扇区地址启动第一数据总线和第二数据总线之一。6.权利要求5的所述存储卡,其中控制单元包括地址寄存器,用于存储所定义的扇区地址;选择器,用于比较扇区地址和所定义的扇区地址,并根据比较结果选择第一数据总线和第二数据总线之一;以及存储器直接访问(DMA)控制器,用于中断中央处理器(CPU)并控制第一数据总线和第二数据总线。7.权利要求l的所述存储卡,其中每一页具有2KB大小且每一扇区具有512B大小。8.权利要求l的所述存储卡,其中缓存包括双端口存储器。9.权利要求8的所述存储卡,其中緩存包括静态随机存取存储器(SRAM)。10.权利要求8的所述存储卡,其中緩存包括动态随机存取存储器(DRAM)。11.一种在存储卡中存储数据的方法,所述存储卡包括NAND闪存和存储控制器,NAND存储器包括多页且所述多页中的每一页包括多个扇区,而且存储包括乂人主枳4妄收写指令和扇区地址;根据写指令和扇区地址直接或经由缓存向NAND闪存传送对应于扇区地址的扇区数据;以及■212.权利要求l1的所述方法,其中存储控制器包括用于经由緩存传送数据的第一数据总线和用于直接向NAND闪存传送数据的第二数据总线,所述方法进一步地包括当扇区地址包括用于存取所选页中的第一扇区的第一扇区地址时,启动用于向NAND闪存传送扇区数据的第一数据总线。13.权利要求12的所述方法,进一步包括当扇区地址包括除了第一扇区地址之外的扇区地址,用于在所选页中存取除了第一扇区之外的扇区时,启动用于向NAND闪存传送扇区数据的第二数据总线。14.权利要求12的所述方法,进一步包括当扇区地址包括第一扇区地址而且在另一个页上的写入操作正在进行时,完成在另一页上的写入操作。15.权利要求11的所述方法,其中每一扇区具有512B大小且每一页具有2KB大小。16.—种存储卡,包括NAND闪存,包括多个页,每一页包括多个扇区;以及存储控制器,用于从主机接收扇区数据和对应扇区地址,当扇区地址是用于存取所选页中的第一扇区的地址时,存储控制器能够经由緩存通过第一数据总线向NAND闪存传送扇区数据,而且当扇区地址是用于在所选页中存取除了第一扇区之外的扇区的地址时,存储控制器能够绕过缓存通过第二数据总线向NAND闪存传送扇区数据。全文摘要一种与主机连接的存储卡,包括NAND闪存和存储控制器。NAND闪存包括多页,而且每一页包括多个扇区。存储控制器从主机接收扇区数据和对应扇区地址。当扇区地址是用于存取所选页中第一扇区的地址时,存储控制器能够经由缓存通过第一数据总线向NAND闪存传送扇区数据。当扇区地址是用于存取所选页中除了第一扇区之外的扇区的地址时,存储控制器能够绕过缓存通过第二数据总线向NAND闪存传送扇区数据。文档编号G11C7/10GK101145385SQ20071018215公开日2008年3月19日申请日期2007年8月6日优先权日2006年8月4日发明者金敬爱申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1