服务器测试之硬盘规格扫盲贴

news2024/11/25 2:50:11

最近整理了AVL系统里的SSD相关规格信息,来个了解硬盘规格信息的扫盲贴,过程很曲折,但是认为学习一下相关规格参数还是很有用的
1.什么是硬盘
硬盘是计算机最主要的存储设备,平常买电脑的时候看到的配置24G+1T里的1T就是硬盘,计算机需要正常运行所需的大部分软件及数据文件都存储在硬盘上

2.硬盘类型划分为三种SSD HDD HHD
2.1SSD固态硬盘:SSD采用闪存颗粒来存储,固态硬盘(Solid State Drive),简称SSD(固盘),是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)以及缓存单元组成。全部是由电子芯片及电路板组成。根据固态硬盘的定义,我们可以知道固态硬盘的内部结构,其实就是由三大块主控芯片、闪存颗粒、缓存单元构成

2.1.1SSD主要组成
主控:主控是SSD的大脑,承担着指挥、运算和协调的作用,具体表现在:一是实现标准主机接口与主机通信,二是实现与闪存的通信,三是运行SSD内部FTL算法
闪存:闪存颗粒,又称闪存,是一种非易失性存储器,即在断电的情况下依旧可以保存已经写入的数据。NAND闪存颗粒,是闪存家族的一员,最早由日立公司于1989年研制并推向市场,由于NAND闪存颗粒有着功耗更低、价格更低和性能更佳等诸多优点,成为了存储行业最为重要的存储原料。SSD中一般有多个NAND Flash,每个NAND Flash包含多个Block,每个Block包含多个Page。由于NAND的特性,其存取都必须以page为单位,即每次读写至少是一个page,通常地,每个page的大小为4k或者8k。另外,NAND还有一个特性是,其只能是读或写单个page,但不能覆盖写如某个page,必须先要清空里面的内容,再写入。
闪存构成:页page(4K)→块block(通常64个page组成一个block,有的是128个)→面plane(多个blcok组成)→die(plane就是一个die)→闪存片(多个die组成)→SSD(多颗闪存片组成)
缓存:固态硬盘中的一块缓存区域,用来临时存储数据以提高读写性能,目前有的厂商已经集成到主控里
在这里插入图片描述
在这里插入图片描述
2.1.2NAND闪存颗粒类型SLC、MLC、TLC、QLC
根据NAND闪存中电子单元密度的差异,又可以分为SLC(单层次存储单元)、MLC(双层存储单元)、TLC(三层存储单元)、QLC(四层存储单元)。目前主流SSD用TLC的较多,MLC价格略贵,QLC寿命短
SLC(单层存储单元)
全称是Single-Level Cell,单层电子结构,每个cell可以存放1bit数据,SLC达到1bit/cell,写入数据的时候电压变化区间小,P/E寿命较长,理论擦写次数在10万次以上,但是由于成本最高,所以SLC颗粒多数用于企业级高端产品中。
MLC(双层存储单元)
全称是Multi-Level Cell,使用高低电压的而不同构建的双层电子结构,MLC达到2bit/cell,P/E寿命较长,理论擦写次数在3000-5000次左右,成本相对较高,但是对于消费级来说也可以接受,多用于家用级高端产品中。
TLC(三层存储单元)
全称是Trinary-Level Cell,三层式存储单元,是MLC闪存延伸,TLC达到3bit/cell,由于存储密度较高,所以容量理论上是MLC的1.5倍,成本较低,但是P/E寿命相对要低一些,理论擦写次数在1000-3000次不等,是目前市面上主流的闪存颗粒。
QLC(四层存储单元)
全称是Quad-Level Cell,四层式存储单元,QLC闪存颗粒拥有比TLC更高的存储密度,同时成本上相比TLC更低,优势就是可以将容量做的更大,成本上更低,劣势就是P/E寿命更短,理论擦写次数仅150次。
在这里插入图片描述
今天又看到了eTLC,eTLC(企业级TLC)主要面向企业级市场,而TLC(Triple-Level Cell)则更常见于消费级市场,eTLC数据完整性和耐久度更好,晶圆厂会挑选每块晶圆片上最好的那部分单元,并依照企业级的标准进行严苛的测试,达到标准后定义为“eTLC”,成本也更高。TLC则更侧重于成本和性能的平衡,适用于消费级市场
在这里插入图片描述
目前有两种主流 NAND 技术——2D NAND 和 3D NAND,它们只是闪存的不同实现方式。2D 或平面 NAND 使用浮栅晶体管在每个单元中存储位;3D 或垂直 NAND 利用电荷陷阱来存储数据。前者将数据并排存储,后者则将它们垂直堆叠(逐层添加等)。这样,更多的单元可以存储在 3D NAND 中,在更快的速率下实现更高的存储能力。
在这里插入图片描述
2.2HDD机械盘:HDD采用磁性碟片来存储,利用磁性来记录信息数据的,原理类似于小时候听歌用的磁带,如果我们需要找到某个数据,磁盘就会转动到记录这个信息的部位,然后由磁头感应磁性来读取数据
硬盘的容量,基计算公式为:存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
• 扇区:磁盘的最小存储单位;
• 磁盘块:文件系统读写数据的最小单位;
• 页:内存的最小存储单位;
• 一个磁盘块由连续几个(2^n)扇区组成;
• 页的大小为磁盘块大小的2^n倍;
• 页大小查看: getconf PAGE_SIZE,常见为4K;
• 磁盘块大小查看:stat /boot/|grep “IO Block”,常见为4K;
• 扇区大小查看:fdisk -l,常见为512Byte;
在这里插入图片描述
2.3HHD混合硬盘:混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘,比较少见了现在

