磁盘分为磁道(track),每条track上有若干sector,每个sector为512字节,为什么是512字节呢?这是1956年由industry trade organization, International Disk Drive Equipment和Materials Association三家机构确定的行业标准。
随着时代的发展512的sector大小明显太小了,由于每个sector还要存放很多其他信息【3】,因此增大sector size可以降低sector的数量,从而提高实际存储量,同时降低了差错校验等很多CPU计算量。但遗憾的是由于这个标准太根深低估很多代码开发都默认了这一size要想改势必登天【2】。
在sector的size很难修改的情况下,加快read的方式,可以选用disk readahead方式,增加预读的缓冲,从而在顺序读,且程序采用流水线时取得更好的性能【4】,但对随机读写是有害的。
# hdparm -a N /dev/hda (N为sector的数量,默认是8,即4k),可以调整到更大的size。通过实验调整到最优。
以上是hardware readahead,数值不宜调整过大。如果业务上随机读写在优化后依然较多,这个参数改了效果反而会有影响。
在内核中可以对
/sys/block/sda/queue/read_ahead_kb
进行调整,默认值为128k,可以调节到1M,这个是software readahead,这个值需要是hardware readahead的倍数。
----------------------------以下节选自http://en.wikipedia.org/wiki/Disk_sector------------------------------------------------------
The standard sector size of 512 bytes for magnetic disks was established with the inception of the hard disk drive in 1956. Through a coordinated effort organized by the industry trade organization, International Disk Drive Equipment and Materials Association (IDEMA), leading hardware and software companies started work to define the implementation and standards that would govern sector size formats exceeding 512 bytes to accommodate future increases in data storage capacities.
Seven year later, hard disk drives supporting 1,024-byte sectors began to be integrated into consumer electronics devices. Portable media players and digital video cameras were the first products to utilize the larger sector format. By the end of 2007, Samsung and Toshiba began shipments of 1.8-inch hard disk drives with 4,096-byte sectors, the sector size designated as the next standard format for all hard drives.
推荐阅读:
(1)http://www.dewassoc.com/kbase/hard_drives/hard_disk_sector_structures.htm
(2)http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html
(3)http://www.dewassoc.com/kbase/hard_drives/hard_disk_sector_structures.htm
(4)http://linuxgazette.net/issue79/punk.html
(5)http://insights.oetiker.ch/linux/raidoptimization/
分享到:
相关推荐
1. **磁盘扇区(Sector)**:这是磁盘上最小的可寻址单位,通常为512字节。所有数据都以扇区为单位写入磁盘。 2. **磁道(Track)**:磁盘表面的一圈磁性材料,包含多个扇区。磁道是磁盘的第二级寻址单位。 3. **...
1. `CreateFile`:用于打开一个物理磁盘设备,返回一个文件句柄。在使用时需要提供设备名,例如"\\.\PhysicalDrive0"表示第一个硬盘。 2. `DeviceIoControl`:这个函数是实现扇区读写的重头戏。通过向操作系统发送...
在实际应用中,你可以结合这些函数,构建一个完整的磁盘信息获取模块,用于显示或记录磁盘状态。注意,调用API函数时应处理可能出现的错误,并确保参数合法,以避免程序异常。 此外,`DriverAbout`这个文件名可能...
引导扇区是磁盘上的第一个扇区,也称为主引导记录(MBR)或启动扇区。它包含了一段小的代码,即引导加载程序,用于加载操作系统的核心部分到内存中。当计算机启动时,BIOS会读取硬盘上的引导扇区,并执行其中的代码...
Sector(扇区)是磁盘上最小的数据存储单位,通常为512字节。CHS组合了这三个参数来唯一标识硬盘上的一个物理位置。 磁盘镜像则是对硬盘或分区的完整复制,常用于备份、取证和数据恢复等。获取CHS参数对于处理磁盘...
3. **读取/写入扇区**:硬盘或软盘的数据存储是以扇区为单位的,每个扇区通常包含512个字节。"read floppy sector"指的是程序可以直接读取软盘上的特定扇区数据,而"write"则表示可以向指定扇区写入数据,这是低级...
这里,`if`表示输入文件(即要读取的设备,如`/dev/sda`),`of`表示输出文件,`bs`是块大小(一般为512字节,即一个扇区的大小),`count`指定要读取的扇区数量。 对于C++编程,可以使用POSIX标准库中的`...
磁盘分区则采用“设备名+分区号”的形式表示,比如第一块磁盘的第一个分区为`/dev/sda1`。 #### 四、磁盘分区机制 磁盘分区机制对于管理和组织磁盘空间至关重要。主要分为两种: 1. **MBR (Master Boot Record)**...
磁盘被分为多个扇区(Sector),每个扇区通常包含512字节的数据。扇区是磁盘读写的基本单位。磁盘还包含若干个磁道(Track),每个磁道由多个扇区组成。磁盘的逻辑结构则是通过分区表(Partition Table)和引导记录...
扇区是硬盘上最小的可寻址存储单元,一般大小为512字节,尽管在现代硬盘上,这个大小正逐渐被更大的扇区所取代。扇区编辑器的应用范围包括故障诊断、数据恢复、恶意软件检测等多方面。 在计算机启动过程中,MBR(主...
- **扇区(sector)**:每个磁道被划分成多个扇区,这些扇区的大小通常是固定的,一般为512字节。 - **圆盘(platter)**:即硬盘的盘片,为了实现更大的存储容量,硬盘通常包含多个盘片。 **硬盘的容量计算公式**...
一个标准的扇区大小通常是512字节,但实际可用的存储空间略少,因为部分空间用于存储元数据。 - **柱面(Cylinder)**: 柱面是指不同盘面上相同编号的磁道共同组成的三维空间。这意味着,对于一个特定编号的磁道,它...
在磁盘读写中,一个关键概念是扇区(Sector),这是磁盘的最小数据单位,通常为512字节。在DEMO中的"Sector1"可能就是一个示例,模拟了对磁盘第一个扇区的读写操作。读取扇区时,需要指定扇区号和缓冲区,写入扇区时...
磁盘分区表(partition table)记录了磁盘的分区状态,每块磁盘的第一个磁区(Sector)尤为重要,因为它是主启动记录区(Master Boot Record, MBR),存放着启动管理程序和分区表。MBR中的启动管理程序决定了计算机...
硬盘被划分为多个扇区(Sector),每个扇区通常为512字节。这些扇区按照一定的顺序组成磁道(Track),多个磁道构成一个柱面(Cylinder)。文件系统如FAT32或NTFS就是在这些扇区上组织和管理数据的。 在Windows环境...
要实现这个功能,我们需要使用Windows API(应用程序接口),尤其是`CreateFile`函数,它允许我们打开一个物理磁盘设备。我们需要传递设备名,如"\\.\PhysicalDrive0",表示第一个硬盘。`CreateFile`返回一个句柄,...
WinHex作为一个专业的十六进制编辑工具,不仅能够查看和编辑文件的每一个字节,还具备高级的磁盘和内存映像功能。它支持各种类型的存储介质,包括硬盘、SSD、USB驱动器、光盘等。对于磁盘引导区编辑,WinHex提供了...
3. **扇区与簇**:磁盘存储的最小单位是扇区(Sector),通常是512字节。当我们将数据写入磁盘时,数据会被分割并存储在多个连续的扇区内。操作系统为了提高效率,通常会以簇(Cluster)为单位进行分配,一个簇由...
1. 磁盘结构:磁盘由多个物理磁道组成,每个磁道被划分为若干个扇区(Sector),每个扇区通常包含512字节的数据。磁盘读写操作就是针对这些扇区进行的。 2. 硬件接口:计算机通过硬盘控制器(HDD Controller)或...