网站首页 > 编程文章 正文
在传统的系统应用架构中,如机械硬盘和光驱设备,SATA(Serial ATA)接口在高级主机控制器接口AHCI(Serial ATA Advanced Host Controller Interface)模式的帮助下,已完全达到预期的性能要求。但到了固态硬盘的时代,与机械硬盘的磁头等机械结构不同,固态硬盘的存储介质是NAND闪存,这时,SATA接口和高级控制器接口AHCI模式的组合已经称为了固态硬盘性能释放的瓶颈。
理工科最大的优势就是,出现问题,就会立即寻找解决问题的办法。俗话说,问医抓药,就要先了解病症。所以在要去找解决这一瓶颈的答案之前,我们需要深入了解一下固态硬盘的结构和存储方式。
从上图的固态硬盘的结构图可以看到,固态硬盘主要有主控Controller,内存RAM和NAND闪存组成。此外,固态硬盘与Host主机之间的交互依靠特定的接口Host Interface,主控与NAND闪存之间的数据交互由Flash Controller控制。在主控与NAND闪存之间存在多个通道,每个NAND闪存芯片执行正常的速度,结合多通道结构达到容量的提升,也能够保证固态硬盘可以更快的进行数据传输,最终达到高性能。
根据早期的闪存报告,每个NAND闪存芯片的50MB/s, 典型的固态硬盘结构中采用4或者8个NAND芯片,那么综合性能可以达到400MB/s(8*50MB/s). 我们知道,SATA接口中的第三代SATA 3.0最大的速度为600MB/s, 所以这个速度对于早期的NAND闪存芯片来说已经绰绰有余了。
但是,目前消费级固态硬盘中的NAND闪存芯片的速度大约是200MB/s. 随着NAND闪存标准的不断完善,包括AT&T Toggle 2.x和ONFI 3.x,PCIe固态硬盘配备的NAND芯片速度达到400MB/s,如果配备8颗NAND芯片,PCIe固态硬盘NAND闪存速度可以达到3.2GB/s。从这个速度来看,SATA接口固态硬盘完全不能发挥NAND本身的优势,完成称为了固态硬盘最大吞吐量的瓶颈。
SATA接口和高级控制器接口AHCI接口发展遇到瓶颈,这时,NVMe主机控制器接口协议应用而生,NVMe的目的就是满足基于PCIe固态硬盘的企业数据中心和终端用户的系统性能需求。虽然在NVMe之前,为了实现PCIe固态硬盘性能的最大化,各大厂商为PCIe固态硬盘设计了很多接口和专属的驱动设计,由于每家厂商设计的接口完全不一致,从而导致了大规模的应用。为了更好实现PCIe固态硬盘的扩展,NVMe标准也随之出炉。NVMe充分发挥了PCIe固态硬盘的低延迟以及并行性,这也侧面反馈了,现在系统应用平台的并行性。下图展示的是NVMe主机控制接口搭配PCIe固态硬盘的链接示意图,以及AHCI主机控制器接口搭配SATA固态硬盘的链接示意图。
从上面的互连示意图,我们可以了解到,SATA固态硬盘是先链接到SATA控制器,再链接到PCIe RC;但是,基于PCIe的固态硬盘可以直接链接到PCIe RC端或者CPU,这中间消除了转换协议的开销,实现更快的数据处理。
这篇文章先抛装引玉,引出NVMe, 下一篇着重介绍NVMe与AHCI具体的不同之处。敬请期待,谢谢!
猜你喜欢
- 2024-10-15 超能课堂(138):硬盘的S.M.A.R.T.是什么?如何看懂它
- 2024-10-15 教你打造网络与存储设备:群晖DS 1618+IT团队老伙伴的新相逢
- 2024-10-15 AHCI SSD和NVMe SSD的区别(ahci和固态硬盘)
- 2024-10-15 网络与存储设备 篇一:Synology DS 1618+ IT团队老伙伴的新相逢
- 2024-10-15 windows系统启动常见报错信息判断电脑故障
- 2024-10-15 工业级2.5寸SATA固态硬盘(SSD)(2.5寸工业主板)
- 2024-10-15 容器跨主机存储入坑指南(容器与主机之间的数据拷贝命令)
- 2024-10-15 浪潮服务器——板载raid UEFI模式下配置步骤
- 2024-10-15 戴尔7467-Inspiron 灵越 14 7000硬件测评!
- 2024-10-15 如何通过命令行使用virtualbox虚拟机
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)