CN104102458A - 多核cpu的负载均衡方法、多核cpu及固态硬盘 - Google Patents

多核cpu的负载均衡方法、多核cpu及固态硬盘 Download PDF

Info

Publication number
CN104102458A
CN104102458A CN201410302672.8A CN201410302672A CN104102458A CN 104102458 A CN104102458 A CN 104102458A CN 201410302672 A CN201410302672 A CN 201410302672A CN 104102458 A CN104102458 A CN 104102458A
Authority
CN
China
Prior art keywords
rear end
cpu
end cpu
request
lba
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
Application number
CN201410302672.8A
Other languages
English (en)
Other versions
CN104102458B (zh
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.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
GigaDevice Semiconductor Beijing Inc
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 GigaDevice Semiconductor Beijing Inc filed Critical GigaDevice Semiconductor Beijing Inc
Priority to CN201410302672.8A priority Critical patent/CN104102458B/zh
Publication of CN104102458A publication Critical patent/CN104102458A/zh
Application granted granted Critical
Publication of CN104102458B publication Critical patent/CN104102458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多核CPU的负载均衡方法、多核CPU及固态硬盘,所述多核CPU包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,所述方法包括:前端CPU将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;前端CPU依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。能够简化软件设计,提高开发效率。

Description

多核CPU的负载均衡方法、多核CPU及固态硬盘
技术领域
本发明涉及数据存储技术领域,特别是涉及一种多核CPU的负载均衡方法、多核CPU及固态硬盘。
背景技术
SSD(固态硬盘,Solid State Disk)是一种使用闪存作为存储介质的一类硬盘,其相对于传统硬盘,具有更高速度、更低功耗和更低噪音等优点。
由于固态硬盘所使用的闪存有擦写次数限制,一旦某一闪存块擦除/写入到达一定次数,就可能造成无法写入数据,或者数据损坏。为了避免这种情况发生,固态硬盘引入了FTL(闪存转换层,Flash translation layer),FTL通过主机的LBA(逻辑块地址,Logic Block Address)映射为闪存的PBA(物理块地址,Physics Block Address),对闪存的每个物理块进行管理,做到每个物理块的擦写次数均衡,延长了闪存的寿命,使得固态硬盘也有传统硬盘的使用寿命。FTL可以在主机端实现,也可以在设备端实现。
当在采用多核CPU的设备端实现FTL时,现有多核CPU的负载均衡方案通常根据功能将主机的读写请求分担到上述多核CPU上进行处理,比如有些CPU专门处理前端NVMe(非易失性存储总线,Non-Volatile Memory Express)协议功能的读写请求,有些CPU专门处理Nandflash功能的读写请求,有些CPU专门处理损耗均衡(Wear leveling)功能的读写请求,有些CPU专门处理页映射(Page mapping)功能的读写请求,等等。然而,在按照上述方案处理读写请求的过程中,CPU之间很有可能要进行数据共享,也即,在很多情况下需要在两个或两个以上CPU之间进行通讯,而CPU之间的通讯往往需要复杂的算法,这无疑增加了负载均衡代码的开发周期,降低了开发效率。
发明内容
本发明实施例所要解决的技术问题是提供一种多核CPU的负载均衡方法、多核CPU及固态硬盘,能够简化软件设计,提高开发效率。
为了解决上述问题,本发明公开了一种多核CPU的负载均衡方法,所述多核CPU包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,所述方法包括:
前端CPU将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;
前端CPU依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
优选的,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。
优选的,所述每个子请求与对应后端CPU的映射关系中,所述后端CPU对应的子请求数量为对应闪存页所包含LBA的数量的整数倍。
优选的,所述前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系的步骤,包括:
首先依据所述子请求的编号对所述后端CPU数量和每个闪存页所包含LBA的数量的乘积进行求余运算,然后依据求余运算结果对所述每个闪存页所包含LBA的数量进行取整运算,所述取整运算结果为所述子请求的编号对应后端CPU的编号。
优选的,所述方法还包括:
所述前端CPU接收来自所述后端CPU的子请求处理完毕的通知;
所述前端CPU在等待所述读写请求中所有子请求都处理完毕后,向所述主机发送读写请求处理完毕的通知。
另一方面,本发明还公开了一种多核CPU,包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,其中的前端CPU包括:
拆分模块,用于将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
映射模块,用于依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;及
第一发送模块,用于依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
优选的,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。
优选的,所述每个子请求与对应后端CPU的映射关系中,所述后端CPU对应的子请求数量为对应闪存页所包含LBA的数量的整数倍。
优选的,所述映射模块包括:
求余运算子模块,用于依据所述子请求的编号对所述后端CPU数量和每个闪存页所包含LBA的数量的乘积进行求余运算;
取整运算子模块,用于依据求余运算结果对所述每个闪存页所包含LBA的数量进行取整运算,所述取整运算结果为所述子请求的编号对应后端CPU的编号。
另一方面,本发明还公开了一种固态硬盘,包括闪存,及前述的多核CPU。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例将多核CPU划分为一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同也即各后端CPU管理的闪存之间没有交叉,这样,当主机向固态硬盘发送数据的读写请求时,前端CPU可以将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求,并依据所述子请求与对应后端CPU的映射关系将各子请求发送给后端CPU进行FTL处理;由于各后端CPU管理的闪存之间没有交叉,且所述映射关系中每个子请求对应唯一的后端CPU,故各后端CPU可以处理完整的以LBA为单位的子请求,而不需要过多的通讯,因此,本发明实施例能够降低进行FTL处理的各后端CPU之间的耦合性,从而简化了软件设计,提高了开发效率。
附图说明
图1是本发明的一种多核CPU的负载均衡方法实施例一的流程图;
图2是本发明的一种多核CPU的负载均衡方法实施例二的流程图;
图3是本发明的一种固态硬盘中多核CPU的负载均衡方法示例的流程图;
图4是本发明的一种多核CPU实施例的结构框图;
图5是本发明的一种固态硬盘的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明的一种多核CPU的负载均衡方法实施例一的流程图,所述多核CPU具体可以包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,所述方法具体可以包括:
步骤101、前端CPU将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
本发明实施例可以应用于采用多核CPU实现FTL的固态硬盘设备端,用于提高该设备端多核CPU负载均衡代码的开发效率。
假设每个LBA的大小为4096bytes,而所述读写请求涉及读取从0开始的24个LBA,那么前端CPU可以将其拆分为LBA0、LBA1、LBA2、LBA3…LBA23等24个子请求。
步骤102、前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;
步骤103、前端CPU依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
综上,本发明实施例将多核CPU划分为一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同也即各后端CPU管理的闪存之间没有交叉,这样,当主机向固态硬盘发送数据的读写请求时,前端CPU可以将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求,并依据所述子请求与对应后端CPU的映射关系将各子请求发送给后端CPU进行FTL处理;由于各后端CPU管理的闪存之间没有交叉,且所述映射关系中每个子请求对应唯一的后端CPU,故各后端CPU可以处理完整的以LBA为单位的子请求,而不需要过多的通讯,因此,本发明实施例能够降低进行FTL处理的各后端CPU之间的耦合性,从而简化了软件设计,提高了开发效率。
在本发明的一种优选实施例中,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。本优选实施例能够将同一读写请求的子请求分散到各后端CPU,从而能够将大块连续的读写请求平均分配到不同的后端CPU进行处理,因此能够提高多核CPU的处理能力。
在本发明的另一种优选实施例中,所述每个子请求与对应后端CPU的映射关系中,所述后端CPU对应的子请求数量为对应闪存页所包含LBA的数量的整数倍。由于闪存以页为单位读写数据,故在所述后端CPU对应的子请求数量等于每个闪存页所包含LBA的数量时,仅需读写1次即可进行FTL处理,因此能够提高多核CPU的处理效率。
在本发明的一种应用示例中,假设所述读写请求涉及16个LBA的读写操作,对应的子请求分别为LBA0、LBA1、LBA2、LBA3…,而每个闪存页所包含LBA的数量为2,后端CPU的编号分别为CPU0、CPU1、CPU2…,那么,LBA0和LBA1可以放至CPU0处理,LBA2和LBA3可以放在CPU1处理。
在本发明的再一种优选实施例中,所述前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系的步骤102,具体可以包括:首先依据所述子请求的编号对所述后端CPU数量和每个闪存页所包含LBA的数量的乘积进行求余运算,然后依据求余运算结果对所述每个闪存页所包含LBA的数量进行取整运算,所述取整运算结果为所述子请求的编号对应后端CPU的编号。
假设每个Nand Flash(与非闪存,Not And Flash)页包含m个LBA,进行FTL处理的后端CPU的数量为M,固态硬盘一共有M*N片Nand Flash,那么,子请求LBAi对应后端CPU的编号可以表示为:后端CPU的编号=取整((LBAi%(M*m))/m),其中,“%”为求余运算符,“/”为取整运算符号。参照表1,示出了m=2时子请求与对应后端CPU的映射关系的示意。
在表1
实施例二
参照图2,示出了本发明的一种多核CPU的负载均衡方法实施例二的流程图,所述多核CPU具体可以包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,所述方法具体可以包括:
步骤201、前端CPU将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
步骤202、前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;
步骤203、前端CPU依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理;
步骤204、前端CPU接收来自所述后端CPU的子请求处理完毕的通知;
步骤205、前端CPU在等待所述读写请求中所有子请求都处理完毕后,向所述主机发送读写请求处理完毕的通知。
本实施例相对于实施例二,增加了前端CPU对于所述读写请求处理完毕的判断,具体地,其接收来自所述后端CPU的子请求处理完毕的通知,并在等待所述读写请求中所有子请求都处理完毕后,向所述主机发送读写请求处理完毕的通知。
参照图3,示出了本发明的一种固态硬盘中多核CPU的负载均衡方法示例的流程图,具体可以包括:
步骤301、前端CPU接收来自主机的读写请求;
步骤302、前端CPU将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
步骤303、前端CPU计算后端CPU的编号=取整((LBAi%(M*m))/m);
步骤304、前端CPU将所述子请求发送至对应的后端CPU;
步骤305、后端CPU在接收到子请求后,在所管理的闪存中对所述子请求进行FTL处理;
步骤306、后端CPU在处理完毕后,向前端CPU发送子请求处理完毕的通知;
步骤307、前端CPU在等待所述读写请求中所有子请求都处理完毕后,向所述主机发送读写请求处理完毕的通知。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种多核CPU实施例的结构框图,具体可以包括一个前端CPU401和至少一个后端CPU402,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,其中的前端CPU401具体可以包括:
拆分模块411,用于将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
映射模块412,用于依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;及
第一发送模块413,用于依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
在本发明的一种优选实施例中,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。
在本发明的另一种优选实施例中,所述每个子请求与对应后端CPU的映射关系中,所述后端CPU对应的子请求数量为对应闪存页所包含LBA的数量的整数倍。
在本发明的再一种优选实施例中,所述映射模块412具体可以包括:
求余运算子模块,用于依据所述子请求的编号对所述后端CPU数量和每个闪存页所包含LBA的数量的乘积进行求余运算;
取整运算子模块,用于依据求余运算结果对所述每个闪存页所包含LBA的数量进行取整运算,所述取整运算结果为所述子请求的编号对应后端CPU的编号。
在本发明实施例中,优选的是,所述前端CPU401还可以包括:
接收模块,用于接收来自所述后端CPU的子请求处理完毕的通知;
第二发送模块,用于在等待所述读写请求中所有子请求都处理完毕后,向所述主机发送读写请求处理完毕的通知
本发明实施例还提供了一种固态硬盘,其具体可以包括闪存,及前述的多核CPU,其中多核CPU具体可以包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同。
例如,一个固态硬盘通常由多片Nand Flash组成(比如16片),其中,每片Nand flash由多个块(Block)组成(比如2048个blocks),每个块(block)又由多个页(page)组成(比如256pages),每个页(page)存放的数据量为多个bytes(比如8192bytes)。Nand flash以页为单位读写数据,而以块为单位擦除数据;在每个页处于擦除状态时,这个页(page)上面的数据都是1,而经过编程(program)之后数据则有可能是0也有可能是1。
为使本领域技术人员更好地理解本发明实施例,参照图5,示出了本发明的一种固态硬盘的结构示意图,该固态硬盘具体可以包括:前端CPU501、多个后端CPU502和多片Nand Flash503,其中前端CPU501通过PCIe(快速外围组件互连,Peripheral Component Interconnect Express)或者SATA(串行高级技术附件,Serial Advanced Technology Attachment)等接口与主机相连,前端CPU501分别与多个后端CPU502一一相连,每个后端CPU502分别与对应的N片Nand Flash503相连;
假设上述每片Nand Flash503的Page大小为8192bytes,主机的LBA基本单位大小为4096bytes,后端CPU502的数目为4,且假设将所述读写请求拆分为24个子请求,编号分别为1-23,那么,该24个子请求与4个后端CPU502的映射关系如图5所示,其中,第一个后端CPU502分别对应编号为0,1,8,9,16,17的子请求,第二个后端CPU502分别对应编号为2,3,10,11,18,19的子请求,第三个后端CPU502分别对应编号为4,5,12,13,20,21的子请求,第四个后端CPU502分别对应编号为6,7,14,15,22,23的子请求等等。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种非易失存储器的数据处理方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种多核CPU的负载均衡方法,其特征在于,所述多核CPU包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,所述方法包括:
前端CPU将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;
前端CPU依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
2.根据权利要求1所述的方法,其特征在于,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。
3.根据权利要求1所述的方法,其特征在于,所述每个子请求与对应后端CPU的映射关系中,所述后端CPU对应的子请求数量为对应闪存页所包含LBA的数量的整数倍。
4.根据权利要求1或2或3所述的方法,其特征在于,所述前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系的步骤,包括:
首先依据所述子请求的编号对所述后端CPU数量和每个闪存页所包含LBA的数量的乘积进行求余运算,然后依据求余运算结果对所述每个闪存页所包含LBA的数量进行取整运算,所述取整运算结果为所述子请求的编号对应后端CPU的编号。
5.根据权利要求1或2或3所述的方法,其特征在于,还包括:
所述前端CPU接收来自所述后端CPU的子请求处理完毕的通知;
所述前端CPU在等待所述读写请求中所有子请求都处理完毕后,向所述主机发送读写请求处理完毕的通知。
6.一种多核CPU,其特征在于,包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,其中的前端CPU包括:
拆分模块,用于将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
映射模块,用于依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;及
第一发送模块,用于依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
7.根据权利要求6所述的多核CPU,其特征在于,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。
8.根据权利要求6所述的多核CPU,其特征在于,所述每个子请求与对应后端CPU的映射关系中,所述后端CPU对应的子请求数量为对应闪存页所包含LBA的数量的整数倍。
9.根据权利要求6或7或8所述的多核CPU,其特征在于,所述映射模块包括:
求余运算子模块,用于依据所述子请求的编号对所述后端CPU数量和每个闪存页所包含LBA的数量的乘积进行求余运算;
取整运算子模块,用于依据求余运算结果对所述每个闪存页所包含LBA的数量进行取整运算,所述取整运算结果为所述子请求的编号对应后端CPU的编号。
10.一种固态硬盘,其特征在于,包括闪存,及前述权利要求6或7或8或9所述的多核CPU。
CN201410302672.8A 2014-06-27 2014-06-27 多核cpu的负载均衡方法、多核cpu及固态硬盘 Active CN104102458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410302672.8A CN104102458B (zh) 2014-06-27 2014-06-27 多核cpu的负载均衡方法、多核cpu及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410302672.8A CN104102458B (zh) 2014-06-27 2014-06-27 多核cpu的负载均衡方法、多核cpu及固态硬盘

Publications (2)

Publication Number Publication Date
CN104102458A true CN104102458A (zh) 2014-10-15
CN104102458B CN104102458B (zh) 2017-11-10

Family

ID=51670640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410302672.8A Active CN104102458B (zh) 2014-06-27 2014-06-27 多核cpu的负载均衡方法、多核cpu及固态硬盘

Country Status (1)

Country Link
CN (1) CN104102458B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965678A (zh) * 2015-07-01 2015-10-07 忆正科技(武汉)有限公司 一种固态存储的控制方法、装置及固态存储设备
CN106598742A (zh) * 2016-12-26 2017-04-26 湖南国科微电子股份有限公司 一种ssd主控内部负载均衡系统及方法
CN107562639A (zh) * 2016-07-01 2018-01-09 北京忆恒创源科技有限公司 擦除块读请求处理方法与装置
CN107957970A (zh) * 2017-10-23 2018-04-24 记忆科技(深圳)有限公司 一种异构多核的通讯方法及固态硬盘控制器
CN108345506A (zh) * 2018-03-31 2018-07-31 北京联想核芯科技有限公司 一种多个cpu下的ssd硬盘
CN109144419A (zh) * 2018-08-20 2019-01-04 浪潮电子信息产业股份有限公司 一种固态硬盘内存读写方法及系统
CN109144428A (zh) * 2018-09-11 2019-01-04 浪潮电子信息产业股份有限公司 一种应用于固态硬盘的垃圾回收方法、设备及介质
CN109597577A (zh) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 一种处理nvme协议读写命令的方法、系统及相关装置
CN111143235A (zh) * 2018-11-06 2020-05-12 爱思开海力士有限公司 多内核存储器系统中的逻辑地址分配

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101644995A (zh) * 2008-08-05 2010-02-10 晶天电子(深圳)有限公司 多层控制多闪存装置、存储装置和数据分割固态硬盘
CN102298561A (zh) * 2011-08-10 2011-12-28 北京百度网讯科技有限公司 一种对存储设备进行多通道数据处理的方法、系统和装置
US20120066449A1 (en) * 2010-09-15 2012-03-15 John Colgrove Scheduling of reconstructive i/o read operations in a storage environment
CN103064632A (zh) * 2012-12-04 2013-04-24 记忆科技(深圳)有限公司 固态硬盘及其虚拟化方法、系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101644995A (zh) * 2008-08-05 2010-02-10 晶天电子(深圳)有限公司 多层控制多闪存装置、存储装置和数据分割固态硬盘
US20120066449A1 (en) * 2010-09-15 2012-03-15 John Colgrove Scheduling of reconstructive i/o read operations in a storage environment
CN102298561A (zh) * 2011-08-10 2011-12-28 北京百度网讯科技有限公司 一种对存储设备进行多通道数据处理的方法、系统和装置
CN103064632A (zh) * 2012-12-04 2013-04-24 记忆科技(深圳)有限公司 固态硬盘及其虚拟化方法、系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104965678A (zh) * 2015-07-01 2015-10-07 忆正科技(武汉)有限公司 一种固态存储的控制方法、装置及固态存储设备
CN107562639A (zh) * 2016-07-01 2018-01-09 北京忆恒创源科技有限公司 擦除块读请求处理方法与装置
CN107562639B (zh) * 2016-07-01 2020-08-11 北京忆恒创源科技有限公司 擦除块读请求处理方法与装置
CN106598742A (zh) * 2016-12-26 2017-04-26 湖南国科微电子股份有限公司 一种ssd主控内部负载均衡系统及方法
CN107957970A (zh) * 2017-10-23 2018-04-24 记忆科技(深圳)有限公司 一种异构多核的通讯方法及固态硬盘控制器
CN108345506A (zh) * 2018-03-31 2018-07-31 北京联想核芯科技有限公司 一种多个cpu下的ssd硬盘
CN109144419A (zh) * 2018-08-20 2019-01-04 浪潮电子信息产业股份有限公司 一种固态硬盘内存读写方法及系统
CN109144428A (zh) * 2018-09-11 2019-01-04 浪潮电子信息产业股份有限公司 一种应用于固态硬盘的垃圾回收方法、设备及介质
CN111143235A (zh) * 2018-11-06 2020-05-12 爱思开海力士有限公司 多内核存储器系统中的逻辑地址分配
CN109597577A (zh) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 一种处理nvme协议读写命令的方法、系统及相关装置

Also Published As

Publication number Publication date
CN104102458B (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN104102458A (zh) 多核cpu的负载均衡方法、多核cpu及固态硬盘
US10713161B2 (en) Memory system and method for controlling nonvolatile memory
US10185656B2 (en) Memory system and method for controlling nonvolatile memory
US11645213B2 (en) Data processing system allocating memory area in host as extension of memory and operating method thereof
US11372564B2 (en) Apparatus and method for dynamically allocating data paths in response to resource usage in data processing system
US10203899B2 (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
US20190042089A1 (en) Method of improved data distribution among storage devices
KR102595233B1 (ko) 데이터 처리 시스템 및 그것의 동작 방법
US11675506B2 (en) Storage device supporting multi-tenancy and operating method thereof
US11797196B2 (en) Solid state drive (SSD) and operating method
CN108628761A (zh) 原子命令执行方法与装置
TW202324073A (zh) 記憶體控制器及其操作方法
CN111857565A (zh) 存储器系统、数据处理系统及其操作方法
US20230236737A1 (en) Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same
Choi et al. Separating the File System Journal to Reduce Write Amplification of Garbage Collection on ZNS SSDs
CN117632255A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.