CN102317924A - 固态硬盘系统中缓冲器高缓的编程方法和装置 - Google Patents

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

Info

Publication number
CN102317924A
CN102317924A CN2009801566235A CN200980156623A CN102317924A CN 102317924 A CN102317924 A CN 102317924A CN 2009801566235 A CN2009801566235 A CN 2009801566235A CN 200980156623 A CN200980156623 A CN 200980156623A CN 102317924 A CN102317924 A CN 102317924A
Authority
CN
China
Prior art keywords
page
leaf
impact damper
memory chip
sacrifice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2009801566235A
Other languages
English (en)
Inventor
薛真镐
孟承冽
金镇洙
金载极
沈孝择
朴汉默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Indilinx Co Ltd
Original Assignee
Indilinx Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Indilinx Co Ltd filed Critical Indilinx Co Ltd
Publication of CN102317924A publication Critical patent/CN102317924A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提出一种固态硬盘系统中缓冲器高缓的编程方法和装置。根据本发明的实施例的固态硬盘系统的缓冲器(buffer)高缓(cache)编程装置,包括缓冲器高缓单元、存储器单元和控制单元。缓冲器高缓单元存储页,存储器单元包括多个存储器芯片,控制单元考虑向所述多个存储器芯片中的至少一个目标存储芯片中存储时可能发生的等待时间,将所述页中至少一个页选择为牺牲页(victim page)。

Description

