当前位置: 首页 > news >正文

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

名字:阿玥的小东东

学习:Python、C/C++

主页链接:阿玥的小东东的博客_CSDN博客-python&&c++高级知识,过年必备,C/C++知识讲解领域博主

目录

内容简介

作者简介

 使用Python做一个计算器

本期赠书


 

图片

近年来国家大力支持半导体行业,鼓励自主创新,中国SSD技术和产业良性发展,产业链在不断完善,与国际厂商的差距逐渐缩小。但从行业发展趋势来看,SSD相关技术仍有大幅进步的空间,SSD相关技术也确实在不断前进。随着闪存芯片制程工艺的进步、堆叠层数的增加等,SSD面临闪存大页问题、写放大导致的性能问题、3D堆叠导致的可靠性问题等,因此,我们仍需不断攻克核心技术,通过软硬件协同等多种方法提升SSD的性能和寿命,从而满足日益增长的应用需求。

中国在SSD技术方面只有面向国际前沿,加强企业研发和自主创新,才能逐步建立起核心竞争力,并在市场中占据更高份额。

《深入浅出SSD》第1版在2018年上市,随即成为SSD从业者,包括研究者、设计者、生产者和应用者,了解SSD工作原理和技术的畅销书。快5年过去了,SSD技术在不断发展,标准也在不断更新,出现了系列新技术或新标准,如可计算存储、ZNS、NVMe协议标准、NVMe over Fabrics、NAND新协议标准等,于是,本书诞生了。本书在第1版的基础上增加了大量新内容,覆盖面更广。本书的作者团队依然来自固态存储行业的技术精英,他们有多年经验,秉持专业、通俗和易懂风格著书,相信本书将继续给读者以良好的体验,助力SSD技术和产业发展。

内容简介

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。

图片

本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。本书既可以作为一本入门书籍帮读者快速上手工作,也可以作为工具书供读者在需要的时候进行查阅。

  • 产品市场篇:介绍了SSD与HDD的比较、SSD的发展历史及产品形态,固态存储市场、NAND原厂动态及闪存发展趋势,以及可计算存储和航天存储产品等。

  • 核心技术篇:重点介绍了主控内部模块构成和工作原理,闪存的实现原理、实践应用、特性及数据完整性等,FTL的映射管理、磨损均衡、垃圾回收、坏块管理等功能,以及LDPC解编码原理等。

  • 协议篇:从实现原理、实践应用、发展趋势等多个维度对NVMe、PCIe、UFS等进行深度解读,让读者既知其然又知其所以然。

  • 测试篇:详述了与SSD相关的常用测试软件、测试流程、仪器设备、业界认证及专业的测试标准等。

  • 扩展篇:从传统的EXT4文件系统到对闪存更友好的F2FS文件系统都进行了全面解读。 

图片

作者简介

SSDFans 由蛋蛋(段星辉,江波龙首席软件工程师)、阿呆(赵占祥,云岫资本合伙人兼CTO)、Marx(王圣,CNEXLABS 固件开发高级经理)、SSD攻城狮于2014 年创立,他们因共同的梦想和追求走到一起。SSDFans 创立的初衷是普及固态存储相关知识,为祖国的固态存储事业添砖加瓦。SSDFans 是目前国内乃至在世界范围内的华人圈中都颇具影响力的 SSD 固态硬盘技术社区。

胡波 毕业于华中科技大学控制系,在固态存储行业从业15年,现就职于Solidigm从事企业级SSD相关工作,曾就职于美光、戴尔、联芸等,负责研发、PM、市场、销售、质量、AE/FAE等工作,涉及的产品有NAND、DRAM、SSD、UFS、控制器等。业余时间热衷写作和分享交流,希望为推动国内固态存储生态和技术发展贡献自己的力量。

石亮 华东师范大学教授/博导,上海市“科技启明星”。研究方向包括存储介质可靠性、存储控制算法、存储文件系统以及全系统软硬件协同技术。在FAST、ATC、MICRO、HPCA等国际顶级会议上发表多篇论文。在存储领域有较高的学术和企业贡献。

岑彪 上海鸾起科技创始人,复旦BI MBA 。曾就职于AMD、Seagate(LSI)、CNEXLABS等公司,当前所在的上海鸾起科技是一家专注于存储产品测试设备开发的科技公司。10余年SSD主控及模组测试经验,是国内较早一批从事SSD研发的工程师,参与过的产品包括SandForce的SATA主控,CNEXLABS PCIe系列主控、DPU等产品。SSD产品测试经验丰富。

