CN101634936A - 通过fpga实现arm架构处理器与硬盘之间接口的方法 - Google Patents
通过fpga实现arm架构处理器与硬盘之间接口的方法 Download PDFInfo
- Publication number
- CN101634936A CN101634936A CN200810068596A CN200810068596A CN101634936A CN 101634936 A CN101634936 A CN 101634936A CN 200810068596 A CN200810068596 A CN 200810068596A CN 200810068596 A CN200810068596 A CN 200810068596A CN 101634936 A CN101634936 A CN 101634936A
- Authority
- CN
- China
- Prior art keywords
- fpga
- hard disk
- data
- interface
- arm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种通过FPGA实现ARM架构处理器与硬盘之间接口的方法,该通过FPGA实现ARM架构处理器与硬盘之间接口的方法包括ARM架构处理器通过FPGA对硬盘数据进行读写操作,ARM架构处理器与通过数据接口分别与网络和FPGA连接,FPGA与硬盘控制器连接,该ARM提供信息数据的计算以及对FPGA进行命令控制;FPGA作用包括提供ARM架构处理器接口、提供对硬盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写入块缓存区并转化为硬盘数据格式写入硬盘。
Description
技术领域
本发明涉及一种网络硬盘数据处理方法,尤指一种与因特网连接的采用ARM架构的处理器通过FPGA来实现对IDE接口的硬盘进行数据读写控制的方法。
背景技术
随着网络技术的快速发展,数据通过网络快速地传送变得越来越普遍,在多数情况下,需要将硬盘数据直接通过网线联入因特网,这需要用到大量的网络硬盘,人们开始展开多方面研究希望能在保证网络硬盘性能基础上降低网络硬盘成本,因为数据中央处理芯片的成本占网络硬盘的很大一部分,因此最多的研究也正集中于此,用于中央数据处理的芯片有很多种,目前在研究的有可能实现的多种处理器芯片架构结构中,ARM架构结构的处理器具有很多优势,但仅ARM架构结构的处理器仍难以满足需求,需要搭配其他辅助芯片来实现,在这些辅助的芯片中,采用FPGA集成电路作为辅助芯片具有很多的优势,FPGA(Field-programmable Gate Array,即现场可编程门阵列)是专用集成电路中集成度最高的一种,其基本是计算周期最短、开发费用最低、风险最小、功耗低,可以说,对小批量系统来说,采用FPGA芯片是提高系统集成度和可靠性的较好选择,目前市场上还没有采用ARM处理器搭配FPGA来对硬盘,例如IDE硬盘进行控制来实现网络硬盘功能的由于ARM器件本身不带IDE接口,需要通过外接FPGA实现IDE接口功能。
发明内容
本发明的技术目的是为了提供一种通过FPGA实现ARM架构处理器与IDE硬盘之间接口的方法。
为实现上述的技术目的,本发明通过FPGA实现ARM架构处理器与硬盘之间接口的方法包括ARM架构处理器通过FPGA对硬盘数据进行读写操作,ARM架构处理器与通过数据接口分别与网络和FPGA连接,FPGA与硬盘控制器连接,该ARM提供信息数据的计算以及对FPGA进行命令控制;FPGA作用包括提供ARM架构处理器接口、提供对硬盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写入块缓存区并转化为硬盘数据格式写入硬盘,该通过FPGA实现ARM架构处理器与硬盘之间接口的方法所用的硬盘接口为标准IDE接口。
有益效果:本发明的通过FPGA实现ARM架构处理器与硬盘之间接口的方法,使用ARM架构处理器通过FPGA单元对硬盘进行读写操作,将ARM架构处理器和FPGA处理器的诸多优势集合在一起,结合硬盘一起提供性能更加优良的网络硬盘产品。
为便于说明和本发明有关的详细内容及技术,以下兹就配合附图进行说明。
附图说明
图1、为本发明的方法主要部件的结构框图;
图2、为本发明的FPGA的结构框图;
图3、为本发明从硬盘读取数据时的步骤示意图;
图4、为本发明向硬盘写入数据时的步骤示意图。
具体实施方式
请参照图1所示,为本发明一较佳的实施例,该实施例通过FPGA实现ARM架构处理器与硬盘之间接口的方法包括ARM架构处理器通过FPGA对硬盘数据进行读写操作;ARM架构处理器与通过数据接口分别与网络和FPGA连接,FPGA与硬盘控制器连接,该ARM提供信息数据的计算以及对FPGA进行命令控制。
其中,FPGA的作用包括:提供ARM架构处理器接口、提供对硬盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写入块缓存区并转化为硬盘数据格式写入硬盘,请参照图2所示为FPGA的结构框架图,该FPGA包括有ARM接口模块10、数据流向控制模块12、写硬盘数据块缓冲区15、读硬盘数据块缓冲区16和硬盘接口控制器18,ARM接口模块10用于实现ARM构架处理器接口与FPGA内部寄存器设置,数据流向控制模块12根据该内部寄存器设置以及ARM命令来缓存数据到写硬盘数据块缓冲区15或读硬盘数据块缓冲区16,硬盘接口控制器18用于对硬盘扇区进行读写操作控制,由于硬盘数据的读取是按照扇区(每个扇区512Byte),因此FPGA对IDE硬盘也按照扇区操作,由于FPGA具有计算周期最短、开发费用最低、风险最小、功耗低等优点,因而可以更好地满足产品的使用需求。
该通过FPGA实现ARM架构处理器与硬盘接口的方法的工作分为向硬盘写数据和从硬盘读数据两种操作,下面以具体步骤分析该通过FPGA实现ARM构架处理器与硬盘接口的方法从硬盘读出数据和向硬盘写入数据的步骤,请参照图3所示,从硬盘读数据的操作步骤如下:
步骤100:FPGA接收ARM架构处理器的读盘命令,并通过硬盘控制器接口18配置IDE硬盘控制寄存器。
步骤105、FPGA检测硬盘状态寄存器,待硬盘读数据状态位准备好后,FPGA把硬盘一个扇区内数据全部读完,并存储于读硬盘数据块缓冲区16的寄存器。
步骤110:ARM架构处理器判断读硬盘数据块缓冲区16寄存器的缓存区状态是否为空,若不为空则开始读取读硬盘数据块缓冲区16的数据。
步骤115:ARM架构处理器根据硬件状态判断读入硬盘数据块缓冲区16内的数据状态,根据不同的硬件状态位对不同的数据(扇区数据、硬盘状态)做相应的处理。
再请参照图4所示,向硬盘写数据操作包括如下的步骤:
步骤200、IDE硬盘接口控制器18根据ARM构架处理器配置命令,设置写硬盘数据块缓冲区15的寄存器,每设置一个寄存器地址,FPGA将数据写入该寄存器,同时给ARM构架处理器发出置忙标志,等待ARM构架处理器处理完数据并清除该寄存器的置忙状态后,继续下一寄存器设置。
步骤205、当FPGA开始接收ARM构架处理器写入扇区的数据时,发送置空标志给ARM构架处理器,当接收到一个扇区(512Byte)数据时,给ARM构架处理器发送置忙信号。
步骤210、配置完所有写硬盘数据块缓冲区15后,硬盘接口控制器18读取硬盘状态,当硬盘状态为准备好后,开始向硬盘一次性写入一个扇区的数据。
步骤215、向硬盘一次性写入一个扇区的数据完成后,FPGA判断ARM构架处理器命令,如果继续写入数据,则返回步骤200。
步骤220、FPGA读取硬盘状态,并返回给ARM构架处理器。
Claims (2)
1、一种通过FPGA实现ARM架构处理器与硬盘之间接口的方法,包括ARM架构处理器通过FPGA对硬盘数据进行读写操作,ARM架构处理器与通过数据接口分别与网络和FPGA连接,FPGA与硬盘控制器连接,该ARM提供信息数据的计算以及对FPGA进行命令控制;FPGA作用包括提供ARM架构处理器接口、提供对硬盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写入块缓存区并转化为硬盘数据格式写入硬盘。
2、如权利要求1所述的通过FPGA实现ARM架构处理器与硬盘之间接口的方法,其特征在于该通过FPGA实现ARM架构处理器与硬盘之间接口的方法所用的硬盘接口为标准IDE接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810068596A CN101634936A (zh) | 2008-07-23 | 2008-07-23 | 通过fpga实现arm架构处理器与硬盘之间接口的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810068596A CN101634936A (zh) | 2008-07-23 | 2008-07-23 | 通过fpga实现arm架构处理器与硬盘之间接口的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101634936A true CN101634936A (zh) | 2010-01-27 |
Family
ID=41594133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810068596A Pending CN101634936A (zh) | 2008-07-23 | 2008-07-23 | 通过fpga实现arm架构处理器与硬盘之间接口的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101634936A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298505A (zh) * | 2010-06-28 | 2011-12-28 | 华中科技大学 | 一种基于fpga的系统中的硬盘数据管理装置及其管理硬盘数据的方法 |
CN102880427A (zh) * | 2012-08-20 | 2013-01-16 | 北京奇作电子有限公司 | 一种基于fpga的sata主控制器 |
CN107291399A (zh) * | 2017-06-30 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于spdk的后端存储方法、装置及系统 |
CN109344109A (zh) * | 2018-10-23 | 2019-02-15 | 江苏华存电子科技有限公司 | 基于固态硬盘的大数据中加速人工智能计算的系统及方法 |
-
2008
- 2008-07-23 CN CN200810068596A patent/CN101634936A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298505A (zh) * | 2010-06-28 | 2011-12-28 | 华中科技大学 | 一种基于fpga的系统中的硬盘数据管理装置及其管理硬盘数据的方法 |
CN102880427A (zh) * | 2012-08-20 | 2013-01-16 | 北京奇作电子有限公司 | 一种基于fpga的sata主控制器 |
CN107291399A (zh) * | 2017-06-30 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于spdk的后端存储方法、装置及系统 |
CN107291399B (zh) * | 2017-06-30 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种基于spdk的后端存储方法、装置及系统 |
CN109344109A (zh) * | 2018-10-23 | 2019-02-15 | 江苏华存电子科技有限公司 | 基于固态硬盘的大数据中加速人工智能计算的系统及方法 |
CN109344109B (zh) * | 2018-10-23 | 2022-07-26 | 江苏华存电子科技有限公司 | 基于固态硬盘的大数据中加速人工智能计算的系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271335B (zh) | 一种多通道数据源ddr缓存的fpga实现方法 | |
US7802061B2 (en) | Command-based control of NAND flash memory | |
KR102458334B1 (ko) | 캐시 이동을 비휘발성 대량 메모리 시스템에 제공하기 위한 장치 및 방법 | |
US7310726B2 (en) | Booting from non-linear memory | |
US7694026B2 (en) | Methods and arrangements to handle non-queued commands for data storage devices | |
US7979614B1 (en) | Flash memory/disk drive interface and method for same | |
US9411519B2 (en) | Implementing enhanced performance flash memory devices | |
US8060669B2 (en) | Memory controller with automatic command processing unit and memory system including the same | |
KR20150022847A (ko) | 플래시 메모리 제어기 | |
JP2011517789A (ja) | 直接実行制御機能とストレージ機能が複合された大容量保存装置 | |
US20070168605A1 (en) | Information storage device and its control method | |
CN100464319C (zh) | 实现处理器之间进行通讯的装置和方法 | |
CN101354636A (zh) | 一种向磁盘阵列中写入数据的方法及系统 | |
US20070168603A1 (en) | Information recording apparatus and control method thereof | |
CN209842608U (zh) | 一种基于fpga fifo模块的ddr3存储器控制 | |
US20070168602A1 (en) | Information storage device and its control method | |
CN101634936A (zh) | 通过fpga实现arm架构处理器与硬盘之间接口的方法 | |
CN100395742C (zh) | 可快速地于不同储存装置间传输数据的计算机系统 | |
US7447853B2 (en) | Data copy device | |
CN105573947B (zh) | 一种基于apb总线的sd/mmc卡控制方法 | |
KR101491687B1 (ko) | 버퍼 용량의 사용이 개선된 대량 저장 시스템 | |
CN201218944Y (zh) | 双口ram实现闪存控制器缓存的结构 | |
CN212084122U (zh) | 一种NVMe控制器 | |
US9965183B2 (en) | Method for processing data in storage device and storage device | |
CN109726149B (zh) | 一种axi总线访问nand flash的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100127 |