磁盘的块大小(Block Size)和扇区大小(Sector Size)

本文深入探讨了Linux环境中LogicalBlockSize与SectorSize的区别与联系,解释了它们如何在文件系统层面影响数据读写,并提供了查看这两种属性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文出处http://chenjianjx.iteye.com/blog/1806258




Logical Block Size:A "block", a contiguous number of bytes, is the minimum unit of memory that is read from and written to a disk by a disk driver (出处

它一般是Sector Size的倍数 



要明确的是,块是文件系统的抽象,不是磁盘本身的属性。 
扇区大小则是磁盘的物理属性,它是磁盘设备寻址的最小单元。 


Linux中, 
1.查看某个分区的Block Size:  blockdev --getbsz /dev/sda7 
2.查看硬盘的扇区大小(Sector Size):  通过fdisk -l可以看到 


Linux内核还要求 Block_Size = Sector_Size  * (2的n次方),并且Block_Size <= 内存的Page_Size(页大小)
### 存储中扇区、块页的区别与联系 #### 1. 定义与基本概念 - **页 (Page)** 是 Flash 存储器中写入数据的基本单位。每次向 Flash 中写入数据时,是以页为单位进行的[^1]。页的大小因厂商存储类型的不同而有所差异,常见的有 1KB、2KB 4KB 等[^3]。 - **扇区 (Sector)** 是磁盘存储中的基本单位,在某些情况下也被视为文件系统的逻辑分区单元。它是磁盘上连续的一组物理位置,通常用于描述磁盘上的数据分布[^4]。 - **块 (Block)** 则是一个更通用的概念,可以指代不同的存储层次结构中的最小可寻址单位。在 Linux 文件系统中,块是文件系统管理的基本单位;而在硬盘操作中,它通常是操作系统与硬件交互的最小单位[^5]。 #### 2. 关系与层次结构 按照存储容量从小到大排列,三者之间的关系如下: - 页(Page)< 扇区Sector)< 块(Block)< 芯片(Chip)。这种层次结构反映了从低级硬件到高级软件抽象的过程。 具体而言: - 在 Flash 存储器内部,**页**是最小的数据写入单位,多个页组成一个更大的单位——**块**。当需要擦除数据时,通常以整个块为单位执行操作。 - 对于磁盘设备,**扇区**代表其最基本的地址空间划分方式之一。尽管现代技术可能引入更多复杂的机制,但在传统意义上,读取或写入磁盘仍然基于单个或者若干相邻的扇区完成。 - 当涉及到更高层面的操作系统功能实现时,则会进一步封装成所谓的“块”。这样做的目的是为了简化接口设计并提高效率。 #### 3. 应用场景举例 以下是几个典型应用场景的例子说明这三个术语如何被实际应用: - **嵌入式开发**: 在微控制器项目里处理外部 NAND/NOR flash芯片时经常会遇到page/block这样的参数设置需求,因为它们直接影响编程算法的选择以及性能优化方向. - **数据库管理系统(DBMS)**: 数据库引擎通过将记录映射至特定数量固定长度blocks上来组织表空间布局以便快速检索所需信息. - **固态驱动(SSD)控制固件编写过程中**,工程师们必须考虑TRIM命令作用范围覆盖哪些pages/sectors/blocks才能有效延长产品寿命同时保持良好随机访问速度表现. ```python # 示例代码展示如何计算给定尺寸下各部分所占比例 def calculate_storage_units(page_size_kb=2, sector_size_kb=8, block_size_kb=64): page_bytes = page_size_kb * 1024 sector_bytes = sector_size_kb * 1024 block_bytes = block_size_kb * 1024 print(f"Page Size: {page_bytes} bytes") print(f"Sector Size: {sector_bytes} bytes") print(f"Block Size: {block_bytes} bytes") calculate_storage_units() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值