图片

 使用Python做一个计算器

  • 程序通过定义 add()subtract()multiply() 和 divide() 函数实现了四种基本的计算操作。
  • 程序在一个无限循环中,每次循环开始时都会显示一个操作指南,让用户选择要进行的操作。
  • 用户可以选择进行加法、减法、乘法、除法或退出程序。
  • 如果用户选择的是加、减、乘、除四种计算操作,程序会要求用户输入两个数字,然后调用相应的函数执行对应的计算操作,并输出计算结果。
  • 如果用户选择的是退出程序,程序会显示感谢信息并退出循环和程序。
  • 如果用户输入的选项无效,程序会提示用户重新选择。
def add(a, b):"""加法"""return a + bdef subtract(a, b):"""减法"""return a - bdef multiply(a, b):"""乘法"""return a * bdef divide(a, b):"""除法"""if b == 0:raise ValueError("除数不能为零")return a / bwhile True:# 显示计算器操作指南print("\n计算器操作指南:")print("1. 加法")print("2. 减法")print("3. 乘法")print("4. 除法")print("5. 退出程序")# 获取用户输入的操作选项choice = input("\n请选择要进行的操作(输入数字 1-5):")# 判断用户输入的选项是否有效if choice in ('1', '2', '3', '4', '5'):if choice == '5':# 退出程序print("\n感谢使用计算器,再见!")breakelse:# 获取用户输入的两个数字num1 = float(input("\n请输入第一个数字:"))num2 = float(input("请输入第二个数字:"))# 执行对应的计算操作if choice == '1':print("\n%.2f + %.2f = %.2f" % (num1, num2, add(num1, num2)))elif choice == '2':print("\n%.2f - %.2f = %.2f" % (num1, num2, subtract(num1, num2)))elif choice == '3':print("\n%.2f × %.2f = %.2f" % (num1, num2, multiply(num1, num2)))elif choice == '4':try:print("\n%.2f ÷ %.2f = %.2f" % (num1, num2, divide(num1, num2)))except ValueError as e:print("\n错误:%s" % e)else:print("\n无效的操作选项,请重新选择。")

本期赠书

截止时间2023年8月31日

参与方式:点赞+关注+评论:人生苦短,拒绝内卷 (此次是粉丝专享福利)

相关文章:

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

名字:阿玥的小东东 学习:Python、C/C 主页链接:阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 内容简介 作者简介 使用Python做一个计算器 本期赠书 近年来国家大力支持半导体行业&#xff0…...

关于layui+php,三级联动-编辑回显的问题。

