CN107957970A - 一种异构多核的通讯方法及固态硬盘控制器 - Google Patents
一种异构多核的通讯方法及固态硬盘控制器 Download PDFInfo
- Publication number
- CN107957970A CN107957970A CN201710989769.4A CN201710989769A CN107957970A CN 107957970 A CN107957970 A CN 107957970A CN 201710989769 A CN201710989769 A CN 201710989769A CN 107957970 A CN107957970 A CN 107957970A
- Authority
- CN
- China
- Prior art keywords
- command
- modules
- data
- cpu
- node entity
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
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)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种异构多核的通讯方法及硬盘控制器,其特征在于将各个CPU通过数据总线访问同一个共享内存进行数据通讯;特别是将执行过程中保持不变的通讯数据在数据第一次生成时存储到共享内存中,并纪录存储地址,CPU通过获取的存储地址访问获得共享内存中的通讯数据。通过从主机提交命令开始,到数据传输,固件的命令节点实体只有一个,不同CPU通过RAM‑IF(RAM interface)访问命令节点实体,速度比通过AXI‑BUS要快,基本做到数据传输“零拷贝”,由此大大降低了延迟,从而提升了写入带宽。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及异构多核的通讯方法及固态硬盘控制器。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,随着协议的发展,已经从传统的SATA/AHCI接口发展为PCIe/NVMe接口,其接口性能也带来数倍的提升。双核控制器已经无法满足SSD设计要求,三核、四核控制器已经成为新趋势。
在双核控制器中使用同构多核方案可基本满足SATA接口SSD对控制器的需求,但是NVMe接口SSD已经拥有2-3GB/s的带宽,四核同构方案在数据访问效率上存在一定的时延,影响SSD整体性能。
图1是典型异构多核的SSD控制器结构,以四核为例SSD控制器中主要包括4个CPU和3个模块,4个CUP分别为CPU0、CPU1、CPU2和CPU3,三个模块分别为:前端NVMe模块简称NVMe_nfe模块、buffer管理模块简称Buffer manage模块和后端NAND flash读写擦基本操作处理模块简称FPH(flash protocol handle)模块。4个CPU和3个模块通过总线AXI BUS连接在一起,4个CPU通过数据总线串联在一起。
SSD固件中一般包括四个模块:NVMe模块(Non-Volatile Memory express是一种建立在M.2接口上的类似AHCI的一种协议,是专门为闪存类存储设计的协议)、DPM(Datapath management)数据通路管理模块、FTL(Flash translation layer)闪存转换层模块、NFC(Nand Flash Control)Nand Flash控制器,固件代码部署时,一般CPU0中放置固件的NVMe模块,CPU1中放置固件的DPM模块,CPU2中放置固件的FTL模块,CPU3中放置固件的NFC模块。
四核访问同一个外设的同步和互斥是一个复杂的问题,况且竞争本身会降低控制器整体效率。
图2是典型异构多核的SSD控制器结构的典型命令处理时序图:从主机提交命令开始,需要经过一系列的软件处理:接收主机命令、CPU0建立命令节点实体、CPU1拷贝命令节点实体、CPU1处理命令节点实体、CPU2拷贝命令节点实体、CPU2处理命令节点实体、CPU3拷贝命令节点实体、CPU3处理命令节点实体、CPU3给NAND flash发送写数据命令,CPU之间通过短消息doorbell来传递命令节点实体信息,一个短消息doorbell大小一般为32Bytes。
以写操作为例,其一个写操作的主要操作流程如下:
1)主机通知SSD有新的命令,SSD硬件自动将命令信息取到NVMe_nfe模块;
2)CPU0中的固件不停轮询NVMe状态获取新的命令;
3)CPU0中的固件解析新的命令并生成命令节点实体node0,将命令节点实体node0填写到短消息doorbell0中,并通过AXI总线通知CPU1中的DPM获取node0;
4)CPU1中的DPM从短消息doorbell0中拷贝命令节点实体node0实体,解析了命令节点实体node0命令,就将数据从NVMe_nfe模块读取到Buffer manage模块,将命令节node0填写到短消息doorbell1中,并通过AXI总线通知CPU2中的FTL取命令节node0;
5)CPU2中的FTL从短消息doorbell1中拷贝命令节node0实体,查询映射表并进行4KB LPA(Logic Page Address逻辑页地址)地址映射,并通知Buffer manage模块进行数据传输至NFC模块,将命令节node0填写到短消息doorbell2中,并通过AXI总线通知CPU3中的NFC取命令节node0;
6)CPU2中的NFC从短消息doorbell2中拷贝node0实体,并处理命令节node0,进行16KB PPA拼接,并格式化描述符发送给硬件完成数据传输并将数据从FPH写入NAND flash中。
因此整个写操作执行过程中CPU之间进行了大量的命令的命令节点实体的拷贝,进行命令节点实体拷贝将带来较大的延迟,从而不能降低了带宽,使得SSD整体的带宽很难达到NVMe的2-3GB/s的带宽需求。
发明内容
针对以上缺陷,本发明目的是如何提升异构多核硬盘控制器命令处理速度,提升固态硬盘控制器的带宽。
为了解决以上问题本发明提出了一种异构多核的通讯方法,其特征在于将各个CPU通过数据总线访问同一个共享内存进行数据通讯;特别是将执行过程中保持不变的通讯数据在数据第一次生成时存储到共享内存中,并纪录存储地址,CPU通过获取的存储地址访问获得共享内存中的通讯数据。
所述的异构多核的通讯方法,其特征在于为每两个CPU分别在共享内存中创建一个通讯队列;所述通讯数据为命令节点实体,设置有NVMe_nfe模块的CPU获取到主机命令,根据获取的主机命令的命令信息对主机命令进行解析并生成命令节点实体;将命令节点实体写入到共享内存中,并将命令节点实体的存储地址信息压入需要通讯CPU对应的命令队列中,CPU根据获取的命令队列中的地址信息获取共享内存中的命令节点实体。
一种异构多核的硬盘控制器,其特征在于包括4个CPU和3个模块,4个CUP分别为CPU0、CPU1、CPU2和CPU3,3个模块分别为:前端NVMe模块简称NVMe_nfe模块、buffer管理模块简称Buffer manage模块和后端NAND flash读写擦基本操作处理模块简称FPH(flashprotocol handle)模块;4个CPU和3个模块通过AXI总线连接在一起;CPU0中放置固件的NVMe模块,CPU1中放置固件的DPM模块,CPU2中放置固件的FTL模块,CPU3中放置固件的NFC模块;还包括至少一个共享内存,共享内存上设有命令队列FIFO0、命令队列FIFO1和命令队列FIFO2;其中命令队列FIFO0用于CPU0向CPU1传递数据;其中命令队列FIFO1用于CPU1向CPU2传递数据;其中命令队列FIFO2用于CPU2向CPU3传递数据;NVMe_nfe模块获取到主机命令,根据获取的主机命令的命令信息对主机命令进行解析并生成命令节点实体;将命令节点实体写入到共享内存中,并将命令节点实体的存储地址信息压入命令队列FIFO0,CPU1根据获取的命令队列中的地址信息获取共享内存中的命令节点实体。
所述的异构多核的硬盘控制器,其特征在于CPU1中的DPM不停轮询FIFO0,获取命令节点实体地址信息,根据命令节点实体地址信息获取到命令节点实体,解析命令节点实体后将数据从控制器的NVMe_nfe模块读取到Buffer manage模块,并将命令节点实体的地址信息压入FIFO1;CPU2的FTL不停轮询FIFO1,获取命令节点实体地址信息,根据地址信息获取命令节点实体,查询映射表进行逻辑地址映射,通知Buffer manage模块将数据传输至FPH(flash protocol handle)模块,并将命令节点实体的地址压入FIFO2;CPU3中的NFC不停轮询FIFO2,获取节点命令节点实体的地址信息,根据地址信息获取命令节点实体,并处理该命令,进行16KB PPA(physical page address)拼接,并格式化描述符发送给硬件完成数据传输。
所述的异构多核的硬盘控制器,其特征在于CPU在访问命令节点实体时先使用互斥锁将命令节点实体锁住,防止其他CPU修改命令节点实体中的数据。
本发明取得的有益效果:通过从主机提交命令开始,到数据传输,固件的命令节点实体只有一个,不同CPU通过RAM-IF(RAM interface)访问命令节点实体,速度比通过AXI-BUS要快,基本做到数据传输“零拷贝”,由此大大降低了延迟,从而提升了写入带宽。
附图说明
图1是典型异构多核的SSD控制器结构;
图2是典型异构多核的SSD控制器结构的典型命令处理时序图;
图3是改进后的异构多核的硬盘控制器结构框图;
图4是改进后异构多核的SSD控制器结构的典型命令处理时序图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图3是改进后的异构多核的硬盘控制器结构框图,以4核硬盘控制器为例说明,硬盘控制器主要包括4个CPU和3个模块,4个CUP分别为CPU0、CPU1、CPU2和CPU3,3个模块分别为:前端NVMe模块简称NVMe_nfe模块、buffer管理模块简称Buffer manage模块和后端NANDflash读写擦基本操作处理模块简称FPH(flash protocol handle)模块;4个CPU和3个模块通过AXI总线连接在一起;CPU0中放置固件的NVMe模块,CPU1中放置固件的DPM模块,CPU2中放置固件的FTL模块,CPU3中放置固件的NFC模块;还包括至少一个共享内存,共享内存上设有命令队列FIFO0、命令队列FIFO1和命令队列FIFO2;其中命令队列FIFO0用于CPU0向CPU1传递数据;其中命令队列FIFO1用于CPU1向CPU2传递数据;其中命令队列FIFO2用于CPU2向CPU3传递数据;NVMe_nfe模块获取到主机命令,根据获取的主机命令的命令信息对主机命令进行解析并生成命令节点实体;将命令节点实体写入到共享内存中,并将命令节点实体的存储地址信息压入命令队列FIFO0,CPU1根据获取的命令队列中的地址信息获取共享内存中的命令节点实体。CPU1中的DPM不停轮询FIFO0,获取命令节点实体地址信息,根据命令节点实体地址信息获取到命令节点实体,解析命令节点实体后将数据从控制器的NVMe_nfe模块读取到Buffer manage模块,并将命令节点实体的地址信息压入FIFO1;CPU2的FTL不停轮询FIFO1,获取命令节点实体地址信息,根据地址信息获取命令节点实体,查询映射表进行逻辑地址映射,通知Buffer manage模块将数据传输至FPH模块,并将命令节点实体的地址压入FIFO2;CPU3Z中的NFC不停轮询FIFO2,获取节点命令节点实体的地址信息,根据地址信息获取命令节点实体,并处理该命令,进行16KB PPA拼接,并格式化描述符发送给硬件完成数据传输。
图4是改进后异构多核的SSD控制器结构的典型命令处理时序图;CPU间数据传输不再通过短消息doorbell进行,命令节点实体的实体放在share memory中,不同CPU间的FIFO只传输节点实体的地址,不再进行命令节点实体的实体拷贝,短消息的大小一般为32Byte,地址信息的大小只有32bit,因此同时通讯数据长度也降低了一个数量级;降低CPU处理时间,提高命令处理效率。
从主机提交命令开始,到数据传输,固件的命令节点实体只有一个,不同CPU通过RAM-IF访问命令节点实体,速度比通过AXI-BUS要快,基本做到数据传输“零拷贝”,由此大大降低了延迟,从而提升了写入带宽。
以写操作命令为例,其流程:
1)主机通知SSD有新的命令,SSD硬件自动将命令信息取到NVMe_nfe模块;
2)固件的NVMe模块不停轮询polling NVMe状态获取新的命令,解析新的命令并生成控制节点node0,将node0放入共享内存share memory,并将控制节点node0的地址压入FIFO0;
3)DPM不停polling FIFO0,获取节点node0,解析node0命令后将数据从控制器的NVMe_nfe模块读取到Buffer manage模块,并将控制节点node0的地址压入FIFO1;
4)FTL不停polling FIFO1,获取节点node0,查询映射表进行4KB LPA地址映射,通知Buffer manage模块将数据传输至FPH模块,并将控制节点node0的地址压入FIFO2;
5)NFC不停polling FIFO2,获取节点node0,处理node0,进行16KB PPA拼接,并format描述符发送给硬件完成数据传输。
由于不同CPU对同一命令节点实体访问存在冲突,通过设计Mutex互锁机制来解决这个问题,CPU在访问命令节点实体时先使用Mutex将命令节点实体锁住,防止其他CPU修改命令节点实体中的数据。
还包括一些公用的代码如uart driver、timer driver、debug massage、cmdline等可以放在share memory中,减少每个CPU中私有TCM空间,帮助降低功耗。
本方案中还涉及到一些中间模块:内存管理、核间同步、共享内存、硬件适配层。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (5)
1.一种异构多核的通讯方法,其特征在于将各个CPU通过数据总线访问同一个共享内存进行数据通讯;特别是将执行过程中保持不变的通讯数据在数据第一次生成时存储到共享内存中,并纪录存储地址,CPU通过获取的存储地址访问获得共享内存中的通讯数据。
2.根据权利要求1所述的异构多核的通讯方法,其特征在于为每两个CPU分别在共享内存中创建一个通讯队列;所述通讯数据为命令节点实体,设置有NVMe_nfe模块的CPU获取到主机命令,根据获取的主机命令的命令信息对主机命令进行解析并生成命令节点实体;将命令节点实体写入到共享内存中,并将命令节点实体的存储地址信息压入需要通讯CPU对应的命令队列中,CPU根据获取的命令队列中的地址信息获取共享内存中的命令节点实体。
3.一种异构多核的硬盘控制器,其特征在于包括4个CPU和3个模块,4个CUP分别为CPU0、CPU1、CPU2和CPU3,3个模块分别为:前端NVMe模块简称NVMe_nfe模块、buffer管理模块简称Buffer manage模块和后端NAND flash读写擦基本操作处理模块简称FPH(flashprotocol handle)模块;4个CPU和3个模块通过AXI总线连接在一起;CPU0中放置固件的NVMe模块,CPU1中放置固件的DPM模块,CPU2中放置固件的FTL模块,CPU3中放置固件的NFC模块;还包括至少一个共享内存,共享内存上设有命令队列FIFO0、命令队列FIFO1和命令队列FIFO2;其中命令队列FIFO0用于CPU0向CPU1传递数据;其中命令队列FIFO1用于CPU1向CPU2传递数据;其中命令队列FIFO2用于CPU2向CPU3传递数据;NVMe_nfe模块获取到主机命令,根据获取的主机命令的命令信息对主机命令进行解析并生成命令节点实体;将命令节点实体写入到共享内存中,并将命令节点实体的存储地址信息压入命令队列FIFO0,CPU1根据获取的命令队列中的地址信息获取共享内存中的命令节点实体。
4.根据权利要求3所述的异构多核的硬盘控制器,其特征在于CPU1中的DPM不停轮询FIFO0,获取命令节点实体地址信息,根据命令节点实体地址信息获取到命令节点实体,解析命令节点实体后将数据从控制器的NVMe_nfe模块读取到Buffer manage模块,并将命令节点实体的地址信息压入FIFO1;CPU2的FTL不停轮询FIFO1,获取命令节点实体地址信息,根据地址信息获取命令节点实体,查询映射表进行逻辑地址映射,通知Buffer manage模块将数据传输至FPH模块,并将命令节点实体的地址压入FIFO2;CPU3中的NFC不停轮询FIFO2,获取节点命令节点实体的地址信息,根据地址信息获取命令节点实体,并处理该命令,进行16KB PPA拼接,并格式化描述符发送给硬件完成数据传输。
5.根据权利要求4所述的异构多核的硬盘控制器,其特征在于CPU在访问命令节点实体时先使用互斥锁将命令节点实体锁住,防止其他CPU修改命令节点实体中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710989769.4A CN107957970A (zh) | 2017-10-23 | 2017-10-23 | 一种异构多核的通讯方法及固态硬盘控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710989769.4A CN107957970A (zh) | 2017-10-23 | 2017-10-23 | 一种异构多核的通讯方法及固态硬盘控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107957970A true CN107957970A (zh) | 2018-04-24 |
Family
ID=61963845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710989769.4A Pending CN107957970A (zh) | 2017-10-23 | 2017-10-23 | 一种异构多核的通讯方法及固态硬盘控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107957970A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597577A (zh) * | 2018-12-03 | 2019-04-09 | 郑州云海信息技术有限公司 | 一种处理nvme协议读写命令的方法、系统及相关装置 |
CN109901890A (zh) * | 2019-03-07 | 2019-06-18 | 深圳忆联信息系统有限公司 | 一种控制器加载多核固件的方法、装置、计算机设备及存储介质 |
CN109960473A (zh) * | 2019-04-10 | 2019-07-02 | 深圳忆联信息系统有限公司 | 一种减少数据交互提升ssd读性能的方法及其系统 |
CN110765033A (zh) * | 2019-10-31 | 2020-02-07 | 四川效率源信息安全技术股份有限公司 | 一种ahci模式下访问硬盘的方法 |
CN111427817A (zh) * | 2020-03-23 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种amp系统双核共用i2c接口的方法、存储介质及智能终端 |
CN111913669A (zh) * | 2020-08-07 | 2020-11-10 | 深圳忆联信息系统有限公司 | Ssd掉电速度提高方法、装置、计算机设备及存储介质 |
CN112765086A (zh) * | 2020-12-30 | 2021-05-07 | 北京泽石科技有限公司 | 固态存储中一种基于cache一致性的软硬件交互方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095550A1 (en) * | 1999-03-17 | 2002-07-18 | Akira Fujibayashi | Broadcast system in disk array controller |
CN102012794A (zh) * | 2010-11-19 | 2011-04-13 | 北京兆易创新科技有限公司 | 一种固态硬盘及其访问控制方法、一种固态硬盘控制器 |
US20110093659A1 (en) * | 2009-10-16 | 2011-04-21 | Samsung Electronics Co., Ltd. | Data storage device and data storing method thereof |
CN102929813A (zh) * | 2012-10-19 | 2013-02-13 | 浪潮电子信息产业股份有限公司 | 一种pci-e接口固态硬盘控制器的设计方法 |
CN104102458A (zh) * | 2014-06-27 | 2014-10-15 | 北京兆易创新科技股份有限公司 | 多核cpu的负载均衡方法、多核cpu及固态硬盘 |
US8943226B1 (en) * | 2013-11-22 | 2015-01-27 | Lsi Corporation | Interface for heterogeneous PCI-e storage devices |
CN106095604A (zh) * | 2016-06-21 | 2016-11-09 | 京信通信技术(广州)有限公司 | 一种多核处理器的核间通信方法及装置 |
CN106569736A (zh) * | 2015-10-10 | 2017-04-19 | 北京忆芯科技有限公司 | NVMe协议处理器及其处理方法 |
CN106598742A (zh) * | 2016-12-26 | 2017-04-26 | 湖南国科微电子股份有限公司 | 一种ssd主控内部负载均衡系统及方法 |
US20170123696A1 (en) * | 2015-10-29 | 2017-05-04 | Sandisk Technologies Llc | Multi-processor non-volatile memory system having a lockless flow data path |
-
2017
- 2017-10-23 CN CN201710989769.4A patent/CN107957970A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095550A1 (en) * | 1999-03-17 | 2002-07-18 | Akira Fujibayashi | Broadcast system in disk array controller |
US20110093659A1 (en) * | 2009-10-16 | 2011-04-21 | Samsung Electronics Co., Ltd. | Data storage device and data storing method thereof |
CN102012794A (zh) * | 2010-11-19 | 2011-04-13 | 北京兆易创新科技有限公司 | 一种固态硬盘及其访问控制方法、一种固态硬盘控制器 |
CN102929813A (zh) * | 2012-10-19 | 2013-02-13 | 浪潮电子信息产业股份有限公司 | 一种pci-e接口固态硬盘控制器的设计方法 |
US8943226B1 (en) * | 2013-11-22 | 2015-01-27 | Lsi Corporation | Interface for heterogeneous PCI-e storage devices |
CN104102458A (zh) * | 2014-06-27 | 2014-10-15 | 北京兆易创新科技股份有限公司 | 多核cpu的负载均衡方法、多核cpu及固态硬盘 |
CN106569736A (zh) * | 2015-10-10 | 2017-04-19 | 北京忆芯科技有限公司 | NVMe协议处理器及其处理方法 |
US20170123696A1 (en) * | 2015-10-29 | 2017-05-04 | Sandisk Technologies Llc | Multi-processor non-volatile memory system having a lockless flow data path |
CN106095604A (zh) * | 2016-06-21 | 2016-11-09 | 京信通信技术(广州)有限公司 | 一种多核处理器的核间通信方法及装置 |
CN106598742A (zh) * | 2016-12-26 | 2017-04-26 | 湖南国科微电子股份有限公司 | 一种ssd主控内部负载均衡系统及方法 |
Non-Patent Citations (1)
Title |
---|
杨国芳: "多核处理器核间通信技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597577A (zh) * | 2018-12-03 | 2019-04-09 | 郑州云海信息技术有限公司 | 一种处理nvme协议读写命令的方法、系统及相关装置 |
CN109901890A (zh) * | 2019-03-07 | 2019-06-18 | 深圳忆联信息系统有限公司 | 一种控制器加载多核固件的方法、装置、计算机设备及存储介质 |
CN109901890B (zh) * | 2019-03-07 | 2020-12-01 | 深圳忆联信息系统有限公司 | 一种控制器加载多核固件的方法、装置、计算机设备及存储介质 |
CN109960473A (zh) * | 2019-04-10 | 2019-07-02 | 深圳忆联信息系统有限公司 | 一种减少数据交互提升ssd读性能的方法及其系统 |
CN110765033A (zh) * | 2019-10-31 | 2020-02-07 | 四川效率源信息安全技术股份有限公司 | 一种ahci模式下访问硬盘的方法 |
CN110765033B (zh) * | 2019-10-31 | 2023-03-10 | 四川效率源信息安全技术股份有限公司 | 一种ahci模式下访问硬盘的方法 |
CN111427817A (zh) * | 2020-03-23 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种amp系统双核共用i2c接口的方法、存储介质及智能终端 |
CN111913669A (zh) * | 2020-08-07 | 2020-11-10 | 深圳忆联信息系统有限公司 | Ssd掉电速度提高方法、装置、计算机设备及存储介质 |
CN111913669B (zh) * | 2020-08-07 | 2023-04-28 | 深圳忆联信息系统有限公司 | Ssd掉电速度提高方法、装置、计算机设备及存储介质 |
CN112765086A (zh) * | 2020-12-30 | 2021-05-07 | 北京泽石科技有限公司 | 固态存储中一种基于cache一致性的软硬件交互方法 |
CN112765086B (zh) * | 2020-12-30 | 2023-09-08 | 北京泽石科技有限公司 | 固态存储中一种基于cache一致性的软硬件交互方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957970A (zh) | 一种异构多核的通讯方法及固态硬盘控制器 | |
EP2763045B1 (en) | Method and apparatus for allocating memory space with write-combine attribute | |
US9696942B2 (en) | Accessing remote storage devices using a local bus protocol | |
US9727503B2 (en) | Storage system and server | |
DE102018004327A1 (de) | Systeme und Verfahren zum Zugreifen auf Massenspeicher als Arbeitsspeicher | |
US9986028B2 (en) | Techniques to replicate data between storage servers | |
US9467512B2 (en) | Techniques for remote client access to a storage medium coupled with a server | |
JP6005835B2 (ja) | マルチキャストdmaおよび統合されたアドレス空間を有するストレージシステム | |
US8904079B2 (en) | Tunneling platform management messages through inter-processor interconnects | |
TW201939269A (zh) | 主機系統及其方法和加速模組 | |
US20150026368A1 (en) | Direct memory access to storage devices | |
CN103959255A (zh) | 跨多个内存口使用选择性复制降低内存访问延迟的系统及方法 | |
CN103927276B (zh) | 基于Zynq‑7000的PCM FMC扩展板及其工作方法 | |
US9015440B2 (en) | Autonomous memory subsystem architecture | |
CN109196829A (zh) | 远程存储器操作 | |
CN101150487A (zh) | 一种零拷贝网络报文发送方法 | |
CN106933504B (zh) | 用于提供存储系统的访问的方法和系统 | |
CN101150488A (zh) | 一种零拷贝网络报文接收方法 | |
CN101414291A (zh) | 一种主从分布式系统和应用于该系统的并行通信方法 | |
CN104239252A (zh) | 数据存储系统的数据传输方法、装置及系统 | |
WO2023040464A1 (zh) | 一种总线通信方法及相关设备 | |
CN1577292A (zh) | 存储控制芯片及数据存储控制方法 | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
CN102708075A (zh) | 一种sd卡硬件控制装置及控制方法 | |
WO2024093112A1 (zh) | 计算引擎通信方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180424 |