对4k sector size的一点认识

本文介绍了4K sectorsize在Oracle ASM中的应用及限制条件。指出仅asmlib包支持4K sectorsize,并说明了相关内核版本的要求。同时提到了GI 11.2.0.4版本中的bug以及检查磁盘blocksize的方法。
对4k sector size的一点认识:
1. 只有asmlib包才支持4k的sector size,也就是说---udev方式的asm diskgroup 不支持4k的sector size

     asmlib包的新特性: ORACLEASM_USE_LOGICAL_BLOCK_SIZE

     该特性适用的asmlib版本和UEK内核版本:This new feature is available in oracleasm-support-2.1.8-1 and kernel-uek 2.6.39-400.4.0 or later.

     New Block Size Feature for OracleASM and oracleasm-support (文档 ID 1530578.1)

2. GI 11.2.0.4(不打GI的PSU),在v$asm_diskgroup中,显示不了4k大小的asm diskgroup,这是GI的bug.

   详见文档Bug 18799063 - PGA memory corruption / errors with ASM on disks with blocksize > 512 bytes (文档 ID 18799063.8)

3. 检查disk 的block size的方法:

[root@node1 ~]# grep "" /sys/block/*/queue/*block_size
/sys/block/nvme0n1/queue/logical_block_size:512
/sys/block/nvme0n1/queue/physical_block_size:512
/sys/block/sda/queue/logical_block_size:512
/sys/block/sda/queue/physical_block_size:512
/sys/block/sdb/queue/logical_block_size:512
/sys/block/sdb/queue/physical_block_size:4096
[root@node1 ~]# 
参考文章:

Using 4k Redo Logs on Flash and SSD-based Storage (文档 ID 1681266.1)

Supporting ASM on 4K/4096 Sector Size (SECTOR_SIZE) Disks (文档 ID 1630790.1)--------->>>请仔细阅读该文章提到的pdf.

CRS Not Able to Discover Voting Disk after Kernel and Module kmod-oracleasm Upgrade (文档 ID 1994371.1)---->>值得一读

http://mt.sohu.com/20160405/n443331874.shtml

http://blog.youkuaiyun.com/msdnchina/article/details/51697272

### Flash 存储器的扇区大小规格及其影响 Flash存储设备通常采用不同的物理结构来实现数据擦除和写入操作。对于NOR型闪存而言,其最小可擦除单元被称为扇区(sector),而不同类型的闪存产品可能具有各异的具体参数设置。 在大多数情况下,常见的SLC(Single-Level Cell) NAND flash会拥有相对较小的页(page)尺寸以及较大的擦除区块(erase block)[^1];而对于MLC(Multi-level cell)/TLC(Triple-level cell)来说,则倾向于更大的页面容量与更宽泛的抹除单位范围。具体到sector层面: - NOR Flash: 扇区大小一般介于4KB至128KB之间不等; - SLC NAND Flash: 单个Sector大约为2KB或4KB左右; - MLC/TLC NAND Flash: 可能达到16KB甚至更高数值。 这些差异直接影响着性能表现、成本效益及使用寿命等方面。例如,在执行相同规模的数据更新时,较大扇区意味着每次操作涉及更多冗余位点被重置,从而加速磨损进程并增加错误几率。相反地,细粒度分区有助于优化资源利用率却可能导致管理开销上升。 此外值得注意的是,随着技术进步,制造商不断调整设计标准以平衡各方面需求,因此实际应用中的情况可能会有所变化[^2]。 ```python # Python伪代码展示如何查询特定型号flash芯片的信息 def get_flash_info(model_name): specs = { "NAND_SLC": {"page_size": 2048, "block_size": 128 * 1024}, "NAND_MLC": {"page_size": 8192, "block_size": 512 * 1024} } try: return f"For model {model_name}, page size is {specs[model_name]['page_size']} bytes and block size (which can be considered as sector size in some context) is {specs[model_name]['block_size'] / 1024} KB." except KeyError: return "Model not found." print(get_flash_info('NAND_SLC')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值