CN103135945A - 用于ssd的多通道动态读写调度方法 - Google Patents
用于ssd的多通道动态读写调度方法 Download PDFInfo
- Publication number
- CN103135945A CN103135945A CN2013100969326A CN201310096932A CN103135945A CN 103135945 A CN103135945 A CN 103135945A CN 2013100969326 A CN2013100969326 A CN 2013100969326A CN 201310096932 A CN201310096932 A CN 201310096932A CN 103135945 A CN103135945 A CN 103135945A
- Authority
- CN
- China
- Prior art keywords
- request
- write
- read
- read request
- data
- 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.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种用于SSD的多通道动态读写调度方法,该方法根据轮转调度策略选择写请求的目标通道,记录该通道上的读请求序列,同时将主机端发送的写请求缓存在SSD的写缓冲中,当写缓冲中的数据量累积达到指定阈值时,分析目标通道上的读请求序列,找出其中的热点数据,将热点数据预取到写缓冲以提高读请求的命中率,然后将写缓冲累积的写请求调度到目标通道执行,在执行写请求的同时响应排队等待的读请求,最终将累积的写请求执行完毕。本发明具有各通道写入均衡、SSD使用寿命长、写请求对读请求影响小、垃圾回收对读请求影响小、读延迟低的优点。
Description
技术领域
本发明涉及SSD(固态盘)内部的读写调度方法,具体涉及一种用于SSD的多通道动态读写调度方法。
背景技术
基于闪存的SSD(Solid State Drive,固态盘)是一种新型的大容量存储设备。闪存的基本读写单位是页(Page)。如果一个页已经包含一份数据,当需要更新这份数据时,不能将新的数据直接写到该页上,因为已经包含数据的页只有被擦除(Erase)之后才能再次写入新的数据。擦除操作延迟很大,且擦除操作的基本单位是块(Block),一块包含2i(64或128)个页,不能因为一页数据的修改就擦除整个块。所以,对于SSD中的数据更新,通常的做法是将更新的数据写到一个新的页,如何选择新的页取决于SSD的写调度策略。目前采用的调度方法主要有以下几种:
1、考虑寿命的写调度策略。闪存擦除操作的基本单位是块,每个块能擦除的次数是有限的。如果一块的擦除次数超过限制,该块内的数据出错几率变大,可能导致数据丢失。在SSD内部,所有块的擦除次数应尽可能一致。如果一些块因为擦除次数过多而损坏,SSD的总容量会减少。考虑寿命的写调度策略就是在SSD的所有块之间均匀的写。具体做法是:主机端发出的写请求到达时,SSD将数据优先写到擦除次数最少的块上。这种策略充分考虑了寿命问题,但不能兼顾读写延迟。例如,这种策略可能将多个写请求调度到同一块闪存芯片上,导致这些写请求排队等待,从而增大写延迟。
2、通道间的轮转调度策略。为了避免写请求的排队等待,可以将写请求调度到不同的闪存芯片上,通道间的轮转调度策略就是基于这一原理设计的。SSD包含多个通道,每个通道连接多块闪存芯片。通道间的轮转调度策略将写请求依次调度到不同的通道上,写请求之间不会相互影响。在一个通道内部,还可以采用考虑寿命的写调度策略,优先将数据写入该通道内擦除次数最少的块上。这种调度策略可以避免写请求之间的相互影响,但不能避免写请求和读请求之间的影响。如果一个通道正在响应读请求,向该通道调度写请求仍然会导致排队等待。
3、空闲通道调度策略。空闲通道调度策略作进一步的改进,只向空闲的通道调度写请求,尽可能避免写请求之间、以及写请求和读请求之间的影响,但这种方法存在两方面的缺陷。首先,由于一直向空闲的通道上调度写请求,可能导致通道间写入的数据量不均衡,一些通道上的块过早的损坏,SSD容量减少。其次,不能完全消除写请求对读请求的影响。如果SSD向一个通道调度一个写请求后,主机端随后向该通道发送一个读请求,读请求不能调度到其它通道上,只能在该通道上排队等待。由于写操作延迟很大,且主机端的应用程序正在等待读请求的数据,读请求被阻塞会显著增加应用程序的等待时间。
发明内容
本发明要解决的技术问题是提供一种各通道写入均衡、SSD使用寿命长、写请求对读请求影响小、垃圾回收对读请求影响小、读延迟低的用于SSD的多通道动态读写调度方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于SSD的多通道动态读写调度方法,其实施步骤如下:
1)在SSD内预先配备一个基于DRAM的写缓冲,在所述写缓冲中初始化用于指定SSD当前通道的目标通道、用于记录目标通道累计写请求数目的写请求计数器、用于缓存写请求的地址和数据的FIFO队列、用于记录目标通道上读请求的读请求序列;
2)根据轮转调度策略从SSD的多个通道中选择一个目标通道,跳转执行下一步;
3)接受主机端发送的读写请求,跳转执行下一步;
4)判定读写请求的请求类型,如果请求类型为读请求,跳转执行步骤5);如果请求类型为写请求,跳转执行步骤7);
5)判定所述读请求是否为指向目标通道的读请求,若读请求指向目标通道则跳转执行步骤6),否则将读请求的数据从闪存芯片取出后直接返回给用户,等待在下一个读写请求到来时跳转执行步骤3);
6)将读请求记录至目标通道的读请求序列中,并将读请求的数据从闪存芯片中读出返回给用户,等待在下一个读写请求到来时跳转执行步骤3);
7)将写请求的地址和数据加入FIFO队列中,跳转执行下一步;
8)通过所述写请求计数器将写请求数目进行累加,跳转执行下一步;
9)检测写请求数目是否大于指定阈值,如果大于指定阈值则跳转执行步骤10);否则等待在下一个读写请求到来时跳转执行步骤3);
10)分析目标通道的读请求序列,根据目标通道的读请求序列中逻辑地址的访问次数从SSD中预取读请求访问热点数据,跳转执行下一步;
11)从所述FIFO队列中取出第一个写请求,在目标通道中分派该写请求所需的空间,等待该写请求处理完毕后跳转执行步骤12);
12)检测目标通道上是否有等待的读请求,如果有读请求排队等待则跳转执行步骤13),否则,跳转执行步骤14);
13)处理目标通道上排队等待的读请求,如果读请求与所述写缓冲中的读请求访问热点数据发生命中,则直接将所述写缓冲中读取命中的数据返回到主机端,否则从SSD中将读请求的请求数据返回到主机端,跳转执行下一步;
14)检查FIFO队列中的写请求是否处理完毕,若处理完毕,则跳转执行步骤2)重新选择新的目标通道;否则,则跳转执行步骤11)。
作为本发明上述技术方案的进一步改进:
所述步骤1)中初始化的读请求序列为哈希表,所述哈希表的每一项记录包含逻辑地址以及逻辑地址的访问次数。
所述步骤6)将读请求记录至目标通道的读请求序列中时,首先读请求的逻辑地址是否已经存在于所述哈希表中,如果已经存在则将所述哈希表中所述逻辑地址的访问次数加1;否则将读请求的逻辑地址添加至所述哈希表中,并将对应的访问次数设置为1。
所述步骤10)的详细步骤如下:分析目标通道的哈希表中的所有记录,依次处理哈希表中的逻辑地址,如果一个逻辑地址的访问次数大于1,将逻辑地址对应的数据预取到SSD的写缓冲,每预取一个逻辑地址的读请求访问数据,则将所述逻辑地址从哈希表中删除;同时根据逻辑地址的访问次数将预取的数据进行分组,在预取数据时如果SSD的写缓冲空间不足,则将访问次数低于当前逻辑地址对应访问次数的分组中的数据全部释放,在所述哈希表中的逻辑地址全部处理完毕以后跳转执行步骤11)。
所述步骤11)在目标通道中分派该写请求所需的空间时,从目标通道中选择擦除次数最少的数据块,将所述擦除次数最少的数据块作为被分派给所述写请求所需的空间;同时如果所述写请求包含多个数据页,则将所述多个数据页调度到目标通道中的不同闪存芯片上。
本发明具有下述优点:
1、本发明的写调度策略保证SSD各通道上写入的数据量是均衡的,具有各通道写入均衡、SSD使用寿命长的优点,能够均衡SSD各个通道的损耗,进而提高SSD的使用寿命。步骤2)采用轮转调度的方式选择目标通道,每个通道被写入数据的机会均等;步骤6)中一旦写缓冲中积累的写请求数据量达到指定阈值,就将累计的数据写到目标通道上;以上两点保证各通道写入的数据量是均衡的。进一步,本发明在步骤11)在目标通道中分派该写请求所需的空间时,从目标通道中选择擦除次数最少的数据块,将擦除次数最少的数据块作为被分派给写请求所需的空间,通过采用考虑寿命的写调度机制,选择擦除次数最少的块,同样也能够提高通道内各个数据块之间的损耗均衡,提高SSD的使用寿命。
2.本发明的写调度策略减少了写请求对读请求的影响,具有写请求对读请求影响小的优点。本实施例的目标通道在处理写请求时,可能接收到来自主机端的读请求,读请求不能被调度到其他通道上,必须排队等待。为了减少读请求的等待时间,本发明采取两方面的措施。首先,本发明步骤10)分析目标通道的读请求序列,根据目标通道的读请求序列中逻辑地址的访问次数从SSD中预取读请求访问热点数据,这样大量的读请求在写缓冲中命中,不用向通道发送读请求,从而能够提高读请求的响应速度和效率;其次,本发明步骤12)在一个目标通道调度写请求时,每完成一个写请求的处理都需检测该通道上是否有等待的读请求,如果存在等待的读请求则优先处理。所以,读请求的阻塞时间最多为处理一个写请求的时间,具有写请求对读请求影响小的优点。
3.本发明的写调度策略能够减少垃圾回收对读请求的影响。用户更新一页数据时,SSD将更新的数据写到其它页,旧数据被标记为无效,SSD需要定期回收这些无效数据占据的空间,这个过程被称作垃圾回收。垃圾回收涉及读、写和擦除操作,对读请求影响很大。本发明在目标通道在垃圾回收之前,通过步骤10)将目标通道的热点数据预取到写缓冲中,导致大量读请求在写缓冲中命中,能够减少垃圾回收对读请求的影响。
附图说明
图1为本发明实施例的方法流程示意图。
具体实施方式
如图1所示,本实施例用于SSD的多通道动态读写调度方法的实施步骤如下:
1)初始化变量和数据结构:在SSD内预先配备一个基于DRAM的写缓冲,在写缓冲中初始化用于指定SSD当前通道的目标通道CT、用于记录目标通道累计写请求数目的写请求计数器(写请求计数器的值为写请求数目Nw)、用于缓存写请求的地址和数据的FIFO队列、用于记录目标通道上读请求的读请求序列。
步骤1)中初始化的读请求序列为哈希表,哈希表的每一项记录包含逻辑地址以及逻辑地址的访问次数,本实施例采用哈希表来存储读请求序列中的逻辑地址以及访问次数,具有存储占用空间小,读写速度快,维护简单的优点。
本实施例一共需要维护两个变量和两个数据结构,需要维护的变量有:目标通道CT是一个整数,记录下一次调度将把数据写到哪个通道上,目标通道CT被初始化为0,表明从第一个通道开始。每完成一个通道的调度,目标通道CT加1,指向下一个待调度的通道。累计写请求数目Nw是一个整数被初始化为0,累计写请求数目Nw达到一定阈值后触发热点数据预取和写请求调度,阈值的大小取决于写缓冲的大小。需要维护的数据结构有:FIFO(First InFirst Out,先进先出)队列记录待调度的写请求;哈希表记录指向CT的读请求。
2)根据轮转调度策略从SSD的多个通道中选择一个目标通道CT,跳转执行下一步。
本实施例中,轮转调度策略具体是指:CT被初始化为0,以后每处理完一个通道的写调度,CT值加1,并与N求模得到下一个目标通道CT,其中N是SSD内部的通道总数。CT记录记录当前的目标通道,该通道的写请求调度完毕后,CT指向下一个待调度的通道。
3)接受主机端发送的读写请求,跳转执行下一步。
接受主机端发送的读写请求时,若主机端发送的是读请求,则只接收请求命令;若为写请求,还要接收用户数据。
4)判定读写请求的请求类型,如果请求类型为读请求,跳转执行步骤5);如果请求类型为写请求,跳转执行步骤7);其中,判定读写请求的请求类型具体是指通过对读写请求进行命令译码实现的。
5)判定读请求是否为指向目标通道CT的读请求,若读请求指向目标通道CT则跳转执行步骤6),否则将读请求的数据从闪存芯片取出后直接返回给用户,等待在下一个读写请求到来时跳转执行步骤3)。由于主机端发送的读请求给出的是逻辑地址,SSD的各通道是以物理地址标识的,因此判定读请求是否为指向目标通道CT的读请求时,需要查找SSD的逻辑地址到物理地址的映射表,才能确定该读请求是否为指向目标通道CT的读请求。
6)将读请求记录至目标通道的读请求序列中,并将读请求的数据从闪存芯片中读出返回给用户,等待在下一个读写请求到来时跳转执行步骤3)。参见步骤1),本实施例的读请求序列具体通过哈希表实现的,哈希表用来记录主机端向目标通道发送的读请求,所以首先要检查该读请求是否指向目标通道,只有指向目标通道的读请求才会加入哈希表中。哈希表只记录读请求的逻辑地址,读请求对应的数据直接返回到主机端。对于哈希表中的每个逻辑地址,有一个整数记录该逻辑地址被访问的次数。访问次数较多的逻辑地址被看作是热点。因此步骤6)将读请求记录至目标通道的读请求序列中时,首先读请求的逻辑地址是否已经存在于哈希表中,如果已经存在则将哈希表中逻辑地址的访问次数加1;否则将读请求的逻辑地址添加至哈希表中,并将对应的访问次数设置为1。通过上述方法,能够快速简单地将读请求记录至目标通道的读请求序列中并实现对逻辑地址的访问次数统计。
7)将写请求的地址和数据加入FIFO队列中,跳转执行下一步。将写命令加入FIFO队列的同时,还需要为写请求对应的数据分配足够的空间。
8)通过写请求计数器将写请求数目Nw进行累加(即递增),跳转执行下一步。写请求数目Nw记录了写缓冲中累计的待处理写数据,如果写请求数目Nw超过一定指定阈值Tw,触发数据预取和写请求调度。每接收一个写请求,将该写请求的数据量累加到Nw中。
9)检测写请求数目Nw是否大于指定阈值Tw,如果大于指定阈值Tw则跳转执行步骤10);否则等待在下一个读写请求到来时跳转执行步骤3)。
10)分析目标通道CT的读请求序列,根据目标通道的读请求序列中逻辑地址的访问次数从SSD中预取读请求访问热点数据,跳转执行下一步。哈希表中的每个逻辑地址都对应一个访问计数,访问次数较多的逻辑地址很可能被再次访问,应该被预取到写缓冲,因此通过逻辑地址的访问次数即可获得读请求访问热点数据,本实施例中通过步骤10)不断将读请求访问热点数据取出到写缓冲,从而能够提高读请求的命中率,使得SSD的读请求性能更好。
本实施例中,步骤10)的详细步骤如下:分析目标通道CT的哈希表中的所有记录,依次处理哈希表中的逻辑地址,如果一个逻辑地址的访问次数大于1,将逻辑地址对应的数据预取到SSD的写缓冲,每预取一个逻辑地址的读请求访问数据,则将逻辑地址从哈希表中删除;同时根据逻辑地址的访问次数将预取的数据进行分组(例如,将访问次数为3的数据加入到同一个组中,将访问次数为2的数据加入到同一个组中,以此类推),在预取数据时如果SSD的写缓冲空间不足,则将访问次数低于当前逻辑地址对应访问次数的分组中的数据全部释放,从而能够保证预取的数据是访问频次最高的数据,在哈希表中的逻辑地址全部处理完毕以后跳转执行步骤11)。
一般而言,可以通过设置一个访问次数的阈值来判定热点,例如如果访问次数大于该阈值的逻辑地址被认为是热点。但是,由于应用负载的不同,很难选取一个合适的阈值判定热点数据。而且,阈值的大小还取决于分配给热点数据的空间。如果写缓冲空间较小,只能保守地判定热点数据,应该选取较大的阈值;如果写缓冲空间较大,可以保存更多的热点数据,应该选取较小的阈值。因此参见步骤10)的详细步骤可知,本实施例中并不明确指定阈值大小,而是在预取数据时将访问次数不同的数据分到不同的组中,由于不断将读请求访问热点数据取出到写缓冲,写缓冲空间逐步变少,如果写缓冲空间有限而哈希表中还有访问次数更多的数据,直接将访问次数较少的数据所在的组释放,每预取一个逻辑地址的数据,将该逻辑地址从哈希表删除,通过上述方法来判定热点,对于热点的判定更加灵活和准确。如果写缓冲不能保存所有访问次数大于1的数据,逐步释放访问次数较少的组中的数据,保证访问次数较多的数据保存在写缓冲中。所有热点数据预取到写缓冲后,哈希表被清空,转步骤11),向目标通道调度写请求。
11)从FIFO队列中取出第一个写请求,在目标通道中分派该写请求所需的空间,等待该写请求处理完毕后跳转执行步骤12)。
本实施例中,步骤11)在目标通道中分派该写请求所需的空间时,从目标通道中选择擦除次数最少的数据块,将擦除次数最少的数据块作为被分派给写请求所需的空间,尽可能保证通道内的所有块被均匀的损耗;同时如果写请求包含多个数据页,则将多个数据页调度到目标通道中的不同闪存芯片上,提高目标通道上的并行度,使得闪存芯片之间的损耗更均衡,读写性能也更好。
12)检测目标通道CT上是否有等待的读请求,如果有读请求排队等待则跳转执行步骤13),否则,跳转执行步骤14)。由于读请求是同步的,上层应用程序因为等待读请求的数据而阻塞,所以本实施例中为了尽量减少读请求的排队等待时间,每处理一个完一个写请求,检测目标通道上是否有等待的读请求,因此能够保证读请求及时被处理。
13)处理目标通道CT上排队等待的读请求,如果读请求与写缓冲中的读请求访问热点数据发生命中,则直接将写缓冲中读取命中的数据返回到主机端,否则从SSD中将读请求的请求数据返回到主机端,跳转执行下一步。在目标通道CT上处理写请求时,该通道可能接收到主机端发送的读请求,由于正在处理的写请求不能被中断,读请求只能在该通道上等待。步骤12)在检测目标通道CT上是否有等待的读请求时,若目标通道上存在等待的读请求,则通过步骤13)优先处理等待的读请求,以保证读请求被阻塞的时间最短;否则转步骤14)。
14)检查FIFO队列中的写请求是否处理完毕,若处理完毕,说明这一批次的写请求调度完毕,则跳转执行步骤2)重新选择新的目标通道CT;否则,则跳转执行步骤11)调度FIFO队列中的剩余写请求,直到所有写请求处理完毕。
综上所述,本实施例根据轮转调度策略选择待写入数据的通道,选定一个目标通道后,并不立即向该通道调度写请求,而是记录该通道上的读请求序列,同时将主机端发送的写请求缓存在SSD的写缓冲中。当写缓冲中的数据量累积达到一定阈值时,分析目标通道上的读请求序列,找出其中的热点数据,将热点数据预取到写缓冲,然后将写缓冲累积的写请求调度到该通道。由于融合了轮转调度策略,各通道之间写入的数据是均衡的;由于将热点数据预取到写缓冲,本实施例减少了写请求对读请求的影响,能够在SSD的多通道间动态地调度写请求,减少写请求对读请求的阻塞,降低读延迟;同时将数据均匀的写到各通道中,避免一些通道过早地损坏,延长SSD的整体寿命。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种用于SSD的多通道动态读写调度方法,其特征在于实施步骤如下:
1)在SSD内预先配备一个基于DRAM的写缓冲,在所述写缓冲中初始化用于指定SSD当前通道的目标通道、用于记录目标通道累计写请求数目的写请求计数器、用于缓存写请求的地址和数据的FIFO队列、用于记录目标通道上读请求的读请求序列;
2)根据轮转调度策略从SSD的多个通道中选择一个目标通道,跳转执行下一步;
3)接受主机端发送的读写请求,跳转执行下一步;
4)判定读写请求的请求类型,如果请求类型为读请求,跳转执行步骤5);如果请求类型为写请求,跳转执行步骤7);
5)判定所述读请求是否为指向目标通道的读请求,若读请求指向目标通道则跳转执行步骤6),否则将读请求的数据从闪存芯片取出后直接返回给用户,等待在下一个读写请求到来时跳转执行步骤3);
6)将读请求记录至目标通道的读请求序列中,并将读请求的数据从闪存芯片中读出返回给用户,等待在下一个读写请求到来时跳转执行步骤3);
7)将写请求的地址和数据加入FIFO队列中,跳转执行下一步;
8)通过所述写请求计数器将写请求数目进行累加,跳转执行下一步;
9)检测写请求数目是否大于指定阈值,如果大于指定阈值则跳转执行步骤10);否则等待在下一个读写请求到来时跳转执行步骤3);
10)分析目标通道的读请求序列,根据目标通道的读请求序列中逻辑地址的访问次数从SSD中预取读请求访问热点数据,跳转执行下一步;
11)从所述FIFO队列中取出第一个写请求,在目标通道中分派该写请求所需的空间,等待该写请求处理完毕后跳转执行步骤12);
12)检测目标通道上是否有等待的读请求,如果有读请求排队等待则跳转执行步骤13),否则,跳转执行步骤14);
13)处理目标通道上排队等待的读请求,如果读请求与所述写缓冲中的读请求访问热点数据发生命中,则直接将所述写缓冲中读取命中的数据返回到主机端,否则从SSD中将读请求的请求数据返回到主机端,跳转执行下一步;
14)检查FIFO队列中的写请求是否处理完毕,若处理完毕,则跳转执行步骤2)重新选择新的目标通道;否则,则跳转执行步骤11)。
2.根据权利要求1所述的用于SSD的多通道动态读写调度方法,其特征在于:所述步骤1)中初始化的读请求序列为哈希表,所述哈希表的每一项记录包含逻辑地址以及逻辑地址的访问次数。
3.根据权利要求2所述的用于SSD的多通道动态读写调度方法,其特征在于:所述步骤6)将读请求记录至目标通道的读请求序列中时,首先读请求的逻辑地址是否已经存在于所述哈希表中,如果已经存在则将所述哈希表中所述逻辑地址的访问次数加1;否则将读请求的逻辑地址添加至所述哈希表中,并将对应的访问次数设置为1。
4.根据权利要求3所述的用于SSD的多通道动态读写调度方法,其特征在于,所述步骤10)的详细步骤如下:分析目标通道的哈希表中的所有记录,依次处理哈希表中的逻辑地址,如果一个逻辑地址的访问次数大于1,将逻辑地址对应的数据预取到SSD的写缓冲,每预取一个逻辑地址的读请求访问数据,则将所述逻辑地址从哈希表中删除;同时根据逻辑地址的访问次数将预取的数据进行分组,在预取数据时如果SSD的写缓冲空间不足,则将访问次数低于当前逻辑地址对应访问次数的分组中的数据全部释放,在所述哈希表中的逻辑地址全部处理完毕以后跳转执行步骤11)。
5.根据权利要求1~4中任意一项所述的用于SSD的多通道动态读写调度方法,其特征在于,所述步骤11)在目标通道中分派该写请求所需的空间时,从目标通道中选择擦除次数最少的数据块,将所述擦除次数最少的数据块作为被分派给所述写请求所需的空间;同时如果所述写请求包含多个数据页,则将所述多个数据页调度到目标通道中的不同闪存芯片上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310096932.6A CN103135945B (zh) | 2013-03-25 | 2013-03-25 | 用于ssd的多通道动态读写调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310096932.6A CN103135945B (zh) | 2013-03-25 | 2013-03-25 | 用于ssd的多通道动态读写调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103135945A true CN103135945A (zh) | 2013-06-05 |
CN103135945B CN103135945B (zh) | 2014-11-26 |
Family
ID=48495827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310096932.6A Active CN103135945B (zh) | 2013-03-25 | 2013-03-25 | 用于ssd的多通道动态读写调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103135945B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090847A (zh) * | 2014-06-25 | 2014-10-08 | 华中科技大学 | 一种固态存储设备的地址分配方法 |
CN105204786A (zh) * | 2015-10-22 | 2015-12-30 | 湖南国科微电子股份有限公司 | 一种pcie ssd阵列的数据写方法及系统 |
CN105677236A (zh) * | 2015-12-29 | 2016-06-15 | 华为技术有限公司 | 一种存储设备及其存储数据的方法 |
WO2016101145A1 (zh) * | 2014-12-23 | 2016-06-30 | 华为技术有限公司 | 一种控制器、识别数据块稳定性的方法和存储系统 |
CN106250064A (zh) * | 2016-08-19 | 2016-12-21 | 深圳大普微电子科技有限公司 | 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 |
CN106371768A (zh) * | 2016-09-05 | 2017-02-01 | 华中科技大学 | 一种固态盘系统中的读写优化调度方法 |
CN106372006A (zh) * | 2015-07-20 | 2017-02-01 | 华为技术有限公司 | 一种数据预取方法和装置 |
WO2017092596A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 处理写请求的方法和移动终端 |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
CN107562654A (zh) * | 2016-07-01 | 2018-01-09 | 北京忆恒创源科技有限公司 | Io命令处理方法与装置 |
CN108173974A (zh) * | 2018-03-01 | 2018-06-15 | 南京邮电大学 | 一种基于分布式缓存Memcached的HC Model内部缓存数据淘汰方法 |
CN108595371A (zh) * | 2016-01-20 | 2018-09-28 | 北京中科寒武纪科技有限公司 | 用于向量运算的数据读取、写入及读写调度器及保留站 |
CN108628543A (zh) * | 2017-03-22 | 2018-10-09 | 慧荣科技股份有限公司 | 垃圾回收方法以及使用该方法的装置 |
CN108958907A (zh) * | 2017-05-19 | 2018-12-07 | 西部数据技术公司 | 用于数据存储系统的上下文感知动态命令调度 |
CN109697032A (zh) * | 2018-12-19 | 2019-04-30 | 中国人民解放军国防科技大学 | 物理地址感知的固态盘请求调度方法及装置 |
CN109739443A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种ssd混合读写的方法、装置、设备及存储介质 |
CN109885573A (zh) * | 2019-02-22 | 2019-06-14 | 广州荔支网络技术有限公司 | 一种数据存储系统的维护方法、装置和移动终端 |
CN110737540A (zh) * | 2019-09-29 | 2020-01-31 | 深圳忆联信息系统有限公司 | 用于ssd读取异常的恢复优化方法、装置、设备、存储介质 |
CN110888592A (zh) * | 2019-05-15 | 2020-03-17 | 天津大学深圳研究院 | 基于延迟ssd系统智能并行资源利用的请求调度方法及系统 |
CN111081284A (zh) * | 2018-10-19 | 2020-04-28 | 合肥沛睿微电子股份有限公司 | 存储器装置与控制方法 |
CN111708713A (zh) * | 2020-05-20 | 2020-09-25 | 杭州电子科技大学 | 一种固态硬盘智能垃圾回收与调度方法 |
CN112181871A (zh) * | 2020-09-28 | 2021-01-05 | 中国人民解放军国防科技大学 | 处理器与内存间写阻塞式通信控制方法、部件、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202134002U (zh) * | 2011-06-16 | 2012-02-01 | 浪潮电子信息产业股份有限公司 | 一种多通道ssd控制器 |
CN102360342A (zh) * | 2011-10-11 | 2012-02-22 | 中国人民解放军国防科学技术大学 | 海量影像数据快速存储显示固态硬盘 |
US20120144094A1 (en) * | 2010-12-01 | 2012-06-07 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for controlling flash memory |
CN102567257A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种控制多通道固态盘数据读写的方法 |
CN102722449A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院计算技术研究所 | 基于SSD的Key-Value型本地存储方法及系统 |
-
2013
- 2013-03-25 CN CN201310096932.6A patent/CN103135945B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120144094A1 (en) * | 2010-12-01 | 2012-06-07 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for controlling flash memory |
CN202134002U (zh) * | 2011-06-16 | 2012-02-01 | 浪潮电子信息产业股份有限公司 | 一种多通道ssd控制器 |
CN102360342A (zh) * | 2011-10-11 | 2012-02-22 | 中国人民解放军国防科学技术大学 | 海量影像数据快速存储显示固态硬盘 |
CN102567257A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种控制多通道固态盘数据读写的方法 |
CN102722449A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院计算技术研究所 | 基于SSD的Key-Value型本地存储方法及系统 |
Non-Patent Citations (1)
Title |
---|
周华灯: "Plane 级的闪存固态盘并行调度算法", 《计算机工程与设计》, vol. 32, no. 12, 31 December 2011 (2011-12-31) * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090847B (zh) * | 2014-06-25 | 2017-01-11 | 华中科技大学 | 一种固态存储设备的地址分配方法 |
CN104090847A (zh) * | 2014-06-25 | 2014-10-08 | 华中科技大学 | 一种固态存储设备的地址分配方法 |
CN105917303B (zh) * | 2014-12-23 | 2019-12-06 | 华为技术有限公司 | 一种控制器、识别数据块稳定性的方法和存储系统 |
WO2016101145A1 (zh) * | 2014-12-23 | 2016-06-30 | 华为技术有限公司 | 一种控制器、识别数据块稳定性的方法和存储系统 |
CN105917303A (zh) * | 2014-12-23 | 2016-08-31 | 华为技术有限公司 | 一种控制器、识别数据块稳定性的方法和存储系统 |
CN106372006A (zh) * | 2015-07-20 | 2017-02-01 | 华为技术有限公司 | 一种数据预取方法和装置 |
CN106372006B (zh) * | 2015-07-20 | 2019-11-05 | 华为技术有限公司 | 一种数据预取方法和装置 |
CN105204786B (zh) * | 2015-10-22 | 2016-10-12 | 湖南国科微电子股份有限公司 | 一种pcie ssd阵列的数据写方法及系统 |
CN105204786A (zh) * | 2015-10-22 | 2015-12-30 | 湖南国科微电子股份有限公司 | 一种pcie ssd阵列的数据写方法及系统 |
US10437519B2 (en) | 2015-11-30 | 2019-10-08 | Huawei Technologies Co., Ltd. | Method and mobile terminal for processing write request |
WO2017092596A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 处理写请求的方法和移动终端 |
CN105677236A (zh) * | 2015-12-29 | 2016-06-15 | 华为技术有限公司 | 一种存储设备及其存储数据的方法 |
CN105677236B (zh) * | 2015-12-29 | 2018-10-02 | 华为技术有限公司 | 一种存储设备及其存储数据的方法 |
CN108595371A (zh) * | 2016-01-20 | 2018-09-28 | 北京中科寒武纪科技有限公司 | 用于向量运算的数据读取、写入及读写调度器及保留站 |
CN107562654B (zh) * | 2016-07-01 | 2020-10-09 | 北京忆恒创源科技有限公司 | Io命令处理方法与装置 |
CN107562654A (zh) * | 2016-07-01 | 2018-01-09 | 北京忆恒创源科技有限公司 | Io命令处理方法与装置 |
CN106250064A (zh) * | 2016-08-19 | 2016-12-21 | 深圳大普微电子科技有限公司 | 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 |
CN106371768B (zh) * | 2016-09-05 | 2019-04-12 | 华中科技大学 | 一种固态盘系统中的读写优化调度方法 |
CN106371768A (zh) * | 2016-09-05 | 2017-02-01 | 华中科技大学 | 一种固态盘系统中的读写优化调度方法 |
CN108628543B (zh) * | 2017-03-22 | 2021-07-06 | 慧荣科技股份有限公司 | 垃圾回收方法以及使用该方法的装置 |
CN108628543A (zh) * | 2017-03-22 | 2018-10-09 | 慧荣科技股份有限公司 | 垃圾回收方法以及使用该方法的装置 |
US11645217B2 (en) | 2017-05-19 | 2023-05-09 | Western Digital Technologies, Inc. | Dynamic command scheduling for storage system |
CN108958907B (zh) * | 2017-05-19 | 2022-01-04 | 西部数据技术公司 | 用于数据存储系统的上下文感知动态命令调度 |
CN108958907A (zh) * | 2017-05-19 | 2018-12-07 | 西部数据技术公司 | 用于数据存储系统的上下文感知动态命令调度 |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
CN108173974A (zh) * | 2018-03-01 | 2018-06-15 | 南京邮电大学 | 一种基于分布式缓存Memcached的HC Model内部缓存数据淘汰方法 |
CN108173974B (zh) * | 2018-03-01 | 2021-02-12 | 南京邮电大学 | 一种基于分布式缓存Memcached的HCModel内部缓存数据淘汰方法 |
CN111081284A (zh) * | 2018-10-19 | 2020-04-28 | 合肥沛睿微电子股份有限公司 | 存储器装置与控制方法 |
CN109697032B (zh) * | 2018-12-19 | 2022-01-07 | 中国人民解放军国防科技大学 | 物理地址感知的固态盘请求调度方法及装置 |
CN109697032A (zh) * | 2018-12-19 | 2019-04-30 | 中国人民解放军国防科技大学 | 物理地址感知的固态盘请求调度方法及装置 |
CN109739443A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种ssd混合读写的方法、装置、设备及存储介质 |
CN109739443B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种ssd混合读写的方法、装置、设备及存储介质 |
CN109885573A (zh) * | 2019-02-22 | 2019-06-14 | 广州荔支网络技术有限公司 | 一种数据存储系统的维护方法、装置和移动终端 |
CN110888592A (zh) * | 2019-05-15 | 2020-03-17 | 天津大学深圳研究院 | 基于延迟ssd系统智能并行资源利用的请求调度方法及系统 |
CN110888592B (zh) * | 2019-05-15 | 2023-09-15 | 天津大学深圳研究院 | 基于延迟ssd系统智能并行资源利用的请求调度方法及系统 |
CN110737540A (zh) * | 2019-09-29 | 2020-01-31 | 深圳忆联信息系统有限公司 | 用于ssd读取异常的恢复优化方法、装置、设备、存储介质 |
CN111708713A (zh) * | 2020-05-20 | 2020-09-25 | 杭州电子科技大学 | 一种固态硬盘智能垃圾回收与调度方法 |
CN112181871A (zh) * | 2020-09-28 | 2021-01-05 | 中国人民解放军国防科技大学 | 处理器与内存间写阻塞式通信控制方法、部件、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103135945B (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103135945B (zh) | 用于ssd的多通道动态读写调度方法 | |
US11698857B2 (en) | Storage system for migrating data between tiers | |
US10095613B2 (en) | Storage device and data processing method thereof | |
US10120601B2 (en) | Storage system and data processing method | |
US9342458B2 (en) | Cache allocation in a computerized system | |
TWI446345B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
US8537613B2 (en) | Multi-layer memory system | |
US11138124B2 (en) | Migrating data between block pools in a storage system | |
US10049040B2 (en) | Just in time garbage collection | |
TWI484414B (zh) | 用於記憶體之工作排程方法及其記憶體系統 | |
US8375158B2 (en) | Memory system and block merge method | |
JP6139381B2 (ja) | メモリシステムおよび方法 | |
CN109164976B (zh) | 利用写缓存优化存储设备性能 | |
US11797452B2 (en) | Dynamic buffer caching of storage devices | |
JP2012141946A (ja) | 半導体記憶装置 | |
US11249903B2 (en) | Memory system for garbage collection operation and operating method thereof | |
KR20100039180A (ko) | 반도체 디스크 장치 및 그것의 데이터 관리 방법 | |
CN103543955A (zh) | 利用固态硬盘作为设备读缓存的方法、系统及固态硬盘 | |
CN111694510B (zh) | 数据储存装置与数据处理方法 | |
CN113614702B (zh) | 基于检测到的读取命令活跃流的自适应预读高速缓存管理器 | |
CN111399750B (zh) | 闪存数据写入方法及计算机可读取存储介质 | |
US7844777B2 (en) | Cache for a host controller to store command header information | |
US20170371554A1 (en) | Internal Data Transfer Management in a Hybrid Data Storage Device | |
US11704249B2 (en) | Frozen time cache for multi-host read operations | |
CN110580128A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |