CN108959130A - 基于嵌入式***的存储*** - Google Patents
基于嵌入式***的存储*** Download PDFInfo
- Publication number
- CN108959130A CN108959130A CN201810405490.1A CN201810405490A CN108959130A CN 108959130 A CN108959130 A CN 108959130A CN 201810405490 A CN201810405490 A CN 201810405490A CN 108959130 A CN108959130 A CN 108959130A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- storage system
- embedded system
- function
- request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了基于嵌入式***的存储***,包括硬盘的初始化和硬盘读写驱动的调用,基于ARM926E芯片的开发板,根据ATA硬盘接口规范了IDE硬盘的接口电路,本发明实现了对IDE硬盘的读写,达到了高速率和高可靠性的要求。
Description
技术领域
本发明涉及嵌入式***存储体系,尤其涉及一种基于嵌入式***的存储器的***。
背景技术
当前,嵌入式***在远程监控与数据采集、工业控制和电子消费等领域的应用日超广泛,随之人们对嵌入式***的存储容易也提出了较高的要求。常见的FLASH存储器的容量远不够用,因此研制适用于嵌入式***的大容里、高速度和高可靠性的数据存储***变得日益重要。在嵌入式***通用IDE接口来接硬盘,不仅可以大大扩展嵌入式***的存储容量,也能方便地与通用PC交换数据。
发明内容
本发明针对以上问题,设计了基于嵌入式***的存储***,实现了对IDE硬盘的读写,达到了高速率和高可靠性的要求。
本发明采用如下的技术方案实现:
基于嵌入式***的存储***,其特征在于,包括硬盘的初始化和硬盘读写驱动的调用;其中所述硬盘的初始化操作,打通了驱动与上层文件***的通道,硬盘的初始化操作步骤如下:
1)硬盘设备驱动注册;
2)初始化硬盘请求队列;
3)SSMC基址映射并配置读、写周期;
4)硬盘基址和中断GPIO基址映射;
5)向内核注册向量中断;
6)为硬盘分配结构空间;
7)注册添加该硬盘结构空间;
8)结束。
步骤2中的请求队列,同内核中的相应队列关联,通过函数blk-init-queue关联。
步骤4,驱动通过内核提供的ioremap函数来完成基址映射。
步骤5,通过request-irq函数为硬盘申请中断请求,并注册中断处理程序。
步骤6,硬盘的分配结构空间,需要调用alloc-disk函数来分配。
硬盘读写驱动的调用,从请求处理函数do-hd-request开始。
本发明技术方案实现的有益效果:
本发明通过硬盘的初始化和硬盘读写驱动的调用,实现了嵌入式***对IDE硬盘的读写,达到了高速率和可靠性的要求。
附图说明
图1是本发明基于嵌入式***的存储***中硬盘初始化流程图。
具体实施方式
以下详细描述本发明的技术方案。
实施例
基于嵌入式***的存储***,包括硬盘的初始化和硬盘读写驱动的调用。整个驱动是从module-init为驱动入口,调用了硬盘的初始化函数hd-init,对硬盘的初始化,打通与上层文件***的通道,硬盘初始化的步骤如下:
1)硬盘设备驱动注册;
2)初始化硬盘请求队列;
3)SSMC基址映射并配置读、写周期;
4)硬盘基址和中断GPIO基址映射;
5)向内核注册向量中断;
6)为硬盘分配结构空间;
7)注册添加该硬盘结构空间;
8)结束。
IDE设备驱动程序在初始化过程中必须完成设备在内核中的注册,驱动通过register-blkdev函数向内核硬盘设备的主设备号和主设备名,完成这个注册任务。在IDE硬盘初始化过程中,操作***提供了一个内核调用函数blk-init-queue,来完成块设备请求队列的初始化和同内核中相应队列的关联。根据IDE接口的SSMC、硬盘和选用中断GPIO的物理地址,驱动通过内核提供的ioremap函数来完成基址映射。在硬盘初始化中,还要通过request-irq函数为硬盘申请中断请求,并注册中断处理程序。在Linux内核中,使用gendisk结构体来表求一个独立的硬盘分区,该结构体是一个动态分配的结构体,驱动不能自己分配这个结构体,需要调用aloc-disk函数分配,被分配之后,再调用add-disk函数来注册,硬盘的初始化全部完成,初始化后,当上层文件***对硬盘进行读写操作时,整个调用是从请求处理函数do-he-request开始的。
Claims (6)
1.基于嵌入式***的存储***,其特征在于,包括硬盘的初始化和硬盘读写驱动的调用;其中所述硬盘的初始化操作,打通了驱动与上层文件***的通道,硬盘的初始化操作步骤如下:
1)硬盘设备驱动注册;
2)初始化硬盘请求队列;
3)SSMC基址映射并配置读、写周期;
4)硬盘基址和中断GPIO基址映射;
5)向内核注册向量中断;
6)为硬盘分配结构空间;
7)注册添加该硬盘结构空间;
8)结束。
2.根据权利要求1所述的基于嵌入式***的存储***,其特征是:所述步骤2中的请求队列,同内核中的相应队列关联,通过函数blk-init-queue关联。
3.根据权利要求1所述的基于嵌入式***的存储***,其特征是:所述步骤4,驱动通过内核提供的ioremap函数来完成基址映射。
4.根据权利要求1所述的基于嵌入式***的存储***,其特征是:所述步骤5,通过request-irq函数为硬盘申请中断请求,并注册中断处理程序。
5.根据权利要求1所述的基于嵌入式***的存储***,其特征是:所述步骤6,硬盘的分配结构空间,需要调用alloc-disk函数来分配。
6.根据权利要求1所述的基于嵌入式***的存储***,其特征是:所述硬盘读写驱动的调用,从请求处理函数do-hd-request开始。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810405490.1A CN108959130A (zh) | 2018-04-29 | 2018-04-29 | 基于嵌入式***的存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810405490.1A CN108959130A (zh) | 2018-04-29 | 2018-04-29 | 基于嵌入式***的存储*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108959130A true CN108959130A (zh) | 2018-12-07 |
Family
ID=64498950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810405490.1A Pending CN108959130A (zh) | 2018-04-29 | 2018-04-29 | 基于嵌入式***的存储*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959130A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632745A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 运用ide接口的多个设备的文件***操作方法 |
CN1632769A (zh) * | 2003-12-22 | 2005-06-29 | 英业达股份有限公司 | Linux操作***下IDE设备热插/拔***及实现方法 |
CN105700826A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 虚拟化方法和装置 |
-
2018
- 2018-04-29 CN CN201810405490.1A patent/CN108959130A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632745A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 运用ide接口的多个设备的文件***操作方法 |
CN1632769A (zh) * | 2003-12-22 | 2005-06-29 | 英业达股份有限公司 | Linux操作***下IDE设备热插/拔***及实现方法 |
CN105700826A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 虚拟化方法和装置 |
Non-Patent Citations (1)
Title |
---|
任晓丹孙俊杰: "IDE硬盘在准在线故障诊断***中的应用研究", 《机床与液压》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3274806B1 (en) | Sequential write stream management | |
US9448728B2 (en) | Consistent unmapping of application data in presence of concurrent, unquiesced writers and readers | |
US9164895B2 (en) | Virtualization of solid state drive and mass storage drive devices with hot and cold application monitoring | |
US9898341B2 (en) | Adjustable priority ratios for multiple task queues | |
KR101569731B1 (ko) | 가상화를 통한 스마트 장치의 직접적인 공유 | |
US7484016B2 (en) | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine | |
US9128699B2 (en) | Method and system for queuing transfers of multiple non-contiguous address ranges with a single command | |
US20160253093A1 (en) | A new USB protocol based computer acceleration device using multi I/O channel SLC NAND and DRAM cache | |
US9164703B2 (en) | Solid state drive interface controller and method selectively activating and deactivating interfaces and allocating storage capacity to the interfaces | |
US20190114257A1 (en) | Namespace planning of non-volatile memory of data storage device | |
JP2006294022A (ja) | ユニバーサルストレージバスアダプタ | |
US20100005482A1 (en) | Method for handling small computer system interface (SCSI) commands via a redundant array of inexpensive disks (RAID) device driver | |
KR20170121046A (ko) | NVMe 인터페이스를 사용하는 장치에 커널 모드 액세스 및 사용자 모드 액세스를 동시에 제공하는 시스템 및 방법 | |
US20130054840A1 (en) | Tag allocation for queued commands across multiple devices | |
TW202101227A (zh) | 閃存實體資源集合管理裝置及方法以及電腦程式產品 | |
WO2020135504A1 (zh) | 一种虚拟化方法和装置 | |
CN103226448B (zh) | 固态硬盘的驱动方法及装置 | |
US5996045A (en) | IDE disk drive arrangement that combines the capacity of a master drive and slave drive while hiding the presence of slave drive to a host computer | |
US8930968B2 (en) | Method and driver for processing data in a virtualized environment | |
US7676604B2 (en) | Task context direct indexing in a protocol engine | |
WO2019182931A1 (en) | Hybrid memory system | |
CN108959130A (zh) | 基于嵌入式***的存储*** | |
KR20150116627A (ko) | 컨트롤러 및 그것을 포함하는 데이터 저장 장치 | |
Bougioukou et al. | Prototyping and performance evaluation of a dynamically adaptable block device driver for PCIe-based SSDs | |
TWI714116B (zh) | 記憶體控制器、記憶體控制方法、以及電腦系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |