非易失存储设备和访问非易失存储设备的方法技术

技术编号:19193627 阅读:43 留言:0更新日期:2018-10-19 23:41
本发明专利技术实施例提出了一种非易失存储设备,该非易失存储设备包括接口模块、控制模块、读缓存和存储芯片,该接口模块用于:接收该主机发送的第一读请求信号,该第一读请求信号包括该存储芯片的地址;当该第一读请求信号请求的读数据没有保存在该读缓存中时,指示该控制模块从该存储芯片中读取该读数据;在所述主机结束当前读操作周期之前,向该主机发送第一中断信号和预定数据,该预定数据用于使该主机结束该读操作周期,该第一中断信号用于指示该主机在该读操作周期之后执行中断处理程序。这样通过发送中断信号,使主机进入中断处理程序等待正确数据,避免了主机获取错误数据后执行后续操作。

【技术实现步骤摘要】
非易失存储设备和访问非易失存储设备的方法
本专利技术涉及计算机领域,尤其涉及计算机领域中的非易失存储设备和访问非易失存储设备的方法。
技术介绍
随着信息技术的发展,特别是互联网的普及,各种类型的数据量迅速增长,尤其是视频数据的增多,给现有存储系统带来很大压力,所以迫切需要大容量、高性能的存储系统来有效保存和快速访问这些数据。传统的机械硬盘虽然技术成熟、成本低、容量大,但是性能存在瓶颈,而且功耗较大,已经逐渐让位于固态硬盘。固态硬盘使用半导体非易失存储器来保存数据,在性能、功耗、可靠性方面具有明显优势。固态硬盘有多种形态,按照对外接口的不同可分为三类:采用串口硬盘(SerialAdvancedTechnologyAttachment,简称“SATA”)接口或者串行SCSI接口(SerialAttachedSCSI,简称“SAS”,其中,小型计算机系统接口(SmallComputerSystemInterface,简称“SCSI”))的固态硬盘、采用外围设备互连快速通道(PeripheralComponentInterfaceExpress,简称“PCIe”)接口标准的固态硬盘以及采用内存接口的固态硬盘。其中,采用内存接口的固态硬盘称为闪存条。前面两类固态硬盘虽然技术很成熟,但是因为体积较大且存储密度不高,无法满足日益增长的数据量的存储需求,而且协议开销更大,增加了访问延时。而闪存条兼容现有的内存控制器和内存条插槽,兼具固态硬盘的大容量和内存的快速访问特点,因此越来越得到业界的重视。虽然闪存条具有这些优点,但是仍存在一个问题需要解决。由于内存接口的速率很高,例如双数据速率3(DoubleDataRate3,简称“DDR3”)内存接口的等效速率可达1600MHz,带宽为12.8GB/s,而闪存条的存储芯片读取一个页面的数据需要上百微秒,两者的速率相差很大。内存接口的时序特点是主机发起的读写操作在一段时间之内就要结束,以读操作为例,主机发出针对某个目的地址的读操作之后,经过数十纳秒就要开始接收数据,全部接收完成之后当前访问周期结束。这样,如果主机向闪存条发出读操作,但闪存条无法按时送出所需的数据,主机就会得到错误的数据。
技术实现思路
有鉴于此,本专利技术实施例提供了一种非易失存储设备和访问非易失存储设备的方法,以解决通过高速内存接口访问低速闪存时主机无法获取正确数据的问题。第一方面,提供了一种非易失存储设备,所述非易失存储设备包括接口模块、控制模块、读缓存和存储芯片,所述接口模块用于:接收所述主机发送的第一读请求信号,所述第一读请求信号包括所述存储芯片的地址;当所述数据没有保存在所述读缓存中时,指示所述控制模块从所述存储芯片中读取所述数据;在所述主机结束当前读操作周期之前,向所述主机发送中断信号和预定数据,所述预定数据用于使所述主机结束所述读操作周期,所述中断信号用于指示所述主机在所述读操作周期之后执行中断处理程序。因此,当主机向非易失存储设备发起读操作,但非易失存储设备不能及时返回数据时,该非易失存储设备通过发送中断信号使得主机进入中断处理程序等待正确数据从存储芯片中读出,从而避免了主机获取错误数据之后执行后续的操作。结合第一方面,在第一方面的第一种可能的实现方式中,所述控制模块用于:根据所述接口模块的指示从所述存储芯片中读取所述数据,并将所述数据存储在所述读缓存中;所述接口模块还用于:在所述主机退出所述中断处理程序之后,接收所述主机发送的第二读请求信号,所述第二读请求信号包括所述存储芯片的地址;将所述控制模块存储在所述读缓存中的所述数据发送至所述主机。这样,通过在主机进行延时的同时将存储芯片中的数据存储在读缓存中,避免了主机再次发起重复访问时继续进行延时,提高了读取效率。第二方面,提供了一种主机,所述非易失存储设备包括接口模块、读缓存和存储芯片,所述主机包括:发送模块,用于向所述接口模块发送第一读请求信号,所述第一读请求信号包括所述存储芯片的地址;接收模块,用于在当前读操作周期完成之前接收所述接口模块发送的中断信号,所述中断信号表示所述读请求信号所请求的数据没有保存在所述读缓存中;所述接收模块,还用于接收所述接口模块发送的预定数据;处理模块,用于根据所述接收模块接收的所述预定数据结束当前读操作周期,并在所述读操作周期完成之后,根据所述中断信号执行中断处理程序。因此,当向非易失存储设备发起读操作,但非易失存储设备不能及时返回数据时,该主机通过接收非易失存储设备发送的中断信号,从而进入中断处理程序等待正确数据,避免了获取错误数据之后执行后续操作。结合第二方面,在第二方面的第一种可能的实现方式中,所述发送模块还用于:在退出所述中断处理程序之后向所述接口模块发送第二读请求信号;所述接收模块还用于:接收所述接口模块发送的所述数据。结合第一方面或第一方面的第一种可能的实现方式,或第二方面或第二方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式和第二方面的第二种可能的实现方式中,所述第一中断信号和/或所述第二中断信号用于指示所述主机确定延时时间,以便于所述主机在所述中断处理程序中根据所述延时时间进行延时。可选地,所述接口模块包括延时时间寄存器,所述主机根据所述中断信号的指示从所述延时时间寄存器中获取所述延时时间。可选地,所述非易失存储设备的集成电路间总线I2C上连接通用输入/输出GPIO芯片,所述主机根据所述中断信号的指示根据所述GPIO芯片确定所述延时时间。可选地,所述接口模块包括第一状态寄存器,所述主机根据所述中断信号的指示根据所述第一状态寄存器确定所述延时时间,所述第一状态寄存器用于指示所述存储芯片的状态。可选地,所述接口模块包括第一状态寄存器,所述第一状态寄存器用于指示所述存储芯片的状态,所述非易失存储设备的I2C总线上连接电可擦可编程只读存储器EEPROM芯片,所述EEPROM芯片用于指示所述状态和所述延时时间的对应关系,所述主机根据所述中断信号的指示,根据所述第一状态寄存器和所述EEPROM芯片确定所述延时时间。可选地,所述存储芯片的状态包括空闲状态、读状态、写状态和擦除状态。这样,非易失存储设备通过指示主机根据上述方式确定延时时间,使主机针对存储芯片的不同工作状态进行不同时间的延时,避免了不必要的延时,提高了数据读取的效率。结合第一方面或第一方面的第一种或第二种可能的实现方式,或第二方面或第二方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式和第二方面的第三种可能的实现方式中,所述接口模块包括第二状态寄存器,所述第二状态寄存器用于指示所述主机根据所述第二状态寄存器确定在所述中断处理程序进行延时。可选地,所述非易失存储设备的I2C总线上连接温度传感器,所述接口模块包括第二状态寄存器,所述主机在所述第二状态寄存器指示所述温度传感器表示的所述非易失存储设备的温度没有超出门限时,确定在所述中断处理程序进行延时。可选地,所述非易失存储设备通过内存接口和所述主机相连,所述接口模块包括第二状态寄存器,所述主机在所述第二状态寄存器指示所述内存接口的地址和控制信号校验没有出错时,确定在所述中断处理程序进行延时。这样,非易失存储设备通过指示主机根据上述方式针对不同的中断原因进行判断,保证了主机本文档来自技高网
...