注 忍不住吐槽一波。都什么年代了。现在都前后端分离,但是公司老项目非得用tplayui。。 代码如下 layui.use([form], function () {var form layui.form;//php代码渲染页面的时候,将一级分类id和二级分类id带过来,存到页面input框中&#x…...

lua的函数

1.一个示例实现列表的元素的求和 [root]# more funcAdd.lua function add(a)local sum 0for i 1,#a dosum sum a[i]endreturn sum enda {1,2,3,4,5,6}local sum add(a)print(sum)...

pytorch/tensorflow 直接给张量中的某个位置的值赋值,操作不可导。

问题:给一个tensor A中[i,j],赋值p。直接操作A[i,j]p可能会导致值覆盖,操作不可导。 解决方案:通过引入一个额外的mask实现。 mask[i,j] 0 mask tf.convert_to_tensor(mask, dtypetf.float32) A (A * mask) (p * (1-mask))p…...

如何使用CSS实现一个平滑滚动到页面顶部的效果(回到顶部按钮)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 平滑滚动到页面顶部的效果(回到顶部按钮)⭐ 创建HTML结构⭐ 编写CSS样式⭐ 编写JavaScript函数⭐ 添加滚动事件监听器⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右…...

【RuoYi移动端】uniApp导入和引用uView2.0插件

一、打开uiew官网 安装 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架uView UI,是 uni-app 生态最优秀的 UI 框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水https://uviewui.com/components/install.html 也可直…...

etcd 备份还原

etcd 备份还原 查看 etcdctl 是否已经安装 # quick check if etcdctl is available or not ETCDCTL_API3 etcdctl --help | head安装 etcdctl # 获取 etcd 版本信息 kubectl exec -it etcd-master -n kube-system -- /bin/sh -c ETCDCTL_API3 /usr/local/bin/etcd --version…...

LInux之chrony服务器

目录 场景 重要性 LInux的两个时钟 硬件时钟 系统时钟 NTP协议 Chrony介绍 定义 组成 --- chronyd和chronyc 安装与配置 安装 Chrony配置文件分析 同步时间服务器 chronyc命令 chronyc sources输出分析 其它命令 查看时间服务器的状态 查看时间服务器是否在线 …...

《Flink学习笔记》——第七章 处理函数

为了让代码有更强大的表现力和易用性,Flink 本身提供了多层 API 在更底层,我们可以不定义任何具体的算子(比如 map,filter,或者 window),而只是提炼出一个统一的“处理”(process&a…...

Nacos基础(3)——nacos+nginx 集群的配置和启动 端口开放 nginx反向代理nacos集群

目录 引出nacos集群nginx反向代理nacos集群停止单例nacos准备8848和8858修改cluster.conf配置【配置】修改启动配置文件【配置】开放8858的端口分别以集群方式启动【启动】前端访问查看生产者测试8858nacos nginx反向代理配置代理tcp代理http启动nginx反向代理容器生产者访问测…...

传承精神 缅怀伟人——湖南多链优品科技有限公司赴韶山开展红色主题活动

8月27日上午, 湖南多链优品科技有限公司全体员工怀着崇敬之情,以红色文化为引领,参加了毛泽东同志诞辰130周年的纪念活动。以董事长程小明为核心的公司班子成员以及全国优秀代表近70人一行专赴韶山,缅怀伟人毛泽东同志的丰功伟绩。…...

安全知识普及-如何创建一个安全的密码

文章目录 安全密码的特点创建安全密码的方法为何要创建一个安全的密码推荐阅读 安全密码是一种强化的密码,旨在提供更高级别的安全性,以防止未经授权的访问、数据泄露和其他安全威胁。 安全密码的特点 安全密码,有七大特点,特点如…...

Lua基础知识

文章目录 1. Lua简介1.1 设计目的:1.2 特性1.3 应用场景 2. Lua脚本学习2.1 安装2.2 lua操作2.3 lua案例 学习lua主要是为了后续做高性能缓存架构所准备的基础技术。可以先了解下基础,在实际使用时,再查缺补漏。 1. Lua简介 Lua 是一种轻量小…...

Java Math方法记录

Java 提供 java.lang.Math 类,很方便的进行数学运算。 Math 类是基于浮点数的运算,可能导致精度损失,不适用于高精度计算。 记录如下 常量 提供了两个常量, Math.PI :圆周率πMath.E :自然对数的底数 …...

Java XPath 使用(2023/08/29)

Java XPath 使用(2023/08/29) 文章目录 Java XPath 使用(2023/08/29)1. 前言2. 技术选型3. 技术实现 1. 前言 众所周知,Java 语言适合应用于 Web 开发领域,不擅长用来编写爬虫。但在 Web 开发过程中有时又…...

el-table动态生成多级表头的表格(js + ts)

展示形式&#xff1a; 详细代码&#xff1a; &#xff08;js&#xff09; <template><div><el-table :data"tableData" style"width: 100%"><el-table-column label"题目信息" align"center"><el-table-…...

四、Kafka Broker

4.1.1 Zookeeper 存储的 Kafka 信息 4.1.2 Kafka Broker 总体工作流程 4.2 生产经验 - 节点的服役和退役 自己的理解&#xff1a;其实就是将kafka的分区&#xff0c;负载到集群中的各个节点上。 1、服役新节点 2、退役旧节点 4.3 kafka副本 1、副本的作用 2、Leader的选…...

ssm+vue医院医患管理系统源码和论文

ssmvue医院医患管理系统源码和论文077 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm vue.js 摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已…...

汽车电子笔记之:基于AUTOSAR的电机控制器架构设计

目录 1、概述 2、AUTOSAR设计 2.1、SWC设计 2.2、PORT设计 2.3、Runnable设计 2.4、电机控制器OS实现 1、概述 电机控制器应用层的软件架构较为复杂,主要包括PMSM(Permanent-MagnetSynchronous Motor)的矢量控制算法。根据PMSM的控制算法,对算法中的软件功能进行分析&…...

Docker 可以共享主机的参数

命令 docker run -it --ipchost nginx:latest /bin/bashdocker run -it --nethost nginx:latest /bin/bashdocker run -it --pidhost nginx:latest /bin/bashdocker run -it --utshost nginx:latest /bin/bash 参考 Docker run reference | Docker Docs...

STL之list模拟实现(反向迭代器讲解以及迭代器失效)

这次是关于list的模拟实现的代码&#xff0c;先看看下面的代码&#xff1a; #pragma once #include <iostream> #include "reve_iterator.hpp" using namespace std; namespace cc {//链表节点template<class T>struct ListNode{T _val;ListNode *_next…...

Firewalld防火墙新增端口、开启、查看等

Linux操作系统中&#xff0c;Firewalld防火墙相关操作如下&#xff1a; 安装 yum install firewalld firewalld-configFirewall开启常见端口命令 新增防火墙端口命令&#xff1a; firewall-cmd --zonepublic --add-port80/tcp --permanentfirewall-cmd --zonepublic --add-…...

【腾讯云 TDSQL-C Serverless 产品测评】- 云原生时代的TDSQL-C MySQL数据库技术实践

一、活动介绍&#xff1a; “腾讯云 TDSQL-C 产品测评活动”是由腾讯云联合 CSDN 推出的针对数据库产品测评及产品体验活动&#xff0c;本次活动主要面向 TDSQL-C Serverless版本&#xff0c;初步的产品体验或针对TDSQL-C产品的自动弹性能力、自动启停能力、兼容性、安全、并发…...

计算机硬件基础

计算机硬件基础 教程&#xff1a;计算机硬件基础_哔哩哔哩_bilibili 一.计算机的分类 台式机、笔记本电脑、上网本、超薄笔记本、平板电脑、游戏本、智能手机、超级移动电脑、便携式电脑、车用电脑、工作站、服务器、工业电脑IPC、ECDIS 二.机箱 放硬件的地方、一般由钢和铝等…...

云计算和Docker分别适用场景

在大规模网络爬虫系统中&#xff0c;通过使用云计算和Docker技术&#xff0c;可以实现大规模网络爬虫系统的高效架构设计和部署。这种架构能够提供可扩展性、高可用性和灵活性&#xff0c;为爬虫系统的运行和管理带来便利。 云计算和Docker在大规模网络爬虫系统中有不同的业务…...

oracle 基础运用2

首先在电脑上安装PLSQL developer&#xff0c;这个是oracle图形化连接工具&#xff0c;然后安装win64_11gR2_client&#xff0c;这个是orace客户端&#xff0c;安装完成后可以在cmd命令行输入sqlplus命令进行验证&#xff0c;如图表示安装成功。 作为sys的连接应该是SySDBA或Sy…...

ThinkPHP 资源路由的简单使用,restfull风格API

ThinkPHP 资源路由的简单使用&#xff0c;restfull风格API 一、资源控制器二、资源控制器简单使用 一、资源控制器 资源控制器可以轻松的创建RESTFul资源控制器&#xff0c;可以通过命令行生成需要的资源控制器&#xff0c;例如生成index应用的TestR资源控制器使用&#xff1a…...

利用前缀树获取最小目录

一、任务名&#xff1a; 开发最小目录工具 二、任务描述 开发工具&#xff0c;从桶清单文件中列举出所有最小目录&#xff0c;并列举出每一个最小目录中包含的文件总数与文件总量。 最小目录的解释&#xff1a; 有以下几个目录 a/b/1.txt a/b/2/txt a/3.txt a/b/c/ 则&…...

Java【手撕双指针】LeetCode 18. “四数之和“, 图文详解思路分析 + 代码

文章目录 前言一、四数之和1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 &#x1f4d7; Java数据结构: 顺序表, 链表, 堆…...

OpenCV处理图像和计算机视觉任务时常见的算法和功能

当涉及到OpenCV处理图像和计算机视觉任务时&#xff0c;有许多常见的具体算法和功能。以下是一些更具体的细分&#xff1a; 图像处理算法&#xff1a; 图像去噪&#xff1a;包括均值去噪、高斯去噪、中值滤波等&#xff0c;用于减少图像中的噪声。 直方图均衡化&#xff1a;用…...