固态硬盘系统中缓冲器高缓的编程方法和装置
技术领域
本发明涉及一种固态硬盘系统中缓冲器高缓的编程方法和装置,特别是,涉及一种固态硬盘系统中,减少在由多个存储器芯片构成的存储器中存储缓冲器高缓的页时所发生的延误的编程方法和装置。
背景技术
存储数据的存储装置有磁盘(magnetic disk)、半导体存储器等。由于存储装置根据种类互相具有不同的物理性特征,因此需要与物理性特征相对应的管理方法。
现有存储装置中磁盘被广泛地使用(magnetic disk)。磁盘的特征为平均每千字节(kilobyte)需要数毫秒(millisecond)的读写时间。此外,磁盘的特征为,根据数据被存储的物理性位置光标(arm)到达的时间的不同,因此读写的时间也不同。
最近,比起磁盘,读写时间短、电力消耗低、体积小的非易失性(non-volatile)存储器在加速地替代磁盘。这是因为非易失性存储器实现了大容量化而产生的结果。
非易失性存储器可用电力进行读取(read)、写入(write)及擦除(erase),并在没有电源的状态下也能维持被存储的数据的一种半导体存储器装置。用于非易失性存储器装置的数据存储过程,除了被叫作写入以外,还被叫作编程(programming)。
具代表性的非易失性存储器可为闪存(Flash memory),闪存比起现有的硬盘驱动器HDD(Hard Disk Drive),体积小、电力消耗低,具有可提高读取速度的优点。最近,用于利用大容量闪存来替代HDD的固态硬盘SSD(SolidState Disk)也已被提议出来。
闪存的种类中,具代表性的为NAND方式的闪存和NOR方式的内存等。NAND方式和NOR方式可根据信元(cell)阵列(array)的结构和操作方式被区分。
称一个闪存为闪存芯片时,为了大容量可被构成为使用多个闪存芯片的多芯片。在这种情况下,多个闪存芯片共享一个数据总线。闪存在写入及擦除中所需的时间比传送相对来说要久。因此,在多芯片的情况下,利用流水线(pipelining)技法。流水线是指在执行向一个闪存芯片写入命令期间,按顺序地对其他闪存芯片进行传送和写入,可起到隐藏用于一个芯片的写入时间的效果。
另外,作为现有的闪存的基本读取/写入的单位的页,比主机中指示的基本命令的单位扇区要大许多。因此,主机在发出小单位的写入命令语时,控制器通过缓冲器高缓或闪存转换层,从所对应的闪存芯片读取其原本页,利用请求的扇区创建一个页。此后,必须进行将创建的一个页在闪存芯片中重新使用的附加工作,但是在这种情况下,控制器在存储原本页的闪存芯片处于写入操作时,为了读取原本页必须等待直到写入操作结束为止。
发明内容
技术课题
本发明的实施例,提供一种固态硬盘系统中缓冲器高缓的编程方法和装置。
本发明的实施例,提供一种固态硬盘系统中的编程方法和装置,其减少在由多个存储器芯片构成的存储器中存储缓冲器高缓的页时所发生的延误。
本发明的实施例,提供一种固态硬盘系统中优先存储的编程方法和装置,其在由多个存储器芯片所构成的存储器中存储缓冲器高缓的页时,无须等待,即生成能够存储的页。
技术方案
根据本发明的实施例的固态硬盘系统的缓冲器高缓的编程装置,包括缓冲器高缓单元、存储器单元和控制单元。缓冲器高缓单元存储页;存储器单元包括多个存储器芯片;控制单元考虑向所述多个存储器芯片中的至少一个目标存储芯片中存储时可能发生的等待时间,将所述页中至少一个页选择为牺牲页。
根据本发明的实施例的固态硬盘系统的缓冲器高缓的编程装置,包括缓冲器高缓单元、存储器单元和控制单元。缓冲器高缓单元存储页;存储器单元包括一个以上存储器芯片;控制单元在为将从所述缓冲器高缓单元的所述页中选出的牺牲页存储至存储器单元的目标存储器器芯片中须等待时,选择新的牺牲页,直到选择到无须等待便能够存储的牺牲页。
根据本发明的实施例的固态硬盘系统的缓冲器高缓编程方法,包括以下步骤:从缓冲器高缓单元的页中选择牺牲页;和当为将所述牺牲页存储至存储器单元的目标存储器芯片中须等待时,选择新的牺牲页,直到选择到无须等待便能够存储的牺牲页。
技术效果
根据本发明的实施例,涉及一种固态硬盘系统中缓冲器高缓的编程方法和装置,其包括缓冲器高缓单元、存储器单元和控制单元,其中缓冲器高缓单元存储页;存储器单元包括一个以上存储器芯片;控制单元考虑向所述多个存储器芯片中的至少一个目标存储芯片中存储时可能发生的等待时间,将至少一个页选择为牺牲页,由此减少将缓冲器高缓的页存储时所发生的延误,提高写入的性能。
附图说明
图1是示出根据本发明的一个实施例的无延误地存储缓冲器高缓的页的固态硬盘系统的结构的示图;
图2是示出根据本发明的一个实施例的固态硬盘系统中存储器单元的结构的示图;
图3是示出根据本发明的一个实施例的将固态硬盘系统中无延误地存储缓冲器高缓的页的例子与现有方法作比较的示图;
图4是示出根据本发明的一个实施例的固态硬盘系统中无延误地将缓冲器高缓的页存储的过程的流程图。
具体实施方式
以下,将参照附图对本发明的实施例进行详细说明,但是本发明的并不受实施例的限制或限定。各附图中出示的相同的参考符号表示相同的结构。此外,当某些内容被判断为会没必要地使本发明的要点模糊不清时,省略其详细的说明。
本发明的实施例是涉及一种固态硬盘系统中的编程方法和装置,其减少将缓冲器高缓的页存储在由多个存储器芯片所构成的存储器中时发生的延误,以下将参照图1,对根据本发明的实施例的固态硬盘系统的构造进行说明。
图1是示出根据本发明的一个实施例的无延误地存储缓冲器高缓的页的固态硬盘系统的结构的示图。
参照图1,固态硬盘SSD(Solid State Disk)系统120可包括缓冲器高缓单元122、转换层单元124、存储器单元126和控制单元128。
主机110向固态硬盘系统120请求扇区单位的读取或写入。
缓冲器高缓单元122为了减少在读取操作或写入操作中所需的时间,存储经常使用的数据。缓冲器高缓单元122可专门进行写入操作。其起到掩盖存储器单元126的缓慢写入性能的作用。即,同样的请求在较快的时间内再次进入时,可立即在缓冲器高缓单元122中处理,因此不需要搜索存储器单元126。
转换层单元124,可基于对至少一个闲置条的存取结果,生成物理扇区(physical sector)和逻辑扇区(logical sector)之间的映射。也就是说,转换层单元124将请求的逻辑地址转换为对应的物理地址,并将物理地址转换为逻辑地址。此外,转换层单元124由于存储器单元的基本读取或写入的单位为页,所以将扇区单位的请求转换为页单位。
存储器单元126以包括多个存储器芯片来构成,以下将参照图2来说明存储器单元126的结构.
图2是示出根据本发明的一个实施例的固态硬盘系统中存储器单元的结构的示图。
参考图2,固态硬盘系统120因大容量的需要,不是将存储器单元由一个存储器芯片来构成,而是将其由许多个的存储器芯片222、224、226构成。此外,许多个的存储器芯片222、224、226共享一个数据总线210。
存储器芯片222、224、226作为固态硬盘SSD(Solid State Disk),可作用为NAND方式的闪存或NOR方式的闪存等。存储器芯片222、224、226在写入或擦除的命令中所需的时间比传送相对来说要久,因此利用流水线(pipelining)技法。
此外,存储器单元126,不受图2的限定,可由按频道具备数据总线的多个频道来构成。在这种情况下,多个存储器芯片与多个频道中的任何一个相连接,且多个频道互相独立。
控制单元128控制固态硬盘系统120的整体的操作,并根据本发明的实施例,其可控制转换层单元124。即,所述控制单元128可执行转换层单元124的功能。本发明中将其分开构成来示出是为了将各功能区别来说明。因此,在实际体现产品时,可将转换层单元124构成为在控制单元128中处理。
此外,控制单元128,当感应到缓冲器高缓单元122的存储活动时,在可使用的存储器芯片的闲置(idle)存储器芯片中选择目标存储器芯片。在这种情况下,目标存储器芯片的选择,是将存储器单元126的闲置存储器芯片中空着的可存储空间最大的存储器芯片选择为目标存储器芯片。即将闲置存储器芯片中自由页最多的存储器芯片选择为目标存储器芯片。
此后,控制单元128将缓冲器高缓单元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)等。程序指令的例子,既包括机器代码,如由编译器产生的,也包括含有可由计算机使用解释程序执行的更高级代码的文件。
如上所示,本发明中虽然已参照具体的构成要素等类似特定事项和有限的实施及附图进行了说明,但是本发明并不局限于所述实施例,在本发明所属领域中具备通常知识的人均可以从此记载中进行各种修改和变形。因此,本发明的范围不受说明的实施例的局限或定义,而是由后附的权利要求范围以及权利要求范围等同内容定义。

