SSD通道知识,谨防遇到大号U盘
SSD的性能主要取决于主控、NAND Flash、容量、缓存大小。
相同类型,相同容量,相同制程的各原厂的NAND Flash其实性能相差无几。在性能上,SLC>MLC>TLC,3D NAND同样如此。
缓存也是影响SSD性能的重要因素。缓存的大小和实际的“SSD容量”及相应的“SSD主控”相关。
主控相当于SSD的大脑。如果NAND儿子,主控就是爹。如果NAND是块田地,主控就是那拉车的牛。NAND Flash负责SSD的储存,主控负责SSD的功能和工作方式等。SSD是由多个NAND Flash组成的阵列,而主控就负责管理这个阵列,跟电脑的CPU作用相似,主要负责调度、协调、控制SSD系统。主控芯片一方面负责合理调配数据在各个闪存芯片上的负荷,
另一方面承担了整个数据中转,连接闪存芯片和外部SATA接口。除此之外,主控还负责ECC纠错、耗损平衡、坏块映射、读写缓存、垃圾回收以及加密等一系列的功能算法。
由此可见SSD主控的重要性。我们今天要讲的是SSD主控的通道。
这是一张光威SSD的内部图。正方形的芯片为主控,下面是一个NAND阵列。
我们上面讲了SSD主控的作用。主控要对Nandflash发挥作用,就需要通道。主控和Nandflash是通过通道建立了联系。通道的数量由主控和Nandflash决定。它对于主控,对于SSD是非常重要的。
早期的主控通道数都是8通道,有的甚至10通道,这与当时的Nandflash技术有关。当时的Nandflash有很大一部分是异步的Flash(Async),带宽只有50Mbps且Flash的page size一般只有4KB,8KB,只有8/10通道的主控才能发挥SSD在SATA 3.0接口下的最强效能。特点是:连续读写速度快,但是随即读写慢。
随着Nandflash技术进一步成熟,各主控厂商开始设计4通道的主控,Flash带宽也持续提升,普遍都是200Mbps,部分达到400Mbps,4通道的SSD已能够满足SATA3.0接口下SSD的性能。所以现在4通道基本成为主控的标准。而部分8通道,也必然采用了双主控。
2通道和1通道的主控主要应用于U盘,因为TF卡对小文件没有太高要求,对产品的稳定性要求也不高。但是,少部分企业却热衷于用2通道主控来做SSD,无非成本方面的考虑,把SSD依然当成U盘或TF卡来做。这种SSD无论使用性能和安全性都无法得到保障。
JEDEC(国际固态技术协会)呼吁,消费级SSD应该坚守四通道的主流。
在去年国内第一届固态硬盘技术及未来发展研讨峰会上,国内知名SSD品牌光威、七彩虹、阿斯加特,全球知名SSD主控大厂慧荣科技及海力士、镁光知名闪存大厂等,共同解读未来SSD技术趋势,也同时再次重申了消费级SSD四通道主流地位。另外这次大会过后,光威、阿斯加特还和镁光、慧荣等建立了更加长久的合作关系。
去年至今,晶圆紧缺,SSD的成本和价格都突飞猛进。这也导致了个别企业,为了追求利益的最大化,而把SSD当作U盘来做。这中大号U盘再速度、安全性上都非常低下,掉盘、掉速,频繁,严重的损害了消费者的利益。价格高,质量欠佳,SSD市场可说是乱象纷呈。
国内著名SSD厂家光威表示,只有坚持SSD的性价比,以更专业的品质,更好的性能,更低的价格,才能稳定SSD市场,改变各种乱象,给消费者带来真正满意放心的产品。
光威所有系列的SSD基本都采用了美光MLC闪存,慧荣(SMI)四通道主控,读写性能、安全性能优秀,并且价格实惠。另外,光威还承诺3-5年,只换不修。
只有优秀的产品,才有强烈的自信。只有真材实料,才实实在在。也只有对消费者负责的产品,才能深受消费者的喜爱。
在这里提醒大家,选择SSD时,切勿生冷不忌,选择小厂SSD产品,谨防遇见大号U盘。
Linux 中的“大内存页”(hugepage)是个什么?
编译自: https://kerneltalks.com/services/what-is-huge-pages-in-linux/作者: Shrikant Lavhate
译者: DarkSun
学习 Linux 中的 大内存页(hugepage)。理解什么是“大内存页”,如何进行配置,如何查看当前状态以及如何禁用它。
本文中我们会详细介绍 大内存页(huge page),让你能够回答:Linux 中的“大内存页”是什么?在 RHEL6、RHEL7、Ubuntu 等 Linux 中,如何启用/禁用“大内存页”?如何查看“大内存页”的当前值?
首先让我们从“大内存页”的基础知识开始讲起。
Linux 中的“大内存页”是个什么玩意?
“大内存页”有助于 Linux 系统进行虚拟内存管理。顾名思义,除了标准的 4KB 大小的页面外,它们还能帮助管理内存中的巨大的页面。使用“大内存页”,你最大可以定义 1GB 的页面大小。
在系统启动期间,你能用“大内存页”为应用程序预留一部分内存。这部分内存,即被“大内存页”占用的这些存储器永远不会被交换出内存。它会一直保留其中,除非你修改了配置。这会极大地提高像 Oracle 数据库这样的需要海量内存的应用程序的性能。
为什么使用“大内存页”?
在虚拟内存管理中,内核维护一个将虚拟内存地址映射到物理地址的表,对于每个页面操作,内核都需要加载相关的映射。如果你的内存页很小,那么你需要加载的页就会很多,导致内核会加载更多的映射表。而这会降低性能。
使用“大内存页”,意味着所需要的页变少了。从而大大减少由内核加载的映射表的数量。这提高了内核级别的性能最终有利于应用程序的性能。
简而言之,通过启用“大内存页”,系统具只需要处理较少的页面映射表,从而减少访问/维护它们的开销!
如何配置“大内存页”?
运行下面命令来查看当前“大内存页”的详细内容。
root@kerneltalks # grep Huge /proc/meminfoAnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
从上面输出可以看到,每个页的大小为 2MB(Hugepagesize),并且系统中目前有 0 个“大内存页”(HugePages_Total)。这里“大内存页”的大小可以从 2MB 增加到 1GB。
运行下面的脚本可以知道系统当前需要多少个巨大页。该脚本取之于 Oracle。
#!/bin/bash#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`
# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk {'print $2'}`
# Start from 1 pages to be on the safe side and guarantee 1 free HugePage
NUM_PG=1
# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | awk {'print $5'} | grep "[0-9][0-9]*"`
do
MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
if [ $MIN_PG -gt 0 ]; then
NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
fi
done
# Finish with results
case $KERN in
'2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;
echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;
'2.6' | '3.8' | '3.10' | '4.1' ) echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
*) echo "Unrecognized kernel version $KERN. Exiting." ;;
esac
# End
将它以 hugepages_settings.sh 为名保存到 /tmp 中,然后运行之:
root@kerneltalks # sh /tmp/hugepages_settings.shRecommended setting: vm.nr_hugepages = 124
你的输出类似如上结果,只是数字会有一些出入。
这意味着,你系统需要 124 个每个 2MB 的“大内存页”!若你设置页面大小为 4MB,则结果就变成了 62。你明白了吧?
配置内核中的“大内存页”
本文最后一部分内容是配置上面提到的 内核参数 [1] ,然后重新加载。将下面内容添加到 /etc/sysctl.conf 中,然后输入 sysctl -p 命令重新加载配置。
vm.nr_hugepages=126注意我们这里多加了两个额外的页,因为我们希望在实际需要的页面数量之外多一些额外的空闲页。
现在,内核已经配置好了,但是要让应用能够使用这些“大内存页”还需要提高内存的使用阀值。新的内存阀值应该为 126 个页 x 每个页 2 MB = 252 MB,也就是 258048 KB。
你需要编辑 /etc/security/limits.conf 中的如下配置:
soft memlock 258048hard memlock 258048
某些情况下,这些设置是在指定应用的文件中配置的,比如 Oracle DB 就是在 /etc/security/limits.d/99-grid-oracle-limits.conf 中配置的。
这就完成了!你可能还需要重启应用来让应用来使用这些新的巨大页。
如何禁用“大内存页”?
“大内存页”默认是开启的。使用下面命令来查看“大内存页”的当前状态。
root@kerneltalks# cat /sys/kernel/mm/transparent_hugepage/enabled[always] madvise never
输出中的 [always] 标志说明系统启用了“大内存页”。
若使用的是基于 RedHat 的系统,则应该要查看的文件路径为 /sys/kernel/mm/redhat_transparent_hugepage/enabled。
若想禁用“大内存页”,则在 /etc/grub.conf 中的 kernel 行后面加上 transparent_hugepage=never,然后重启系统。
via: https://kerneltalks.com/services/what-is-huge-pages-in-linux/
作者:Shrikant Lavhate[2] 译者:lujun9972 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
点击“了解更多”可访问文内链接
相关问答
rs. pagesize =iCount-( page -1)*rs. pagesize 这句话是什么意思?...[最佳回答]Objectrs.pagesize--每页中的字节数(或行数,或...,要查rs)fori=1tors.pagesize--循环语句,i从1循环到..字节数(或行数).Obje...
yaffs是什么品牌?yaffs文件系统,不是什么品牌YAFFS是Aleph1的工程师CharlesManning开发的NANDFlash文件系统。YAFFS1和YAFFS2主要差异还是在于PAGE读写s...
standardmargins,generallyonepagepersection.这个是我们...[回答]字体大小12单倍行距或双倍行距标准的页面设置每部分一页
PDF图片如何与页面相符?如果你在PDF文档中插入的图片与页面不符,你可以通过以下方法来解决:1.重新插入图片:在PDF文档中,选择需要替换的图片,然后删除它。再次插入图片,确保...
【英语翻译Pages-72 Size (opened):420x297mmSize(closed):210...[最佳回答]看来是印书的么.内页:72页;打开尺寸420*297;合上尺寸210*297;双面4色印刷;材料150g(你那什么纸没听过).封面:特殊形状模切;合上尺寸211*297;单面5色...
exp导出用法?Oracle导出程序Exp的使用具体过程Oracle的导出实用程序(Exportutility)允许从数据库提取数据,并且将数据写入操作系统文件。exp使用的基本格式:exp[username.....
oppo手机滚动截屏怎么弄_懂视生活_懂你更懂生活iPhone11系统版本:EMUI10.1、iOS13.6软件版本:null华为手机截长图的方法:1.点击工具栏的截屏按钮。2.点击截屏图片。3.点击滚动截屏图标。4.点击屏幕即可完成...
db2如何更改表空间页数?要更改DB2表空间的页面数,可以使用ALTERTABLESPACE命令。以下是更改表空间页数的步骤:1.首先,使用以下命令连接到DB2数据库:```db2connectto要更改DB2表.....
英语翻译Pages - 72 Size (opened):420 x 297mmSize (closed)...看来是印书的么.内页:72页;打开尺寸420*297;合上尺寸210*297;双面4色印刷;材料150g(你那什么纸没听过).封面:特殊形状模切;合上尺寸211*297;单面5...
我要洗寸照一版八张用英语怎么说?_作业帮[回答]我要洗寸照一版八张.I'dliketohavethephotographicplate(底片)developedto8copiesperpagewith1inch...