首页 > 其他分享 >SSD结构介绍

SSD结构介绍

时间:2023-07-16 18:46:05浏览次数:42  
标签:闪存 Based 接口 介绍 SAS SSD FTL 结构

二、 SSD结构介绍

a)     逻辑结构

三大模块:前端、中端FTL层、后端

 

前端(SSD接口层):负责通过相关标准协议与主机PC进行通信,接受串行比特数据流,转换为数字信号给后续模块使用,协议有SATA、SAS、PCIe等;

中端FTL层:负责完成主机逻辑地址空间到闪存物理地址空间的映射、坏块管理、垃圾回收、磨损均衡(不同SSD差异化就体现在ftl算法上);

后端(NAND接口层):负责通过相关标准协议完成数据到闪存颗粒的读写。

      i.      前端

前端分为多种接口,该接口与主机连接进行数据交互,接口类型是固定的,主要的接口有SATA、SAS、PCIe,他们的速率区别如图所示 

命令协议处理步骤如图所示

   ii.      TFL

该部分可以部署在不同的地方,主要是两种分类:Host Based(基于主机)和 Device Based(基于设备),二者区别如图所示: 

目前主流的SSD都是Device Based FTL。

该层主要功能有物理地址空间的映射、坏块管理、垃圾回收、磨损均衡,具体在后续章节进行讲述。

iii.      后端

后端包含两大模块ECC数据校验模块(后续章节具体讲述)和闪存控制器

后端与闪存颗粒交互的通信协议主要有两个ONFI、Toggle(三星、东芝)

b)     物理结构

分类一:控制器+存储芯片

分类二:存储芯片(闪存/3D Xpoint/MRAM/RRAM)+控制器+缓存(SRAM/DRAM)+PCB(电源芯片、电阻、电容)+接口(SATA/PCIe/SAS)

标签:闪存,Based,接口,介绍,SAS,SSD,FTL,结构
From: https://www.cnblogs.com/yangrourou/p/17558317.html

相关文章

  • SavedStateHandle的介绍----ViewModel不具备保存状态数据的功能
    LiveData本身不能在进程销毁中存活,当内存不足时,Activity被系统杀死,ViewModel本身也会被销毁。为了保存LiveData的数据,使用SavedStateHandle。事故场景:进程销毁后,重新去通过ViewModel去获取LiveData数据,获取到的数据是null。这表示ViewModel不具备onSavedInstance的功能。 ......
  • 在VSCode中编写python代码,代码规范工具介绍与推荐
    引言日常中,写的最多的代码是Python,虽说是算法工程师,这不也是工程师嘛,所以基本的代码功底还是要有的。由于Python是动态类型语言,没有强制的约束,如果没有一些相应规范,会导致大家写的代码可读性较差,且潜在的问题难以发现。因此,本文旨在引入一些工具来帮助大家写出更加健壮的代码......
  • 数据结构练习笔记——创建有序单链表
    创建有序单链表【问题描述】为从键盘终端输入的m个整数创建带头结点的有序单链表存储结构,使输入的数据元素在单链表中按照元素值递增有序。【输入形式】第一行:单链表中元素个数m第二行:单链表中的m个整数【输出形式】按递增有序形式输出m个整数【样例输入】513245【......
  • 5 存储器层次结构
    到目前为止,在对系统的研究中,我们依赖于一个简单的计算机系统模型,CPU执潜令,而存能器系统为CPU存放指令和数据。在简单校型中,存体语系特是不以热的字节数组,而CPU能够在一个常数时间内访问每个存储器位置,组然花然为正露排个有效的模型,但是它没有反映现代系统实际工作的方式。实际上,......
  • IIC基本介绍-1
    1.I2C硬件框架  在一个芯片(SoC)内部,有一个或多个I2C控制器在一个I2C控制器上,可以连接一个或多个I2C设备I2C总线只需要2条线:时钟线SCL、数据线SDA在I2C总线的SCL、SDA线上,都有上拉电阻 2.I2C软件框架 以I2C接口的存储设备AT24C02为例:APP:提出要......
  • C语言:数据结构之单链表(四)
    本篇谈一谈单链表的改,具体操作就是找到他,然后修改元素即可,上一篇有相关代码,可以参考。改函数代码如下:voidCorrect(LinkListheader,intsite_,charletter_){LinkListq=Search_Site(header,site_);q->letter=letter_;}main函数如下:(修改第6,......
  • 新数据介绍
    spectra_truth_campus_1:4个72维度的反射率。spectra_truth_campus_3:4个72维度的反射率。gulfport_wavelength:波长。muufl_gulfport_campus_3_all4TypeLabelload('muufl_gulfport_campus_3_all4TypeLabel')w=hsi.RGBfigure(1);imshow(w);把RGB可视化了,RGB是3维的RGB通道。spe......
  • 数据结构之顺序表
    顺序表顺序表的定义     线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列   顺序表---用顺序存储的方式实现线性表。顺序存储---把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。   如何知道一个......
  • 如何使用C#中的Lambda表达式操作Redis Hash结构,简化缓存中对象属性的读写操作
    Redis是一个开源的、高性能的、基于内存的键值数据库,它支持多种数据结构,如字符串、列表、集合、散列、有序集合等。其中,Redis的散列(Hash)结构是一个常用的结构,今天跟大家分享一个我的日常操作,如何使用Redis的散列(Hash)结构来缓存和查询对象的属性值,以及如何用Lambda表达式树来简化......
  • 利用java实现图片表格检测与结构识别
    GuideOverviewRequirementsDemoModulesOverviewThisjavapackagecontainsmodulestohelpwithfindingandextractingtabulardatafromaPDForimageintoaCSVformat.Givenanimagethatcontainsatable…ExtractthethetextintoaCSVform......