SSD 表项管理概述(一)——L1、L2、L3
|
分类 |
名称 |
说明 |
|
映射表相关 |
L1 Table |
记录每个4KB用户数据在SSD上的存放物理地址; |
|
L2 Table |
记录每个sub L1 Table在SSD上的存放物理地址; |
|
|
L3 Table |
记录每个sub L2 Table在SSD上的存放物理地址; |
|
|
P2L Table |
是一个反向映射表,记录SBlock上的F4K对应的L4K; |
|
表项的总大小会跟随支持的存储容量调整,以一个1TB的存储器来说,需要一个总大小为1GB的表项来支持运作,为了减少表项操作的开销,将总表切分成较小的sub-table来操作,sub-table的大小目前定为4KB,也就是1024个Table Entry组合成一个sub-table。Sub-table需要另外的表项记录其物理存放空间,这里就形成了对表项的多层管理。本设计套用了3层表项的管理方式,具体描述如下:
1、 L1 Table:大小为4KB,包含1024个Entry,每个Entry占用32b(4Bytes),记录一个4KB大小用户数据的物理位置,按照这个设计,每个L1 Table覆盖4MB的用户数据范围;L1 Table的总个数要随着存储容量来做变化;
2、 L2 Table:大小为4KB,包含1024个Entry,每个Entry占用32b(4Bytes),记录一个4KB 大小L1 Table的物理位置,按照这个设计,每个L2 Table覆盖1024个L1 Table,也就是覆盖4GB的用户数据范围;L2 Table的总个数要随着存储容量来做变化;
3、 L3 Table:总大小为8KB,支持记录2048个L2 Table的物理位置,最大支持8TB的用户容量;L3 Table的个数只有一个,每次刷表最后都会更新并下刷L3 Table;
SSD 表项管理概述(一)——L1、L2、L3的更多相关文章
- CPU L1,L2,L3多级缓存的基本作用
基本作用 加快CPU与主内存之间的数据交换. 区别 缓存类型 L1 L2 L3 位置 最靠近CPU核心 次之 再次之 容量 一般几十KB~几百KB 几百KB~几MB 几MB~几十MB 速度 几个时钟周 ...
- CPU缓存L1/L2/L3工作原理
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 一.前言 在过去的几年中,计算机处理器取得了相当大的进步 ...
- 阅读ARM Memory(L1/L2/MMU)笔记
<ARM Architecture Reference Manual ARMv8-A>里面有Memory层级框架图,从中可以看出L1.L2.DRAM.Disk.MMU之间的关系,以及他们在 ...
- oracle 表空管理方式(LMT)、ASSM段管理方式、一级位图块、二级位图块、三级位图块。
今天是2013-12-16,今天和明天是我学习oracle生涯中一个特殊的日子.今天晚上进行了一下表空间管理方式的学习,在此记录一下笔记. 对于oracle数据库最小i/0单位是数据块,最想分配空间单 ...
- TMS320C64x DSP L1 L2 Cache架构(1)——C64x Cache Architecture
[前沿]研究生阶段从事于DSP和FPGA技术的相关研究工作,学习并整理了大量的技术资料,包括TI公司的官方文档和网络上的详细笔记,花费了大量的时间和精力总结了前人的工作成果.无奈工作却从事于嵌入式技术 ...
- Linux内存:物理内存管理概述
内存中的物理内存管理 概述 一般来说,linux内核一般将处理器的虚拟地址空间划分为2部分.底部比较大的部分用于用户进程,顶部则专用于内核. 在IA-32系统上,地址空间在用户进程和内核之间划分的典型 ...
- L0/L1/L2范数的联系与区别
L0/L1/L2范数的联系与区别 标签(空格分隔): 机器学习 最近快被各大公司的笔试题淹没了,其中有一道题是从贝叶斯先验,优化等各个方面比较L0.L1.L2范数的联系与区别. L0范数 L0范数表示 ...
- WebKit历史项管理的实现
历史项管理依据标准定义,由Page管理一个Joint Session History, 包括了各个子Frame的历史项.逻辑上相应例如以下的关系: 从上面看三个层次:Page,Frame,以及JS B ...
- SQL Server 表的管理_关于完整性约束的详解(案例代码)
SQL Server 表的管理之_关于完整性约束的详解 一.概述: ●约束是SQL Server提供的自动保持数据库完整性的一种方法, 它通过限制字段中数据.记录中数据和表之间的数据来保证数据的完整性 ...
- SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE tabl ...
随机推荐
- Go-使用本地时间解析时间字符串
字符串 ==> time.Time package main import ( "fmt" "log" "time" ) func m ...
- [转帖]db file sequential read-数据文件顺序读取
https://www.cnblogs.com/xibuhaohao/p/9959593.html 等待事件: "db file sequential read" Referenc ...
- [转帖]Oracle、SQL Server、MySQL数据类型对比
Oracle.SQL Server.MySQL数据类型对比 - 知乎 (zhihu.com) 1,标准SQL数据类型 BINARY 每个字符占一个字节 任何类型的数据都可存储在这种类型的字段中.不需数 ...
- [转帖]使用 TiUP 扩容缩容 TiDB 集群
https://docs.pingcap.com/zh/tidb/stable/scale-tidb-using-tiup TiDB 集群可以在不中断线上服务的情况下进行扩容和缩容. 本文介绍如何使用 ...
- [转帖]LSM树详解
https://zhuanlan.zhihu.com/p/181498475 LSM树(Log-Structured-Merge-Tree)的名字往往会给初识者一个错误的印象,事实上,LSM树并不像B ...
- [转帖]分析redis 大key
http://www.lishuai.fun/2023/05/05/redis-bigkey/#/%E5%AE%89%E8%A3%85 redis-rdb-tools 是一个 python 的解析 r ...
- [转帖]centos7离线安装postgresql13
https://www.cnblogs.com/summer-88/p/15341918.html 在一台可以联网的centos上安装postgresql源 yum install -y https: ...
- 【转帖】TCP内核参数
https://www.cnblogs.com/chia/p/7799231.html tcp_syn_retries :INTEGER默认值是5对于一个新建连接,内核要发送多少个 SYN 连接请求才 ...
- nginx 最简单的在同一个配置文件里面将http 监听的端口转发到其他端口的方法
今天发现一个问题, 我这边修改了nginx 的listen的端口之后 应用出现了问题 无法使用. 想到之前曾经试验过 tcp 的 proxy 所以就想到直接再配置文件的默认添加一句话 启动TCP的 端 ...
- IPMI的简单使用
背景 公司一台十一年前的服务器砸到我手中,要重装CentOS7的操作系统. 本着不想进机房, 不想格式化U盘的想法, 想用BMC进行安装系统. 遇到的第一个问题是不知道密码. 询问之前的机器持有人,也 ...