3.硬盘容量
固态硬盘的存储容量通常以GB、TB等单位来表示,其中1TB等于1024GB,常见的硬盘的容量有480GB、960GB、1.92TB、3.84TB、7.68TB、15.36TB
厂商生产容量与我们系统下看到的容量差,计算机中是采用二进制,在电脑世界里,以2的次方数为“批量”处理Byte,每1024KB为1MB,每1024MB为1GB,每1024GB为1TB。硬盘厂商在计算容量方面是以每1000为一进制的,每1000KB为1MB,每1000MB为1GB,每1000GB为1TB,这差异造成了硬盘容量“缩水”。
厂家计算公式:
320G硬盘:320,000,000,000 /1024/1024/1024 = 298G 实际只有298G
300G硬盘:300,000,000,000 /1024/1024/1024 = 279G 实际只有279G

SSD的OP空间:SSD上的OP指的是用户不可操作的容量,大小为实际容量减去用户可用容量,OP区域一般被用于优化操作如:WL,GC和坏块映射等。虽然OP会减少SSD的可用容量,但有减少WA、提高寿命、性能的正面作用。一般为整盘容量的7%或者28%
其实预留空间OP的好处有很多:
1)提高写入性能
由于有预留空间的存在,写入数据时并不需要经常做垃圾回收,加快了写入速度。
2)降低写放大(WA, Write Amplification)
写放大WA这个名词最早是Intel和SiliconSystems在2008年提出。
写放大的计算方法:
WA=最终写入闪存的数据量/Host写入的数据量
查看写入数据量命令:yum install -y smartmontools
smartctl -a /dev/sda
简而言之,要回收block上的无效page需要将有效page腾挪,整块block删除后重新写入腾挪有效数据,回收出新的空间可以写入新数据。NAND闪存工作原理是以4K页(page)为一个单元写入的,但擦除只能以块block(64个page)为单位
SSD中一般有多个NAND Flash,每个NAND Flash包含多个Block,每个Block包含多个Page。由于NAND的特性,其存取都必须以page为单位,即每次读写至少是一个page,通常地,每个page的大小为4k或者8k。另外,NAND还有一个特性是,其只能是读或写单个page,但不能覆盖写如某个page,必须先要清空里面的内容,再写入。
举个简单的例子:当Host要写入4KB数据时,最坏的状况就是一个数据块中没有可用空间,但是呢,这个数据块中有一些无效数据内容能够被擦除,这时主控的做法就是,把这个数据块中全部的数据搬到缓存,然后擦除这个块,在缓存里update整个数据块的内容,更新完成后,把最新的数据搬回数据块,整个操作造成的写放大: Host只需写4K数据,却带来了整个数据块(假设1024KB)的写操作,写放大就等于1024/4=256倍。
3)增加闪存使用寿命
减少数据的搬迁,就是减少NAND闪存的读写次数,增加使用寿命。
4)数据保护
主要提供ECC之外的数据保护

