固态硬盘系统中缓冲器高缓的编程方法和装置的制作方法

文档序号:6596306阅读:295来源:国知局
专利名称:固态硬盘系统中缓冲器高缓的编程方法和装置的制作方法
技术领域
本发明涉及一种固态硬盘系统中缓冲器高缓的编程方法和装置,特别是,涉及一种固态硬盘系统中,减少在由多个存储器芯片构成的存储器中存储缓冲器高缓的页时所发生的延误的编程方法和装置。
背景技术
存储数据的存储装置有磁盘(magnetic disk)、半导体存储器等。由于存储装置根据种类互相具有不同的物理性特征,因此需要与物理性特征相对应的管理方法。现有存储装置中磁盘被广泛地使用(magnetic disk)。磁盘的特征为平均每千字节(kilobyte)需要数毫秒(millisecond)的读写时间。此外,磁盘的特征为,根据数据被存储的物理性位置光标(arm)到达的时间的不同,因此读写的时间也不同。最近,比起磁盘,读写时间短、电力消耗低、体积小的非易失性(non-volatile)存储器在加速地替代磁盘。这是因为非易失性存储器实现了大容量化而产生的结果。非易失性存储器可用电力进行读取(read)、写入(write)及擦除(erase),并在没有电源的状态下也能维持被存储的数据的一种半导体存储器装置。用于非易失性存储器装置的数据存储过程,除了被叫作写入以外,还被叫作编程(programming)。具代表性的非易失性存储器可为闪存(Flash memory),闪存比起现有的硬盘驱动器HDD(Hard Disk Drive),体积小、电力消耗低,具有可提高读取速度的优点。最近,用于利用大容量闪存来替代HDD的固态硬盘SSD(Solid State Disk)也已被提议出来。闪存的种类中,具代表性的为NAND方式的闪存和NOR方式的内存等。NAND方式和 NOR方式可根据信元(cell)阵列(array)的结构和操作方式被区分。称一个闪存为闪存芯片时,为了大容量可被构成为使用多个闪存芯片的多芯片。 在这种情况下,多个闪存芯片共享一个数据总线。闪存在写入及擦除中所需的时间比传送相对来说要久。因此,在多芯片的情况下,利用流水线(pipelining)技法。流水线是指在执行向一个闪存芯片写入命令期间,按顺序地对其他闪存芯片进行传送和写入,可起到隐藏用于一个芯片的写入时间的效果。另外,作为现有的闪存的基本读取/写入的单位的页,比主机中指示的基本命令的单位扇区要大许多。因此,主机在发出小单位的写入命令语时,控制器通过缓冲器高缓或闪存转换层,从所对应的闪存芯片读取其原本页,利用请求的扇区创建一个页。此后,必须进行将创建的一个页在闪存芯片中重新使用的附加工作,但是在这种情况下,控制器在存储原本页的闪存芯片处于写入操作时,为了读取原本页必须等待直到写入操作结束为止。

发明内容
技术课题本发明的实施例,提供一种固态硬盘系统中缓冲器高缓的编程方法和装置。本发明的实施例,提供一种固态硬盘系统中的编程方法和装置,其减少在由多个存储器芯片构成的存储器中存储缓冲器高缓的页时所发生的延误。本发明的实施例,提供一种固态硬盘系统中优先存储的编程方法和装置,其在由多个存储器芯片所构成的存储器中存储缓冲器高缓的页时,无须等待,即生成能够存储的页。技术方案根据本发明的实施例的固态硬盘系统的缓冲器高缓的编程装置,包括缓冲器高缓单元、存储器单元和控制单元。缓冲器高缓单元存储页;存储器单元包括多个存储器芯片; 控制单元考虑向所述多个存储器芯片中的至少一个目标存储芯片中存储时可能发生的等待时间,将所述页中至少一个页选择为牺牲页。根据本发明的实施例的固态硬盘系统的缓冲器高缓的编程装置,包括缓冲器高缓单元、存储器单元和控制单元。缓冲器高缓单元存储页;存储器单元包括一个以上存储器芯片;控制单元在为将从所述缓冲器高缓单元的所述页中选出的牺牲页存储至存储器单元的目标存储器器芯片中须等待时,选择新的牺牲页,直到选择到无须等待便能够存储的牺牲页。根据本发明的实施例的固态硬盘系统的缓冲器高缓编程方法,包括以下步骤从缓冲器高缓单元的页中选择牺牲页;和当为将所述牺牲页存储至存储器单元的目标存储器芯片中须等待时,选择新的牺牲页,直到选择到无须等待便能够存储的牺牲页。技术效果根据本发明的实施例,涉及一种固态硬盘系统中缓冲器高缓的编程方法和装置, 其包括缓冲器高缓单元、存储器单元和控制单元,其中缓冲器高缓单元存储页;存储器单元包括一个以上存储器芯片;控制单元考虑向所述多个存储器芯片中的至少一个目标存储芯片中存储时可能发生的等待时间,将至少一个页选择为牺牲页,由此减少将缓冲器高缓的页存储时所发生的延误,提高写入的性能。


