从Panasonic, Sandisk, Versilicon到NETINT,刘迅思一直围绕Firmware, driver等底层开发。他说,在硬件领域研发会有一种很踏实的感觉,对于很多问题会情不自禁地去追寻其背后的逻辑和原理,这让他受益匪浅。在LiveVideoStack的采访中,他畅谈了个人对硬件开发的发展趋势,存储与编码结合的机会。

文 / 刘迅思

策划 / LiveVideoStack

LiveVideoStack:刘迅思你好,很荣幸代表LiveVideoStack采访你,能否先向我们的读者介绍下自己?

刘迅思:大家好。我在NETINT目前任固件研发总监一职。主要负责中国的固件研发团队和上海办公室的管理。在此之前,我在宝存主要负责管理SSD 的固件研发团队。再之前我在Panasonic, Sandisk, Versilicon基本都是从事芯片相关领域的Firmware, driver还有一些应用程序的开发工作。从消费类市场到存储行业,现在又开始做视频相关的行业。

LiveVideoStack:你在硬件相关的Firmware、drivier领域做了十年,没有想过跳出这个领域吗?留在这个领域的最大的收获是什么?

刘迅思:从读书的时候起我就对底层硬件相关的内容比较感兴趣。相信很多做嵌入式软件开发的朋友都会有同样的初心,做嵌入式软件开发会让人很直观地看到自己写的代码产生的效果,特别是可以很直观地改变物理世界。这可能也是很多Geek精神的来源,将自己头脑中的逻辑和想法变成现实。工作了几年以后,我的想法又有了一些改变。觉得在半导体行业工作有一种做实业的成就感,能够尽自己的能力为社会进步做出一些切实的贡献。

我觉得在从事嵌入式开发最有意思同时也是最有收获的,就是会对所从事的工作有一种通透的理解。当问题发生的时候,可以从应用程序一直追溯到驱动,再到底层固件,接口协议,板级设计再到芯片内部信号逻辑甚至可以探究到其背后的一些物理原理。在硬件领域研发会有一种很踏实的感觉,对于很多问题会情不自禁地去追寻其背后的逻辑和原理。这种求索的精神可能是这份工作给我带来最大的收获。

LiveVideoStack:十年间,硬件设计与开发生了哪些变化?你观察到哪些现象?

刘迅思:十年来,最明显的就是硬件性能的提升给软件开发带来的变化。比如10年前大部分的嵌入式软件都只运行在单个CPU的系统中,但现在10几个CPU协同工作的系统已经非常常见了。如何处理好软件的并发、竞争,做到最高的执行效率已经是一个很基本的要求了。另外目前也有了越来越多的趋势,底层的软件开发开始向上层应用靠拢。这样的趋势有两个方面,一方面是为了易用性为上层应用暴露了各种容易集成的接口。JS,Python这样的脚本语言也开始大量应用在嵌入式设计中。另一方面,为了降低软件调用的开销,提升性能,出现了越来越多直接通过用户态来操作底层硬件的方案。像Intel的SPDK就这方面最典型的例子。

LiveVideoStack:说说你现在的工作吧,NETINT是一家怎样的企业?

刘迅思:NETINT是一个充满工程师文化的公司。这里90%的员工是工程师,而且这些员工来自很多不同的领域。在公司中既有很多来自企业级存储芯片领域有着20多年经验的资深架构师,也有在视频编码/DSP领域有着30多年经验的资深设计师,也有在Snapdragon这类芯片有多年经验的成熟工程师。

NETINT强调在技术方向上的深耕和探索。作为一个高科技的初创公司,公司尽量避免同质化的竞争,而是希望通过技术领先性和创新性来抢占市场。我们在全球最先在SSD中实现了PCIe 4.0接口,实现了全球首款Computation Storage架构编解码ASIC,(正在)设计世界唯一一款Fusion系列SSD。公司希望更多地通过技术和创新来创造价值,这样也才能为我们地客户创造更大的价值。

LiveVideoStack:我注意到NETINT的产品除了提供高性能的编码能力,还融入了AI和存储控制能力。这样的产品面向哪些应用场景呢?

刘迅思:我们在全球最早采用Computational Storage架构设计芯片,并设计除了全球唯一一款Computation Storage架构的Video Processing SoC。我们现在还在积极的参与SNIA Computational Storage TWG的活动,希望能够激励更多的公司能够参与到这个TWG的建设,为客户带来更新颖、高效的解决方案。

Computational Storage的架构主要的应用场景有两块。一是云数据中心,另一个就边缘计算。对于数据中心,我们利用成熟的存储系统和已经标准的驱动,可以最大程度的确保系统的稳定性。避免了因为系统和驱动的问题导致的软件故障。另外对于运维团队和云系统设计团队来说,Computational Storage的方案也大大简化了运维和集成的复杂度。

对于边缘计算,我们采用ASIC的解决方案能够用极低的功耗来保证高处理的能力。整卡的功耗只有6W,尺寸也和传统硬盘一致。此外NETINT接下来还会提供存储和转码融合的产品,能够最大限度地节省体积和成本。用户可以依靠我们的产品设计出兼具性能、功耗、体积、成本的全能冠军型新一代边缘计算服务器。

LiveVideoStack:NETINT是否可以为用户提供定制化?比如一些通过Firmware实现的定制。

刘迅思:NETINT在国内设立研发中心,很大程度上就是为了可以为国内用户提供订制化的服务。目前我们正在积极地和各个不同领域的客户探讨订制化地可能。NETINT愿意在板级、软件、Firmware,甚至芯片级为客户提供订制化地服务。我们意识到无论是用专用芯片做视频转码,还是存储转码结合的场景其实都是很新的应用方向。需要我们和客户一起发掘其中的商业价值和潜力。在这个过程中,NETINT也很愿意和客户一起做深入的开发合作,一起建立一个好的生态环境。让我们的客户能够在这样的一个生态环境下得到收益。