4.读写速率
一般我们看到规格书里显示硬盘读写速率都是这样
顺序读取速度:7300MB/s
顺序写入速度:6300MB/s
4K随机读取:800K IOPS
4K随机写入:1100K IOPS
顺序读写一般是看256K或者128K的BW(bandwidth),随机读写是4K的IOPS(Input/Output Operations Per Second),对于固态硬盘等闪存应用产品,在产品关键参数里会标注顺序读写速度(即顺序读取速度和顺序写入速度)。越高的速度值代表着顺序读写性能就越强,顺序读写数值的速度单位为MB/s。顺序读写性能对于大文件拷贝至关重要。随机读写性能是固态硬盘的关键指标,其单位为IOPS(Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数。随机读写性能越强,处理零碎文件(如启动程序、病毒扫描等)任务就越快。
常用测试硬盘的速率的工具有FIO,SSD需要做预处理写,等进入一个稳态后取读写速率值

SATA 总线一般是给机械硬盘使用,而且速度上限比较低,而 SAS 总线又是企业级使用比较多,那么除了低速的固态硬盘走 SATA 总线,现代的 NVMe 固态硬盘一般都是走 PCIe 总线了
在这里插入图片描述
在这里插入图片描述
5.寿命
大多SSD保修5年,固态硬盘的寿命,是由闪存类型和写入量决定的。
耐用等级(1T):600TBW
保修时间:五年
我们用SN750 1TB来打个比方,假设我向其写满1TB的数据以后再将这个数据擦除,这就是使用了SSD的1次P/E。目前主流的TLC SSD的P/E数为1000次左右,我们用SSD总容量乘以P/E数,再除以每日写入量与365(天)的乘积,最后就得到了SSD的理论使用寿命。
在这里插入图片描述
MTBF 平均故障间隔时间
MTBF 是一种可靠性或故障率量化指标,用于预估 SSD 的耐久性。简单来说,它是两个故障点之间的时间间隔,以小时为单位表示。
TBW 写入总字节数
TBW 通常被称为总写入字节数,是大多数 SSD 制造商用来提供写入循环限制的一般概念规范。虽然听起来很简单,但实际上它是指 SSD 在其寿命内能够写入的总字节数。一旦达到 TBW 上限,理论上就不能在 SSD 中写入更多数据。
DWPD 每日磁盘写入次数,DWPD 是另一个耐久度指标,主要用于企业级 SSD。与 TBW 不同,DWPD 确定用户在保修期内每天可以重写驱动器的次数。以下是快速计算 DWPD 的公式:
DWPD = TBW ÷ 保修期天数
PBW(或TBW):全称Petabytes Written(或Terabytes Written),在SSD的生命周期内允许的主机端数据写入量。1PBW = 1000TBW
DWPD和PBW/TBW可以相互换算,公式如下:
3.2TB,5年DWPD为3.4,那么其TBW为3.2TB3.4365*5,即19856TB

6.硬盘接口类型:让两个设备之间可以通过特殊的形状物理连接起来。
SATAT通道:硬盘——内存——CPU
PCIE通道:硬盘——CPU
在这里插入图片描述
6.1 SATA接口:1.0、2.0、3.0)SATA是Serial ATA(Serial Advanced Technology Attachment)亦称串行ATA,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。SATA接口形态分为SATA1.0、SATA2.0以及最新的SATA3.0,其外观别无二致,主要区别在于传输速度。目前SATA3.0是运用最普遍的接口,主要适用于机械硬盘中,部分2.5英寸的SSD也在使用该接口。不过受带宽限制,SATA3.0接口的传输速度仅在600MB/s左右
SATA revision 1.0 (1.5 Gbit/s, 150 MB/s)
SATA revision 2.0 (3 Gbit/s, 300 MB/s)
SATA revision 3.0 (6 Gbit/s, 600 MB/s)
SATA revision 3.1
SATA revision 3.2 (16 Gbit/s, 1969 MB/s)
在这里插入图片描述
6.2 SAS接口:(Serial Attached SCSI)即串行连接SCSI,和SATA(Serial ATA)相同,采用串行技术以获得更高的传输速度。SAS 具备2对收发通道,而SATA 仅有1对收发通道,SAS的接口技术可以向下兼容SATA,但SATA不可以反向兼容SAS接口。
SATA3.0是600MB/s SAS3.0是1.2GB/s
在这里插入图片描述
M.2接口:M.2接口之前的名字就是我们经常说的NGFF(Next Generation Form Factor)接口,M.2接口有三种类型B Key、M Key和B&M Key,其主要的区别是供电引脚的所在的方向以及引脚的数量,注意B&M Key是兼容B Key和M Key两种接口的通用类型。不同主板的M.2接口所支持的通道是不同的,有的仅持PCI-E通道,其规格说明里关于M.2的描述有标明。而有的则兼容SATA和PCI-E两种通道
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SATA通道由于理论带宽的限制(6Gbps),极限传输速度也只能到600MB/s。NVME协议的理论带宽为10Gbps,传输速度最大可达2000MB/s。
NVMe和AHCI的区别:这两个是硬盘的传输协议,其中NVME是基于PCI-E的,AHCI主要是基于SATA的,所以对于SSD,如果是SATA接口的(包括m.2 SATA)是都支持AHCI的,对于PCI-E接口的(包括m.2 PCI-E、标准的插卡式PCI-E、U.2),是基本上都支持NVMe的。
PCIE AIC接口
AIC是一种SSD的产品形态,它拥有原生PCIe接口,无需转换可直接连接主板上的PCIe插槽,因此采用AIC形态的SSD拥有最佳的性能。不过AIC形态的SSD成本高昂,价格不低,由于PCIe会占用总线通道,入门以及中端平台CPU通道数较少,也不太适合使用PCIe SSD。所以PCIE AIC多用于高端机型
在这里插入图片描述
U.2&U.3
由于U.3、U.2使用相同的SFF-8639物理连接器,因此二者对应的NVMe SSD在接口、外观方面并不存在本质差别。兼容性方面,基于U.3的NVMe SSD须支持U.2主机的向后兼容,这是客户可以在支持U.2 NVMe SSD的服务器上直接使用U.3 NVMe SSD的根本原因。但是,SFF-TA-1001并未要求U.3主机提供对U.2硬盘的支持
在这里插入图片描述
U.2实物图示
在这里插入图片描述