【技术保护点】
1.一种非易失存储设备,其特征在于,所述非易失存储设备包括接口模块、控制模块、读缓存和存储芯片,所述接口模块用于:接收主机发送的第一读请求信号,所述第一读请求信号包括所述存储芯片的地址;当所述第一读请求信号请求的读数据没有保存在所述读缓存中时,指示所述控制模块从所述存储芯片中读取所述读数据;在所述主机结束当前读操作周期之前,向所述主机发送第一中断信号和预定数据,所述预定数据用于使所述主机结束所述读操作周期,所述第一中断信号用于指示所述主机在所述读操作周期之后执行中断处理程序。

【技术特征摘要】
1.一种非易失存储设备,其特征在于,所述非易失存储设备包括接口模块、控制模块、读缓存和存储芯片,所述接口模块用于:接收主机发送的第一读请求信号,所述第一读请求信号包括所述存储芯片的地址;当所述第一读请求信号请求的读数据没有保存在所述读缓存中时,指示所述控制模块从所述存储芯片中读取所述读数据;在所述主机结束当前读操作周期之前,向所述主机发送第一中断信号和预定数据,所述预定数据用于使所述主机结束所述读操作周期,所述第一中断信号用于指示所述主机在所述读操作周期之后执行中断处理程序。2.如权利要求1所述的非易失存储设备,其特征在于,所述控制模块用于:根据所述接口模块的指示从所述存储芯片中读取所述读数据,并将所述读数据存储在所述读缓存中;所述接口模块还用于:在所述主机退出所述中断处理程序之后,接收所述主机发送的第二读请求信号,所述第二读请求信号包括所述存储芯片的地址;将所述控制模块存储在所述读缓存中的所述读数据发送至所述主机。3.如权利要求1或2所述的非易失存储设备,其特征在于,所述非易失存储设备还包括写缓存,所述接口模块还用于:接收所述主机发送的第一写请求信号和所述第一写请求信号请求写入的写数据,所述第一写请求信号包括所述存储芯片的地址;当所述写缓存中没有多余空间保存所述写数据时,丢弃所述写数据,并指示所述控制模块将所述写缓存中的已有数据保存到所述存储芯片中;在所述主机结束当前写操作周期之前,向所述主机发送第二中断信号,所述第二中断信号用于指示所述主机在当前写操作周期之后执行所述中断处理程序。4.如权利要求3所述的非易失存储设备,其特征在于,所述控制模块还用于:根据所述接口模块的指示将所述写缓存中的已有数据保存到所述存储芯片中,以使得所述写缓存留出多余空间保存所述写数据;所述接口模块还用于:在所述主机退出所述中断处理程序之后,接收所述主机发送的第二写请求信号;接收所述主机发送的所述写数据,并将所述写数据保存在所述写缓存中。5.如权利要求3所述的非易失存储设备,其特征在于,所述第一中断信号和/或所述第二中断信号用于指示所述主机确定延时时间,以便于所述主机在所述中断处理程序中根据所述延时时间进行延时。6.如权利要求5所述的非易失存储设备,其特征在于,所述接口模块包括延时时间寄存器,所述第一中断信号和/或所述第二中断信号用于指示所述主机从所述延时时间寄存器中获取所述延时时间。7.如权利要求5所述的非易失存储设备,其特征在于,所述非易失存储设备的集成电路间总线I2C上连接通用输入/输出GPIO芯片,所述第一中断信号和/或所述第二中断信号用于指示所述主机根据所述GPIO芯片确定所述延时时间。8.如权利要求5所述的非易失存储设备,其特征在于,所述接口模块包括第一状态寄存器,所述第一中断信号和/或所述第二中断信号用于指示所述主机根据所述第一状态寄存器确定所述延时时间,所述第一状态寄存器用于指示所述存储芯片的状态。9.如权利要求5所述的非易失存储设备,其特征在于,所述接口模块包括第一状态寄存器,所述第一状态寄存器用于指示所述存储芯片的状态,所述非易失存储设备的I2C总线上连接电可擦可编程只读存储器EEPROM芯片,所述EEPROM芯片用于指示所述状态和所述延时时间的对应关系,所述第一中断信号和/或所述第二中断信号用于指示所述主机根据所述第一状态寄存器和所述EEPROM芯片确定所述延时时间。10.如权利要求1,2,4-9中任一项所述的非易失存储设备,其特征在于,所述接口模块包括第二状态寄存器,所述第二状态寄存器用于指示所述主机根据所述第二状态寄存器确定在所述中断处理程序进行延时。11.如权利要求10所述的非易失存储设备,其特征在于,所述非易失存储设备的I2C总线上连接温度传感器,所述第二状态寄存器用于指示所述温度传感器表示的所述非易失存储设备的温度没有超出门限。12.如权利要求10所述的非易失存储设备,其特征在于,所述非易失存储设备通过内存接口和所述主机相连接,所述第二状态寄存器用于指示所述内存接口的地址和控制信号校验没有出错。13.如权利要求1,2,4-9,11,12中任一项所述的非易失存储设备,其特征在于,...

【专利技术属性】
技术研发人员:李延松
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1