CN108959130A - 基于嵌入式***的存储*** - Google Patents

基于嵌入式***的存储*** Download PDF

Info

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
Application number
CN201810405490.1A
Other languages
English (en)
Inventor
奚谷枫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Industrial Regulation Technology Co Ltd
Original Assignee
Zhejiang Industrial Regulation Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Industrial Regulation Technology Co Ltd filed Critical Zhejiang Industrial Regulation Technology Co Ltd
Priority to CN201810405490.1A priority Critical patent/CN108959130A/zh
Publication of CN108959130A publication Critical patent/CN108959130A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling 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开始。
CN201810405490.1A 2018-04-29 2018-04-29 基于嵌入式***的存储*** Pending CN108959130A (zh)

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)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 虚拟化方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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