7.总线(Bus):是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。

Sata总线、PCI-e总线和SAS总线

8.传输协议
双方交换数据的规则,比如如何识别对方的身份、如何建立断开连接、编码解码方式(也就是电信号怎么传输接收)等等。
传输协议:NVMe与AHCI
如果说SATA和PCIe是传输数据的“路”,那么NVMe与AHCI就是保证“路”有秩序的交通规则,同样也是固态硬盘性能和速度的保证。关系上传输协议与通道标准是一一对应的,AHCI对应SATA、NVMe对应PCIe(PCIe通道实际上是可以采用AHCI协议的,但是此类产品市面上几乎没有了)。
AHCI无法很好地为采用高速PCIe通道的SSD提供服务,因此针对PCIe通道设计了NVMe传输协议,专为PCIe的SSD服务。目前NVMe已经升级到1.3、1.4版本,低延迟、高性能。
总结一下,SATA和PCIe是传输数据的“路”,SATA(1.0、2.0、3.0)与PCIe(M.2、U.2、AIC)是物理接口,而NVMe与AHCI则是“交通规则”。简单来讲,想要更高速畅快的运行体验选择PCIe固态硬盘,而对于速度需求不高的用户选择SATA即可。 一般数据盘用低配,系统盘用高配nvme ssd
NVMe 和 AHCI 一样,是逻辑(或者说软件、驱动程序)上的标准。而 SATA 和 PCIe 则更注重于物理层面(电流、电压、触脚等)。
在这里插入图片描述
在这里插入图片描述
9.厂商
固态硬盘领域也有大厂与小厂之分。一般来讲大厂的品牌背书质量更加稳健,小厂的产品性价比更高,目前世界上能自主生产闪存颗粒的厂商很少很少,能用上自家工厂生产出的颗粒的品牌才有资格被称为原厂固态,具体来说只有三星、西数、SK海力士(Solidigm)、东芝(铠侠)、美光(英睿达)、长江存储(致态)这几家而已
9.1希捷Seagate:总部在美国加州,虽然希捷的主要产品是机械硬盘驱动器(HDD),但2008年投入1亿美元研发固态硬盘。目前,混合SLC和MLC芯片的固态硬盘已经研制成功。前者具有更好的性能,而后者的单芯片成本则相对较低。常见EXOS X和EXOS E:专用的企业级硬盘。
9.2西部数据Western Digital:起初的主要产品是机械硬盘驱动器(HDD)。但在收购闪迪成为母公司后,它也开始在集成电路和固态硬盘(SSD)上做出努力,企业级:可以分为Xe(高密度性能存储)、Re(高容量存储)、Re+(功率优化和高容量存储的组合)、Se(用于NAS和横向扩展架构)和Ae(高能效HDD冷数据集存储解决方案)。
9.3三星samsung:总部在韩国,闪存控制器的研发一直处于世界领先地位。它的控制器都是自用,不外卖。最新PM1743 是 PCIE Gen5, SSD 搭载第6代V NAND,读 13GB/s, 写 6.6GB/s
9.4 Intel分为两部分
SK海力士(Solidigm):之前的intel ssd被海力士收购目前是solidigm,2020年10月SK海力士以90亿美元收购英特尔旗下NAND和SSD业务。成立之后,Solidigm将成为数据中心NAND存储器的市场领导者。凭借SK海力士的全球业务版图,Solidigm还将成为固态存储器客户的首选合作伙伴。
还有一部分傲腾产品还在intel:相比普通的“NAND”固态硬盘,傲腾具备超高的读写寿命、极快的4K读取性能、可同时进行重载读写而不会掉速。 英特尔确认,将逐步结束Optane(傲腾)存储业务,不再开发新产品
9.5东芝(铠侠):是全球知名存储解决方案供应商,其零售产品覆盖存储卡、闪存盘及固态硬盘等各类闪存产品。铠侠创新的3D闪存技术,广泛应用高级智能手机、PC、SSD、汽车和数据中心等行业的数据闪存设备中。
代表技术:铠侠的固态硬盘(SSD)产品系列内置BiCS FLASH™ 3D闪存,能为客户端PC、企业服务器以及存储与云数据中心提供了更为优化的固态硬盘产品与解决方案
9.6美光:2023年5月21日,中国国家互联网信息办公室(网信办)禁售美光科技产品
美光基于先进 NAND 技术的数据中心 SSD 可提供大容量与更多部署选择,为多种数据中心工作负载带来更加灵活的解决方案。美光全球首款 200+ 层 数据中心 SSD —— 6500 ION NVMe™ SSD 拥有卓越性能、高达 30.72 TB 的存储容量与增强的安全性能
9.7长江存储:致态(ZHITAI) ,是长江存储消费级固态硬盘品牌 ,2020年9月10日正式发布旗下两款固态硬盘产品,分别为PCIe接口致态PC005 Active和SATA接口的致态SC001 Active,两款产品均搭载创新Xtacking®架构3D NAND高品质原厂颗粒,兼具强劲的性能和可靠的品质 。
9.8其他国产品牌:大普微,亿联,得瑞,亿恒创源Memblaze,深圳大普微电子研发的PCIe Gen4 企业级SSD产品已先后获得北美知名国际互联网/云计算巨头和国内电信运营商、行业客户等为代表的批量订单
2023年中国企业级固态硬盘市场份额
在这里插入图片描述
10.评估SSD
核心关注点
主控及固件是否自研,自主研发可降低成本把控技术风险,最大限度实现性能调优
最新产品是否绑定原厂最新颗粒,获得NAND颗粒原厂支持,是开发出可规模量产SSD主控芯片必备条件,所以最好一开始就绑定颗粒原厂最新产品,做定制化研发与测试。全球目前只有六家NAND厂商:海力士、铠侠、三星、镁光、西数(和铠侠合资)和长江存储,固态硬盘都是用的自家生产的闪存颗粒。其中,海力士和三星的技术是最先进的。
PCIE4.0协议NVMe 1.4
出货量,供货是否稳定,生产损坏率
寿命速率,读写性能,不同文件系统下性能
TLC颗粒的SSD,在寿命和性能方面更有优势
容量,企业级选择3.84T和7.68T较多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1835620.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ECharts 词云案例三:2024年阅读关键词

ECharts 词云案例三:2024年阅读关键词 引言 在数据可视化领域,ECharts 以其强大的功能性和灵活性,成为开发者和设计师的首选工具之一。继上一篇关于 ECharts 词云图的详细介绍后,本文将探索词云图的进阶应用——使用蒙版来创造更…

【Linux】—在Linux中搭建Python环境

文章目录 前言一、检查Linux系统是否自带Python版本。二、安装依赖包(重要)三、下载Python-3.9.5安装包四、下载完成后,通过xftp6上传到Linux服务器上五、解压Python安装包六、编译安装Python七、配置Python环境变量八、运行Python,查看是否可用九、pyth…

如何用Excel随机抽取幸运儿

在举行年会等活动,会在大屏幕互动随机滚动抽取幸运观众,有专门开发的软件或程序; 对于我们日常工作中有时会遇到,如何在群体中随机抽取部分幸运儿的问题? 除了抓阄,当然也可以用Excel解决哦,今…

适合小白学习的项目1906java Web智慧食堂管理系统idea开发mysql数据库web结构java编程计算机网页源码servlet项目

一、源码特点 java Web智慧食堂管理系统是一套完善的信息管理系统,结合java 开发技术和bootstrap完成本系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术 bootstra…

现在市面上哪个大大数据信用查询平台比较好用?