图1是示出根据本发明的一个实施例的无延误地存储缓冲器高缓的页的固态硬盘系统的结构的示图;图2是示出根据本发明的一个实施例的固态硬盘系统中存储器单元的结构的示图;图3是示出根据本发明的一个实施例的将固态硬盘系统中无延误地存储缓冲器高缓的页的例子与现有方法作比较的示图;图4是示出根据本发明的一个实施例的固态硬盘系统中无延误地将缓冲器高缓的页存储的过程的流程图。
具体实施例方式以下,将参照附图对本发明的实施例进行详细说明,但是本发明的并不受实施例的限制或限定。各附图中出示的相同的参考符号表示相同的结构。此外,当某些内容被判断为会没必要地使本发明的要点模糊不清时,省略其详细的说明。本发明的实施例是涉及一种固态硬盘系统中的编程方法和装置,其减少将缓冲器高缓的页存储在由多个存储器芯片所构成的存储器中时发生的延误,以下将参照图1,对根据本发明的实施例的固态硬盘系统的构造进行说明。图1是示出根据本发明的一个实施例的无延误地存储缓冲器高缓的页的固态硬盘系统的结构的示图。参照图1,固态硬盘SSD(Solid State Disk)系统120可包括缓冲器高缓单元122、 转换层单元124、存储器单元1 和控制单元128。主机110向固态硬盘系统120请求扇区单位的读取或写入。缓冲器高缓单元122为了减少在读取操作或写入操作中所需的时间,存储经常使用的数据。缓冲器高缓单元122可专门进行写入操作。其起到掩盖存储器单元126的缓慢写入性能的作用。即,同样的请求在较快的时间内再次进入时,可立即在缓冲器高缓单元 122中处理,因此不需要搜索存储器单元126。转换层单元124,可基于对至少一个闲置条的存取结果,生成物理扇区(physical sector)和逻辑扇区(logical sector)之间的映射。也就是说,转换层单元1 将请求的逻辑地址转换为对应的物理地址,并将物理地址转换为逻辑地址。此外,转换层单元124由于存储器单元的基本读取或写入的单位为页,所以将扇区单位的请求转换为页单位。存储器单元126以包括多个存储器芯片来构成,以下将参照图2来说明存储器单元126的结构.图2是示出根据本发明的一个实施例的固态硬盘系统中存储器单元的结构的示图。参考图2,固态硬盘系统120因大容量的需要,不是将存储器单元由一个存储器芯片来构成,而是将其由许多个的存储器芯片222、224、2沈构成。此外,许多个的存储器芯片 222,224,226共享一个数据总线210。存储器芯片222、224、226作为固态硬盘SSD(Solid State Disk),可作用为NAND 方式的闪存或NOR方式的闪存等。存储器芯片222、224、2沈在写入或擦除的命令中所需的时间比传送相对来说要久,因此利用流水线(pipelining)技法。此外,存储器单元126,不受图2的限定,可由按频道具备数据总线的多个频道来构成。在这种情况下,多个存储器芯片与多个频道中的任何一个相连接,且多个频道互相独立。控制单元1 控制固态硬盘系统120的整体的操作,并根据本发明的实施例,其可控制转换层单元124。即,所述控制单元1 可执行转换层单元124的功能。本发明中将其分开构成来示出是为了将各功能区别来说明。因此,在实际体现产品时,可将转换层单元 124构成为在控制单元128中处理。此外,控制单元128,当感应到缓冲器高缓单元122的存储活动时,在可使用的存储器芯片的闲置(idle)存储器芯片中选择目标存储器芯片。在这种情况下,目标存储器芯片的选择,是将存储器单元126的闲置存储器芯片中空着的可存储空间最大的存储器芯片选择为目标存储器芯片。即将闲置存储器芯片中自由页最多的存储器芯片选择为目标存储器芯片ο此后,控制单元1 将缓冲器高缓单元122中被存储的扇区单位的数据以页为单位进行区分,且选择页中最久没被使用的页作为目标存储器芯片中将被存储的牺牲(victim)页。本发明的实施例中,牺牲页是指存储器芯片中将被存储的页。此后,控制单元128,当为将选择的牺牲页存储至存储器单元的目标存储器芯片中须等待时,选择新的牺牲页,直到选择到无须等待便可存储的牺牲页。牺牲页须等待的情况,是牺牲页为部分页且存储牺牲页的原本页的存储器芯片为不闲置的情况。本发明的实施例中,部分页是指缓冲器高缓单元122中存储的数据不是构成页的整个数据而是一部分的情况。无须等待便可存储的牺牲页,在牺牲页为整个页的情况下可以。此外,无须等待便可存储的牺牲页,也可在牺牲页为部分页且存储牺牲页的原本页的存储器芯片为不闲置的情况下可以。本发明的实施例中,整个页是指缓冲器高缓单元122中被存储的数据是构成页的整个数据。控制单元128,在牺牲页为部分页且存储牺牲页的原本页的存储器芯片为闲置时, 在存储器单元126中读取原本页,并将牺牲页一起合并存储在目标存储器芯片中。控制单元128,牺牲页为整个页的话,将牺牲页存储在目标存储器芯片中。控制单元128,当不存在用于目标存储器芯片的无须等待便可存储的牺牲页时,选择存储器单元126中新的目标存储器芯片,并选择新的牺牲页,直到选择到无须等待便可存储的牺牲页。图3是示出根据本发明的一个实施例的将固态硬盘系统中无延误地存储缓冲器高缓的页的例子与现有方法作比较的示图。参考图3,由4个存储器芯片构成的存储器单元310中,存储有如图所示顺序的页。缓冲器高缓单元320中,存储有多个页,且位于左侧的页是很久之前的页,存储的顺序为从左侧页至右侧页的顺序。在此,缓冲器高缓单元320中存储的页中,用阴影表示的页为整个页,且没有用阴影表示的页为部分页。观察根据现有的一般的存储方法的图表330的话,固态硬盘系统将整个页第6页传送至第1存储器芯片,且在第1存储器芯片写入期间将下一个第7页传送至第2存储器芯片,且在第2存储器芯片写入期间传送下一个第8页。固态硬盘系统如上所述,将第6页至第9页传送至所对应的闲置页。即,整个页第6、第7、第8、第9页通过数据总线按顺序地被传送。此后,固态硬盘系统在存储部分页第2页之前确认存储器单元310。确认结果可确认为存储有第2页的整个页的第3芯片为使用中。因此,固态硬盘系统在芯片等待的时间 332期间等待,直到第3芯片为闲置状态为止。此外,固态硬盘系统,可读取第2页的整个页来与第2页的部分页结合,并发送至第1存储芯片来将其存储后,存储整个页即第5页。但是,观察使用根据本发明的实施例的存储方法的时间图表340,由于第2页是需要等待时间的页,所以先将不需要等待时间的第5页存储。此外,存储第5页后,在第3存储器芯片为使用中且不存在无须等待便可存储的页时,固态硬盘系统可在等待后与被存储的第2页的整个页一起合并存储。但是,存储第5页后,在第3存储器芯片为闲置时,固态硬盘系统无须等待,可将第2页的整个页与第2页的部分页一起合并存储在闲置的存储器芯片中。以下,将参照下面的示图,来对在根据如上所述构成的本发明的固态硬盘系统的缓冲器高缓的编程方法进行说明。
图4是示出根据本发明的一个实施例的固态硬盘系统中无延误地将缓冲器高缓的页存储的过程的流程图。参照图4,根据本发明的实施例,固态硬盘系统,在步骤400中感应缓冲器高缓存储活动的发生时进行步骤402,在没被选择的闲置存储器芯片中选择目标存储器芯片。在这种情况下,目标存储器芯片的选择,将所述存储器单元的闲置存储器芯片中空着的可存储空间最大的存储器芯片选择为目标存储器芯片。即将闲置存储器芯片中自由页最多的存储器芯片选择为目标存储器芯片。此后,固态硬盘系统进行步骤404,将没被选择的页中最久没被使用的页选择为要存储至目标存储器芯片中的牺牲页。固态硬盘系统进行步骤406来确认牺牲页是否为部分页。当确认结果为牺牲页是整个页时,进行步骤402,将牺牲页存储至目标存储器芯片中,并进行步骤416。当步骤406的确认结果为牺牲页是部分页时,固态硬盘系统进行408步骤,确认存储牺牲页的原本页的存储器芯片是否闲置。当步骤408的确认结果为存储牺牲页的原本页的存储器芯片闲置时,固态硬盘系统进行步骤410,读取原本页,并将牺牲页一起合并存储在目标存储器芯片中,进行步骤 416。此后,固态硬盘系统进行步骤416来确认缓冲器高缓存储活动是否结束。在确认结果为存储活动没有结束时,返回步骤402。但是在存储活动结束时,结束根据本发明的实施例的算法。此外,当步骤408的确认结果为存储牺牲页的原本页的存储器芯片闲置时,固态硬盘系统进行步骤414,确认缓冲器高缓中将被存储在选择的目标存储器芯片中的没被选择的页是否存在。当步骤414的确认结果为存在没被选择的页时,固态硬盘系统返回404步骤,选择新的牺牲页并执行之后一系列的过程。但是,当步骤414的确认结果为不存在没被选择的页时,固态硬盘系统返回步骤 402,选择新的目标存储芯片并执行之后一系列的过程。根据本发明的用于固态硬盘的控制器的操作方法,包括包含由计算机执行各种操作的程序指令的计算机可读媒体。该媒体计算机可读可包括独立的或结合的程序指令、 数据文件、数据结构等。媒体和程序指令可专门为本发明的目的设计和创建,或为计算机软件技术人员熟知而应用。计算机可读媒体的例子包括磁媒体(magnetic media),如硬盘、软盘和磁带;光学媒体(optical media),如CD ROM、DVD ;磁光媒体(magneto-optical media),如光盘(floptical disk);和专门配置为存储和执行程序指令的硬件设备,如只读存储器(ROM)、随机存取存储器(RAM)等。程序指令的例子,既包括机器代码,如由编译器产生的,也包括含有可由计算机使用解释程序执行的更高级代码的文件。如上所示,本发明中虽然已参照具体的构成要素等类似特定事项和有限的实施及附图进行了说明,但是本发明并不局限于所述实施例,在本发明所属领域中具备通常知识的人均可以从此记载中进行各种修改和变形。因此,本发明的范围不受说明的实施例的局限或定义,而是由后附的权利要求范围以及权利要求范围等同内容定义。
权利要求
1.一种固态硬盘系统的缓冲器高缓编程装置,包括缓冲器高缓单元,其存储页;存储器单元,其包括多个存储器芯片;和控制单元,其考虑向所述多个存储器芯片中的至少一个目标存储芯片中存储时可能发生的等待时间,将所述页中至少一个页选择为牺牲页。
2.如权利要求1所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元,在选择所述牺牲页时,考虑所述页的使用频率或最近的使用时间来选择。
3.如权利要求1所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元,将所述页中,没有被选为过牺牲页的最久没有被使用且向所述目标存储器芯片中存储时无须等待便能够存储的页选择为所述牺牲页。
4.如权利要求3所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述牺牲页须等待的情况,是所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为不闲置的情况。
5.如权利要求3所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述无须等待便能够存储的牺牲页,是所述牺牲页为整个页的情况,或所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为闲置的情况。
6.如权利要求1所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元, 在所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为闲置时,读取所述原本页,并将所述牺牲页一起合并存储在所述目标存储器芯片中。
7.如权利要求1所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元,在所述牺牲页为整个页时,将所述牺牲页存储在所述目标存储器芯片中。
8.如权利要求1所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元,在选择所述牺牲页中,事先将所述存储器单元的闲置存储器芯片中空着的能够存储空间最大的存储器芯片选择为所述目标存储器芯片。
9.如权利要求1所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元,当新的牺牲页的选择结果为不存在所述无须等待便能够存储的牺牲页时,从所述存储器单元中新的目标存储器芯片。
10.一种固态硬盘系统的缓冲器高缓编程装置,包括缓冲器高缓单元,其存储页;存储器单元,其包括一个以上存储器芯片;和控制单元,其在为将从所述缓冲器高缓单元的所述页中选出的牺牲页存储至存储器单元的目标存储器器芯片中须等待时,选择新的牺牲页,直到选择到无须等待便能够存储的牺牲页。
11.如权利要求10所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元, 将所述缓冲器高缓单元的所述页中没被选择为存储对象的、最久没被使用的页选择为所述牺牲页或所述新的牺牲页。
12.如权利要求10所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元中所述牺牲页须等待的情况,是所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为不闲置的情况。
13.如权利要求10所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述无须等待便能够存储的牺牲页,是所述牺牲页为整个页的情况,或所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为闲置的情况。
14.如权利要求10所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元, 在所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为闲置时,读取所述原本页,并将所述牺牲页一起合并存储在所述目标存储器芯片中。
15.如权利要求10所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元, 在所述牺牲页为整个页时,将所述牺牲页存储在所述目标存储器芯片中。
16.如权利要求10所述的固态硬盘系统的缓冲器高缓编程装置,其中,所述控制单元, 在选择所述牺牲页中,事先将所述存储器单元的闲置存储器芯片中空着的能够存储空间最大的存储器芯片选择为所述目标存储器芯片。
17.一种固态硬盘系统的缓冲器高缓编程方法,包括以下步骤从缓冲器高缓单元的页中选择牺牲页;和当为将所述牺牲页存储至存储器单元的目标存储器芯片中须等待时,选择新的牺牲页,直到选择到无须等待便能够存储的牺牲页。
18.如权利要求17所述的固态硬盘系统的缓冲器高缓编程方法,其中,所述牺牲页或所述新的牺牲页的选择,将所述缓冲器高缓单元的所述页中没被选择为存储对象的、最久没被使用的页选择为所述牺牲页或所述新的牺牲页。
19.如权利要求17所述的固态硬盘系统的缓冲器高缓编程方法,其中,当所述牺牲页须等待的情况,是所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为不闲置的情况。
20.如权利要求17所述的固态硬盘系统的缓冲器高缓编程方法,其中,所述无须等待便能够存储的牺牲页,是所述牺牲页为整个页的情况,或所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为闲置的情况。
21.如权利要求17所述的固态硬盘系统的缓冲器高缓编程方法,其进一步包括以下步骤当所述无须等待便能够存储的牺牲页被选中时,在所述牺牲页为部分页且存储所述牺牲页的原本页的存储器芯片为闲置时,读取所述原本页,并将所述牺牲页一起合并存储在所述目标存储器芯片中。
22.如权利要求17所述的固态硬盘系统的缓冲器高缓编程方法,其进一步包括以下步骤当所述无须等待便能够存储的所述牺牲页被选中时,在所述牺牲页为整个页时,将所述牺牲页存储在所述目标存储器芯片中。
23.如权利要求17所述的固态硬盘系统的缓冲器高缓编程方法,在从所述缓冲器高缓单元的页中选择所述牺牲页的步骤之前,在具有一个以上存储器芯片的所述存储器单元的闲置存储器芯片中,将空着的能够存储空间最大的存储器芯片选择为所述目标存储器芯片。
24.一种记录有用于执行权利要求17至23中任何一项所述方法的程序的计算机可读记录媒体。
全文摘要
本发明提出一种固态硬盘系统中缓冲器高缓的编程方法和装置。根据本发明的实施例的固态硬盘系统的缓冲器(buffer)高缓(cache)编程装置,包括缓冲器高缓单元、存储器单元和控制单元。缓冲器高缓单元存储页,存储器单元包括多个存储器芯片,控制单元考虑向所述多个存储器芯片中的至少一个目标存储芯片中存储时可能发生的等待时间,将所述页中至少一个页选择为牺牲页(victim page)。
文档编号G06F13/10GK102317924SQ200980156623
公开日2012年1月11日 申请日期2009年11月30日 优先权日2009年2月11日
发明者孟承冽, 朴汉默, 沈孝择, 薛真镐, 金载极, 金镇洙 申请人:韩商英得联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1