论文部分内容阅读
随着科技的进步,当今社会已进入飞速发展时代,人们对于数据存储的需求日益剧增。面对庞大又复杂的数据传输和存储问题,急需研究一款芯片可以实现大数据量的存储需求。对于一款芯片来说,固件尤其重要。固件(Firmware,FW)是写入可擦写可编程只读存储器(EPROM)或电可擦可编程只读存储器(EEPROM)中的程序。固件就是硬件设备的灵魂,一些硬件设备除了固件以外没有其它软件,因此固件决定了硬件设备的性能。本文在基于SATA端口多路器(Port Multiplier,PM)芯片的基础上提出了一种固件设计。本文首先从存储设备接口的历史背景和发展现状入手,选择了最成熟的SATA技术作为研究重点。接着对SATA接口以及协议进行了介绍和分析,还介绍了RAID(Redundant Arrays of Independent Disks)技术和Jbod模式。充分了解SATA技术之后,对芯片的固件设计有了初步的思路,并草拟了固件的工作流程,也简单介绍了SATA端口多路器硬件模块部分。之后对芯片进行固件实现,从SATAD(SATA Device)模块、数据缓冲区(Mubffer)模块、自动命令传输(Auto Command Transport,ACT)模块、命令界面(Command Interface,CI)模块、SATAH(SATA Host)模块的寄存器进行相应功能的配置,通过SPU和SMU两个CPU处理器,协调各硬件模块之间命令的传递和数据的传输,保证其可靠性。完成固件设计后,烧录到芯片,进行板上调试。最终测试的结果表明,SATA端口多路器芯片在命令功能的实现、读写速度以及可靠性等性能方面都达到预期。本文的固件设计基于SATA端口多路器芯片,固件作为芯片的灵魂,起到了至关重要的作用,它是命令和数据在各模块之间的桥梁。本文结合芯片中SATAD和SATAH模块用于接收和发送命令和数据的特性,使用SPU(Systerm Process Unit)和SMU(Systerm Memory Unit)两个处理器进行管理,保证命令请求顺利传递给设备,大大提高了执行速度。对于数据的传输,利用RAID0(Redundant Arrays of Independent Disks 0)、RAID1(Redundant Arrays of Independent Disks 1)、Jbod(Just a Bunch Of Disks)三种模式,不仅可以有效提高了存储数据的容量,而且还实现了一次性大数据量的数据存储,存放数据的地模块还设置了安全保密方式,对数据进行加密,确保数据的安全。从软件功能测试结果表明,该设计方法可以是实现命令和数据的传递,而且在速度测试结果分析,可以达到行业的标准水平,具有一定的实际应用价值。