在当今信息化和数字化的时代,信用查询平台的重要性愈发突出,特别是在个人贷款、信用卡申请和金融服务领域。选择一个优秀的大数据信用查询平台,不仅可以帮助用户全面了解自己的信用状况,还能提供针对性的解读和建议,帮…

中国天辰×蓝卓丨共创行业级工业操作系统,加速培育新质生产力!

6月17日,中国天辰工程有限公司(以下简称“中国天辰”)党委委员、总经理梁军湘一行莅临蓝卓,双方就工业互联网平台合作进行座谈交流。蓝卓总经理谭彰、副总经理蓝照斌、总经理助理俞益标,以及中控技术副总裁吴才宝、大客…

阿里又出AI神器,颠覆传统图像编辑,免费开源!

文章首发于公众号:X小鹿AI副业 大家好,我是程序员X小鹿,前互联网大厂程序员,自由职业2年,也一名 AIGC 爱好者,持续分享更多前沿的「AI 工具」和「AI副业玩法」,欢迎一起交流~ 最近阿里开源了 Mi…

玩转编程的终极挑战,C++究竟有多难?

C是一门非常强大和灵活的编程语言,它可以实现面向对象、泛型、元编程等多种编程范式,可以开发高性能的系统软件、游戏、图形、网络等各种应用。但是,C也是一门非常复杂和难学的语言,很多初学者在学习C的过程中会遇到很多困难和挫折…

YOLOv8目标检测算法在地平线Bernoulli2架构BPU上高效部署参考(PTQ方案)30fps!