Claims (24)

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中任何一项所述方法的程序的计算机可读记录媒体。
CN2009801566235A 2009-02-11 2009-11-30 固态硬盘系统中缓冲器高缓的编程方法和装置 Pending CN102317924A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2009-0011138 2009-02-11
KR1020090011138A KR101056560B1 (ko) 2009-02-11 2009-02-11 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
PCT/KR2009/007067 WO2010093114A1 (ko) 2009-02-11 2009-11-30 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법 및 장치

Publications (1)

Publication Number Publication Date
CN102317924A true CN102317924A (zh) 2012-01-11

Family

ID=42561936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801566235A Pending CN102317924A (zh) 2009-02-11 2009-11-30 固态硬盘系统中缓冲器高缓的编程方法和装置

Country Status (6)

Country Link
US (1) US8874826B2 (zh)
EP (1) EP2397945A4 (zh)
JP (1) JP2012517645A (zh)
KR (1) KR101056560B1 (zh)
CN (1) CN102317924A (zh)
WO (1) WO2010093114A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630705A (zh) * 2015-06-10 2016-06-01 上海磁宇信息科技有限公司 数据存储装置及使用块替换表的读写方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101278591B1 (ko) * 2011-05-30 2013-06-25 성균관대학교산학협력단 플래시 메모리 시스템 및 그 동작 방법
US9645917B2 (en) * 2012-05-22 2017-05-09 Netapp, Inc. Specializing I/O access patterns for flash storage
US9734050B2 (en) * 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9785545B2 (en) * 2013-07-15 2017-10-10 Cnex Labs, Inc. Method and apparatus for providing dual memory access to non-volatile memory
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
CN105843746A (zh) * 2015-01-12 2016-08-10 广明光电股份有限公司 固态硬盘的写入方法
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US9880778B2 (en) 2015-11-09 2018-01-30 Google Inc. Memory devices and methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
GB2345987B (en) * 1999-01-19 2003-08-06 Advanced Risc Mach Ltd Memory control within data processing systems
US20070124531A1 (en) * 2005-11-30 2007-05-31 Sony Corporation Storage device, computer system, and storage device access method
CN101226505A (zh) * 2006-12-27 2008-07-23 株式会社东芝 磁盘装置以及控制该装置的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966462B2 (en) * 1999-08-04 2011-06-21 Super Talent Electronics, Inc. Multi-channel flash module with plane-interleaved sequential ECC writes and background recycling to restricted-write flash chips
US7660941B2 (en) * 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US7934074B2 (en) * 1999-08-04 2011-04-26 Super Talent Electronics Flash module with plane-interleaved sequential writes to restricted-write flash chips
US8108590B2 (en) * 2000-01-06 2012-01-31 Super Talent Electronics, Inc. Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear
US6910106B2 (en) * 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
JP4625675B2 (ja) * 2004-10-20 2011-02-02 株式会社日立製作所 ストレージ装置のリソース割り当て方法及びストレージ装置
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
JP4961693B2 (ja) * 2005-07-29 2012-06-27 ソニー株式会社 コンピュータシステム
JP5162846B2 (ja) * 2005-07-29 2013-03-13 ソニー株式会社 記憶装置、コンピュータシステム、および記憶システム
JP4910360B2 (ja) * 2005-10-20 2012-04-04 ソニー株式会社 記憶装置、コンピュータシステム、およびデータ書き込み方法
JP2008163474A (ja) * 2006-12-27 2008-07-17 Toray Ind Inc 繊維構造物
JP4382131B2 (ja) * 2008-01-10 2009-12-09 ソリッド ステート ストレージ ソリューションズ エルエルシー 半導体ディスク装置
KR20100021868A (ko) * 2008-08-18 2010-02-26 삼성전자주식회사 플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법
US8375178B2 (en) * 2008-11-12 2013-02-12 Oracle International Corporation Memory page eviction based on present system operation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
GB2345987B (en) * 1999-01-19 2003-08-06 Advanced Risc Mach Ltd Memory control within data processing systems
US20070124531A1 (en) * 2005-11-30 2007-05-31 Sony Corporation Storage device, computer system, and storage device access method
CN101226505A (zh) * 2006-12-27 2008-07-23 株式会社东芝 磁盘装置以及控制该装置的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DONGYOUNG SEO ET AL: "Recently-evicted-first buffer replacement policy for flash storage devices", 《IEEE SERVICE CENTER》 *
KIM HYOJUN KIM ET AL: "a buffer management scheme for improving random writes in flash storage", 《FAST 2008》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630705A (zh) * 2015-06-10 2016-06-01 上海磁宇信息科技有限公司 数据存储装置及使用块替换表的读写方法
CN105630705B (zh) * 2015-06-10 2019-09-17 上海磁宇信息科技有限公司 数据存储装置及使用块替换表的读写方法