LiveVideoStack  招募

LiveVideoStack正在招募编辑/记者/运营,与全球顶尖多媒及技术专家和LiveVideoStack年轻的伙伴一起,推动多媒体技术生态发展。了解岗位信息请在BOSS直聘上搜索“LiveVideoStack”,或通过微信“Tony_Bao_”与主编包研交流。

点击【阅读原文】或扫描图中二维码,了解更多大会讲师及分享内容信息!

NETINT刘迅思:底层软件开发向上层应用靠拢相关推荐

  1. 嵌入式入门学习笔记4:[转]什么是嵌入式底层驱动开发和嵌入式底层软件开发...

    我们知道嵌入式操作系统(Embedded System)是指以应用为中心.以计算机技术为基础,软件硬件可裁剪.适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统.嵌入式开发分两种,一 ...

  2. 电控底层软件开发介绍

    1 底层软件主要内容 底层软件开发内容有:一方面是设备驱动的实现,基于主芯片有:底层驱动PORTS,ADC,PWM,SPI,CAN,SENT等,基于外围芯片的复杂驱动. 另一方面基础功能的开发,boo ...

  3. 我与《深入浅出嵌入式底层软件开发》

    ++++++++++++++++++++++++++++++++++++++++++ 本文系本站原创,欢迎转载! 转载请注明出处: http://blog.csdn.net/mr_raptor/art ...

  4. 自动驾驶系统设计的那些底层软件开发中的重点解读

    作者 | Jessie 出品 | 焉知 知圈 | 进"计算平台群"请加微yanzhi-6,备注计算 众所周知,随着自动驾驶和智能网联技术的飞速发展,传统的汽车开放系统架构CP Au ...

  5. 学习纯软件开发(如Java/Python...)还是C语言、嵌入式、物联网呢?

    我国科技的迅速发展带动了计算机行业的兴盛发展,越来越多的学生,在职人士以及想要提升自己的人群都想学习这一行,给自己的美好未来打好物质基础,有得人想要学习纯软件开发比如Java/Python...,有的 ...

  6. 【软件开发底层知识修炼】二十八 C/C++中volatile的作用

    上一篇文章学习了C/C++中的指针与数组的区别,点击链接进行查看:[软件开发底层知识修炼]二十七 C/C++中的指针与数组是不同的 本篇文章将学习volatile关键字在C/C++中的作用 文章目录 ...

  7. 【软件开发底层知识修炼】二十七 C/C++中的指针与数组是不同的

    上几篇文章学习了ABI-应用程序二进制接口:[软件开发底层知识修炼]二十六 ABI-应用程序二进制接口 学习总结文章目录 本篇文章就指针与数组的联系与区别来学习学习 文章目录 1 疑问 2 指针与数组 ...

  8. 【软件开发底层知识修炼】二十六 ABI-应用程序二进制接口 学习总结文章目录

    前面学习了ABI的知识,感觉受益良多.对底层与编译器有更加深刻的认识,为此这里将前面写过的关于ABI 的文章给列出来,方便学习与翻阅. [软件开发底层知识修炼]二十一 ABI-应用程序二进制接口一 [ ...

  9. 【软件开发底层知识修炼】二十五 ABI之函数调用约定二之函数返回值为结构体时的约定

    上一篇文章学习了几种函数调用约定的区别,点击链接查看上一篇文章:[软件开发底层知识修炼]二十四 ABI之函数调用约定 本篇文章继续学习函数调用约定中,关于函数返回值的问题.当函数返回值为结构体时,函数 ...

最新文章

  1. java,使用get、post请求url地址
  2. linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
  3. 多线程编程-条件变量
  4. labelme标注文件转coco json,coco json转yolo txt格式,coco json转xml, labelme标注文件转分割,boxes转labelme json
  5. 网狐app端获取服务器信息,获取服务器信息 网狐客户端
  6. 姿态估计:人体骨骼关键点检测综述(2016-2020)
  7. oracle 新建命令文件命令行,Oracle11.2 命令行手工最简创建数据库的过程
  8. 计算广告(computational advertising)
  9. laravel自定义错误页和错误日志处理
  10. 洛谷 P1032 字串变换
  11. 数据挖掘原理与算法_古今争翘,一首机器学习与数据挖掘神曲,共11.99G送你直上云霄...
  12. 12864 C语言程序 带详细注解
  13. WMS系统多少钱?什么是WMS系统
  14. 创翼linux版本,创翼电信客户端for Mac-创翼客户端Mac版下载 V1.3.7-PC6苹果网
  15. 如何免费在线听周杰伦的歌曲
  16. 硬件工程师成长之路(2)——电路设计
  17. 2022电大国家开放大学网上形考任务-农业微生物学非免费(非答案)
  18. bilibili弹幕获取api
  19. mybatis官方文档中文版
  20. 路由器不同网段虚拟服务器设置,局域网中不同网段互访?静态路由表必须要学会设置...

热门文章

  1. 解决代码中重复的捕获 promise 错误的 try catch 语句
  2. Python——如何搭建Python的环境
  3. 修改Tomcat7的/webapps/ROOT发布路径
  4. String、StringBuffer、StringBuilder区别
  5. 从头开始敲代码之《从BaseApplication/Activity开始(五)》(自定义控件,实现点击/滑动翻页)...
  6. Lua-简洁、轻量、可扩展的脚本语言
  7. 【原创】MySQL 返回更新值(RETURNING)
  8. 使用scrollIntoView方法解决抛锚定位时网页往上跳的问题
  9. Citrix XenApp下一些解决和未解决的问题
  10. HDU - 3065 病毒侵袭持续中(AC自动机)