—— 以RDK X3为例,修改Head部分,8ms疾速Python后处理程序,30fps稳稳当当 本文在地平线对YOLOv8s的Backbone修改的基础上,提出一种在地平线Bernoulli2架构BPU上部署YOLOv8的后处理思路。使用640640分辨率,80类别基于C…

【STM32入门学习】定时器与PWM的LED控制

目录 一、定时器与PWM介绍 1.1定时器 1.1.1定时器分类简介 1.1.2STM32定时器分类比较表 1.1.3定时器启动操作: 1.2 PWM 1.2.1 简介: 1.2.2PWM工作原理 1.2.3使用步骤: 二、定时器计数控制LED灯亮灭 2.1HAL库 2.1.1使用HAL库创建…

如何选择适合自己的收银系统源码?

提到收银系统源码,想必很多企业都为此头疼,收银系统厂商五花八门,价格从几千元,到几十万元,甚至上百万元不等。到底如何选择一套适合自己的收银系统源码呢?本文我将结合自己8年从业经验展推荐大家从以下几个…

代码随想录算法训练营第二十七天

题目:122. 买卖股票的最佳时机 II 本题首先要清楚两点: 只有一只股票!当前只有买股票或者卖股票的操作 想获得利润至少要两天为一个交易单元。 局部最优:收集每天的正利润,全局最优:求得最大利润。 我…

(资料收藏)王阳明传《知行合一》共74讲,王阳明知行合一音频讲解资料

今天给大家带来的不是软件,而是一份精神食粮——《知行合一》的教程福利。这可不是一般的教程,它关乎心灵,关乎智慧,关乎我们如何在纷繁复杂的世界中找到自己的位置。 咱们得聊聊王阳明,这位明代的大儒,他…

el-table合并单元格之后,再进行隔行换色的实现

el-table 中有现成的隔行换色功能,只要增加 stripe 属性即可。但是如果有单元格合并的话,这个属性就不可用了。这时候我们就需要动点小心思了。 基于相同字段进行合并 如果是基于表头中的某一列,具有相同值进行合并的话,那么只需…

【Unity】RPG2D龙城纷争(三)角色、角色数据集

更新日期:2024年6月18日。 项目源码:后续章节发布 索引 简介角色数据集(RoleDataSet)一、定义角色数据集类二、角色基础数据(公共数据) 角色(Role)一、定义角色类二、角色其他数据&a…

Python构造TCP三次握手、传输数据、四次挥手pcap数据包并打乱顺序

Python构造数据包,包含: TCP三次握手、 传输数据、 四次挥手 实现 随机乱序TCP数据包 from scapy.all import * from scapy.all import Ether, IP, TCP, UDP, wrpcap from abc import ABC, abstractmethod import random import dpkt from scapy.all…

全氟己酮自动灭火材料表现亮眼!手把手教你自动灭火毯的使用方法

灭火毯的使用方法是什么?很多朋友在购买灭火毯之前,都比较关心这个问题。在这里,我们可以把灭火毯分为两种。一种是传统灭火毯,还有一种是近年来兴起的高科技产品—全氟己酮自动灭火毯。这两种灭火毯的使用方法大有不同&#xff0…

图解ZGC

ZGC(Z Garbage Collector) 是一款性能比 G1 更加优秀的垃圾收集器。ZGC 第一次出现是在 JDK 11 中以实验性的特性引入,这也是 JDK 11 中最大的亮点。在 JDK 15 中 ZGC 不再是实验功能,可以正式投入生产使用了,使用 –X…

智能网站管理系统

智能网站管理系统,即智能化的网站管理工具,是为了提高网站管理效率和简化操作流程而开发的一种软件系统。它集合了各种先进的技术和功能,为网站管理员提供了一套强大而可靠的解决方案。 智能网站管理系统的核心功能是网站内容管理。传统的网站…

tqdm 进度可视化

下载安装包 pip install tqdmor conda install tqdm代码案例 from tqdm import tqdm # 直接传入参数 for i in tqdm([1s,2s,3s,4s]):print(i)# 结合range for i in tqdm(range(100)):print(i)应用 可视效果