Also Published As

Publication number Publication date
WO2010093114A1 (ko) 2010-08-19
US8874826B2 (en) 2014-10-28
JP2012517645A (ja) 2012-08-02
KR101056560B1 (ko) 2011-08-11
US20110296089A1 (en) 2011-12-01
KR20100091782A (ko) 2010-08-19
EP2397945A1 (en) 2011-12-21
EP2397945A4 (en) 2012-10-24

Similar Documents

Publication Publication Date Title
CN102317924A (zh) 固态硬盘系统中缓冲器高缓的编程方法和装置
US8966231B2 (en) Modifying commands
US20050055493A1 (en) [method for accessing large block flash memory]
US8332573B2 (en) Method and apparatus for performing address mapping in virtual file system of storage unit having a plurality of non-volatile data storage media
US9671962B2 (en) Storage control system with data management mechanism of parity and method of operation thereof
CN112765006B (zh) 固态硬盘日志生成方法及其固态硬盘
US9323661B2 (en) Memory system and control method thereof
US8375159B2 (en) Electronic storage device and control method thereof
US11630766B2 (en) Memory system and operating method thereof
CN102356382A (zh) Dram缓冲器管理装置和方法
CN101727395A (zh) 闪存设备的管理系统、方法及闪存设备
CN109671458A (zh) 管理闪存模块的方法及相关的闪存控制器
CN106802870B (zh) 一种高效的嵌入式系统芯片Nor-Flash控制器及控制方法
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
CN104679442A (zh) 一种提高磁盘阵列性能的方法及装置
US10365834B2 (en) Memory system controlling interleaving write to memory chips
US12086462B2 (en) Pre-suspend before program in a non-volatile memory (NVM)
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
US11003580B1 (en) Managing overlapping reads and writes in a data cache
US11106390B1 (en) Combining in-process reads to reduce die collisions
US8566562B2 (en) Method for sequentially writing data with an offset to a non-volatile memory
US20100217923A1 (en) Storage device with flash memory
US20240020250A1 (en) Memory system, memory controller and operation method thereof
CN101510173B (zh) 一种减少储存次数的资料储存方法及其装置
CN101685382B (zh) 使用第一及第二存储装置的磁盘加速

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120111