CN109271108A - 一种存储器控制装置及数据存储设备 - Google Patents
一种存储器控制装置及数据存储设备 Download PDFInfo
- Publication number
- CN109271108A CN109271108A CN201811018879.7A CN201811018879A CN109271108A CN 109271108 A CN109271108 A CN 109271108A CN 201811018879 A CN201811018879 A CN 201811018879A CN 109271108 A CN109271108 A CN 109271108A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- control unit
- unit
- interface
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提出了一种存储器控制装置,包括:系统单元、数据链路单元和物理控制单元;其中,所述系统单元、所述数据链路单元和所述物理控制单元依次连接。本发明还公开了一种数据存储设备,通过实施上述方案,实现了存储器控制装置中系统单元与数据链路单元的硬件级平行设置;通过增加数据链路单元,提高了系统单元与物理控制单元之间数据传输的匹配度;通过数据链路单元的可编程扩展,降低了存储器控制装置的成本;当对系统单元进行升级时,数据链路单元和物理控制单元稳定性得到了极大提高,避免了对系统单元进行升级时,需要对数据链路单元和/或物理控制单元进行修改的弊端。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种存储器控制装置及数据存储设备。
背景技术
随着计算机设备的快速发展,计算机设备通过数据存储设备对海量数据的快速存储和/或读取成为亟待解决的难题。如图1所示,现有的存储器控制装置包括:系统层(System Layer)和物理层(Physical Layer);其中,系统层包括:应用层(ApplicationLayer)和传输层(Transfer Layer),通常为运行于CPU(Central Processing Unit,中央处理器)上的软件程序;物理层包括:ECC(Error Correcting Code,错误检查和纠正)器、FLASH(闪存)时序生成器和FLASH存储器。而现有的存储器控制装置中的系统层必须实时将系统层控制功能指令映射为物理层控制功能指令,同时将系统层数据重组为物理层数据,直接产生所有FLASH物理层微操作,并配置和调用大量FLASH接口时序参数。系统层和物理层在功能,并行度,及实时性等方面均有较大差别。因此,系统层特别是传输层各种功能的过度集中会导致数据传输速度容易遇到瓶颈。此外,系统层必须降低可编程性或可扩展性来保证FLASH存储器的数据访问速度;并且现有存储器控制装置必须针对FLASH存储器接口以及存储器访问的控制数据通路做针对性的结构优化。如果不增加系统资源,则必须以牺牲FLASH存储器访问的可编程性、可扩展性为代价,系统灵活性较差。当由于FLASH存储器升级等因素必须对应升级存储器控制装置时,会导致大幅修改系统层,甚至重新设计,技术升级成本高。
发明内容
本发明提出了一种存储器控制装置及数据存储设备,用以解决现有技术中存储器控制装置访问存储器的数据传输速度受到系统单元限制的问题。
本发明采用的技术方案是提供一种存储器控制装置,包括:系统单元、数据链路单元和物理控制单元;
其中,所述系统单元、所述数据链路单元和所述物理控制单元依次连接;
所述系统单元,用于将接收到的用户控制指令转换为所述数据链路单元可识别的数据链路层指令,并将所述数据链路层指令,及接收到的存储器存储访问操作指令发送至所述数据链路单元;存储写入数据和/或读取数据;
所述数据链路单元,用于基于接收到的所述数据链路层指令,调度和分配所述数据链路单元的资源,管理所述数据链路单元的状态;将接收到的所述存储器存储访问操作指令转换为符合存储器时序要求的接口的时序参数,并将所述符合存储器时序要求的接口的时序参数发送至所述物理控制单元;将获取到的所述系统单元中存储的写入数据转换为存储器可识别格式及时序的写入数据,并将所述存储器可识别格式及时序的写入数据传输至所述物理控制单元;对接收到的读取数据进行纠错,并将纠错后的读取数据存储至所述系统单元;
所述物理控制单元,用于将接收到的所述符合存储器时序要求的接口的时序参数转换为所述存储器可识别的操作时序;根据所述存储器可识别的操作时序,将接收到的所述存储器可识别格式及时序的写入数据写入所述存储器,或者将在所述存储器中读取的读取数据传输至所述数据链路单元。
可选的,所述系统单元,包括:用户层接口、用户层接口控制器、传输层转换器和系统存储器;
其中,所述用户层接口与所述用户层接口控制器连接;所述用户层接口控制器分别与所述传输层转换器和所述系统存储器连接;
所述用户层接口,用于将接收到的所述用户控制指令,所述存储器存储访问操作指令,及写入数据传输至所述用户层接口控制器;并输出所述用户层接口控制器接收到的数据传输状态信息,纠错状态信息,及读取数据;
所述用户层接口控制器,用于将接收到的所述用户控制指令和所述存储器存储访问操作指令发送至所述传输层转换器;将写入数据存储至所述系统存储器,并将从所述系统存储器中读取到的读取数据,及接收到的所述数据传输状态信息和所述纠错状态信息传输至所述用户层接口;
所述传输层转换器,用于将接收到的所述用户控制指令转换为所述数据链路单元可识别的数据链路层指令,并将所述数据链路层指令,所述存储器存储访问操作指令,及在所述系统存储器中存储的写入数据的存储位置信息传输至所述数据链路单元;管理所述系统存储器;将所述数据链路单元反馈的数据传输状态信息和所述纠错状态信息发送至所述用户层接口控制器;
所述系统存储器,用于存储写入数据和/或读取数据。
可选的,所述数据链路单元,包括:指令控制单元和数据控制单元:其中,所述指令控制单元与所述数据控制单元连接;
所述指令控制单元,用于基于接收到的所述数据链路层指令,调度和分配所述数据链路单元的资源,管理所述数据链路单元的状态,并将接收到的所述数据传输状态信息及所述纠错状态信息反馈至所述传输层转换器;将接收到的所述存储器存储访问操作指令转换为所述符合存储器时序要求的接口的时序参数,并将所述符合存储器时序要求的接口的时序参数发送至所述物理控制单元;
所述数据控制单元,用于根据接收到的所述系统存储器中存储的写入数据的存储位置信息,在所述系统存储器中读取写入数据;在所述指令控制单元配置下,将在所述系统存储器中读取到的写入数据转换为所述存储器可识别格式及时序的写入数据,并将所述存储器可识别格式及时序的写入数据传输至所述物理控制单元;对接收到的读取数据进行纠错,并将纠错后的读取数据存储至所述系统存储器;向所述指令控制单元反馈生成的所述数据传输状态信息及所述纠错状态信息。
可选的,所述数据控制单元,包括:写数据接口,读数据接口,数据传输控制器,纠错编码/解码单元,及数据接口;
所述数据传输控制器,所述纠错编码/解码单元,及所述数据接口依次连接;所述数据传输控制器分别与所述写数据接口和所述读数据接口连接;所述写数据接口和所述读数据接口均与所述系统存储器连接;所述数据传输控制器与所述指令控制单元连接;
所述写数据接口,用于存储在所述系统存储器中读取的写入数据,并将读取到的写入数据传输至所述数据传输控制器;
所述读数据接口,用于存储接收到的所述数据传输控制器传输的读取数据,并将存储的读取数据传输至所述系统存储器;
所述数据传输控制器,用于根据接收到的所述系统存储器中存储的写入数据的存储位置信息,在所述系统存储器中读取写入数据;在所述指令控制单元配置下,将所述写数据接口传输的写入数据传输至所述纠错编码/解码单元,并将所述纠错编码/解码单元得到的读取数据传输至所述读数据接口;生成所述数据传输状态信息,并接收所述纠错编码/解码单元传输的纠错状态信息,向所述指令控制单元反馈所述数据传输状态信息及所述纠错状态信息;
所述纠错编码/解码单元,用于在所述数据传输控制器传输的写入数据中设置校验码,并将已设置校验码的写入数据传输至所述数据接口;根据接收到的读取数据中携带的校验码对读取数据进行纠错,并将纠错后的读取数据,及所述纠错状态信息传输至所述数据传输控制器;
所述数据接口,用于将已设置校验码的写入数据,转换为所述物理控制单元可识别格式及时序的写入数据;将所述物理控制单元可识别格式及时序的写入数据传输至所述物理控制单元;接收所述物理控制单元传输的读取数据,并将读取数据传输至所述纠错编码/解码单元。
可选的,所述指令控制单元,包括:传输队列单元、流程控制单元、存储器功能操作控制器、存储器物理操作控制器和可编程控制器;
其中,所述传输队列单元、所述流程控制单元、所述存储器功能操作控制器、所述存储器物理操作控制器和所述可编程控制器依次连接;所述流程控制单元与所述数据控制单元中的所述数据传输控制器连接;
所述传输队列单元,用于将接收到的所述数据链路层指令和所述存储器存储访问操作指令传输至所述流程控制单元;将所述流程控制单元反馈的所述数据传输状态信息及所述纠错状态信息传输至所述传输层转换器;
所述流程控制单元,用于基于接收到的所述数据链路层指令,调度和分配所述数据链路单元的资源,管理所述数据链路单元的状态;将接收到的所述存储器存储访问操作指令传输至存储器功能操作控制器;将所述数据传输控制器反馈的数据传输状态信息及纠错状态信息传输至所述传输队列单元;
所述存储器功能操作控制器,用于在所述流程控制单元配置下,将接收到的所述存储器存储访问操作指令转换为存储器功能级操作序列,并对所述存储器功能级操作序列进行优化;将优化后的存储器功能级操作序列传输至所述存储器物理操作控制器;
所述存储器物理操作控制器,用于将所述优化后的存储器功能级操作序列转换为物理级存储器接口操作指令,并将所述物理级存储器接口操作指令传输至所述可编程控制器;
所述可编程控制器,用于将所述物理级存储器接口操作指令转换为存储器接口上每一单独比特时序的拼接和组合,以生成符合存储器时序要求的接口的时序参数;将所述符合存储器时序要求的接口的时序参数传输至所述物理控制单元。
可选的,所述物理控制单元,包括:存储器时序生成器;
所述存储器时序生成器分别与所述可编程控制器及所述数据接口连接;
所述存储器时序生成器,用于将符合存储器时序要求的接口的时序参数,转换为所述存储器可识别的操作时序;根据所述存储器可识别的操作时序,将接收到的所述物理控制单元可识别格式及时序的写入数据写入所述存储器,或者将在所述存储器中读取的读取数据传输至所述数据接口。
可选的,所述纠错编码/解码单元,还用于:根据接收到的写入数据和/或读取数据的数量,所述纠错编码/解码单元的结构,及所述存储器的单位容量实时配置所述纠错编码/解码单元的配置参数。
可选的,所述可编程控制器,还用于:根据时钟周期,配置存储器接口的时序。
本发明还提供一种数据存储设备,包括:存储器,及上述的存储器控制装置;
其中,所述存储器控制装置中的所述物理控制单元与所述存储器连接。
可选的,所述存储器为闪存Flash存储器。
采用上述技术方案,本发明至少具有下列优点:
本发明所述一种存储器控制装置及数据存储设备,通过增加数据链路单元实现了存储器控制装置中系统单元的硬件加速,同时实现了存储器控制装置中系统单元与数据链路单元的硬件级平行设置;通过增加数据链路单元,提高了系统单元与物理控制单元之间数据传输的速度匹配度;通过数据链路单元的可编程扩展,降低了存储器控制装置的设计成本;当对系统单元进行升级时,数据链路单元和物理控制单元稳定性得到了极大提高,避免了对系统单元进行升级时,需要对数据链路单元和/或物理控制单元进行修改的弊端。
附图说明
图1为本发明第一实施例所述的存储器控制装置组成结构示意图;
图2为本发明第二实施例所述的存储器控制装置组成结构示意图;
图3为本发明第三至第四实施例所述的数据存储设备组成结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明第一实施例,一种存储器控制装置,如图1所示,包括以下组成部分:
系统单元100、数据链路单元200和物理控制单元300;
其中,系统单元100、数据链路单元200和物理控制单元300依次连接;
系统单元100,用于将接收到的用户控制指令转换为数据链路单元200可识别的数据链路层指令,并将数据链路层指令,及接收到的存储器存储访问操作指令发送至数据链路单元200;存储写入数据和/或读取数据;
数据链路单元200,用于基于接收到的数据链路层指令,调度和分配数据链路单元200的资源,管理数据链路单元200的状态;将接收到的存储器存储访问操作指令转换为符合存储器时序要求的接口的时序参数,并将符合存储器时序要求的接口的时序参数发送至物理控制单元300;将获取到的系统单元100中存储的写入数据转换为存储器可识别格式及时序的写入数据,并将存储器可识别格式及时序的写入数据传输至物理控制单元300;对接收到的读取数据进行纠错,并将纠错后的读取数据存储至系统单元100;
物理控制单元300,用于将接收到的符合存储器时序要求的接口的时序参数转换为存储器可识别的操作时序;根据存储器可识别的操作时序,将接收到的存储器可识别格式及时序的写入数据写入存储器,或者将在存储器中读取的读取数据传输至数据链路单元200。
在本实施例中,系统单元100与数据链路单元200的连接方式,及数据链路单元200与物理控制单元300的连接方式,包括但不限于以下连接方式:通过物理的通道或总线进行连接,即可以理解为物理连接。例如:系统单元100与数据链路单元200通过物理的通道或总线进行连接;数据链路单元200与物理控制单元300通过物理的通道或总线进行连接。
本发明第一实施例所述的存储器控制装置,实现了存储器控制装置中系统单元与数据链路单元的硬件级平行设置;通过增加数据链路单元,提高了系统单元与物理控制单元之间数据传输的匹配度;通过数据链路单元的可编程扩展,降低了存储器控制装置的成本;当对系统单元进行升级时,数据链路单元和物理控制单元稳定性得到了极大提高,避免了对系统单元进行升级时,需要对数据链路单元和/或物理控制单元进行修改的弊端。
本发明第二实施例,一种存储器控制装置,如图2所示,包括以下组成部分:
系统单元100、数据链路单元200和物理控制单元300;
其中,系统单元100、数据链路单元200和物理控制单元300依次连接;
系统单元100,用于将接收到的用户控制指令转换为数据链路单元200可识别的数据链路层指令,并将数据链路层指令,及接收到的存储器存储访问操作指令发送至数据链路单元200;存储写入数据和/或读取数据;
数据链路单元200,用于基于接收到的数据链路层指令,调度和分配数据链路单元200的资源,管理数据链路单元200的状态;将接收到的存储器存储访问操作指令转换为符合存储器时序要求的接口的时序参数,并将符合存储器时序要求的接口的时序参数发送至物理控制单元300;将获取到的系统单元100中存储的写入数据转换为存储器可识别格式及时序的写入数据,并将存储器可识别格式及时序的写入数据传输至物理控制单元300;对接收到的读取数据进行纠错,并将纠错后的读取数据存储至系统单元100;
物理控制单元300,用于将接收到的符合存储器时序要求的接口的时序参数转换为存储器可识别的操作时序;根据存储器可识别的操作时序,将接收到的存储器可识别格式及时序的写入数据写入存储器,或者将在存储器中读取的读取数据传输至数据链路单元200。
在本实施例中,系统单元100,包括:用户层接口101、用户层接口控制器102、传输层转换器103和系统存储器104;
其中,用户层接口101与用户层接口控制器102连接;用户层接口控制器102分别与传输层转换器103和系统存储器104连接;
用户层接口(Host interface)101,用于将接收到的用户控制指令,存储器存储访问操作指令,及写入数据传输至用户层接口控制器102;并输出用户层接口控制器102接收到的数据传输状态信息,纠错状态信息,及读取数据;
在本实施例中,用户层接口101基于PCIE(Peripheral Component InterconnectExpress,外设部件互连标准)、SATA(Serial Advanced Technology Attachment,串行高级技术附件)或SAS(Serial Attached SCSI,串行连接SCSI接口)协议进行配置。
用户层接口控制器(Host interface controller)102,用于将接收到的用户控制指令和存储器存储访问操作指令发送至传输层转换器103;将写入数据存储至系统存储器104,并将从系统存储器104中读取到的读取数据,及接收到的数据传输状态信息和纠错状态信息传输至用户层接口101;
在本实施例中,用户层接口控制器102为基于PCIE的NVME(Non-Volatile MemoryExpress,非易失性内存主机控制器接口规范)控制器。
传输层转换器103,用于将接收到的用户控制指令转换为数据链路单元200可识别的数据链路层指令,并将数据链路层指令,存储器存储访问操作指令,及在系统存储器104中存储的写入数据的存储位置信息传输至数据链路单元200;管理系统存储器104;将数据链路单元200反馈的数据传输状态信息和纠错状态信息发送至用户层接口控制器102;
在本实施例中,传输层转换器103基于通用CPU(Central Processing Unit,中央处理器)实现。
系统存储器(System MEM)104,用于存储写入数据和/或读取数据。
在本实施例中,系统存储器104包括但不限于:DDR(Double Data Rate双倍速率)SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)。
在本实施例中,数据链路单元200,包括:指令控制单元201和数据控制单元202:其中,指令控制单元201与数据控制单元202连接;
指令控制单元201,用于基于接收到的数据链路层指令,调度和分配数据链路单元200的资源,管理数据链路单元200的状态,并将接收到的数据传输状态信息及纠错状态信息反馈至传输层转换器103;将接收到的存储器存储访问操作指令转换为符合存储器时序要求的接口的时序参数,并将符合存储器时序要求的接口的时序参数发送至物理控制单元300;
数据控制单元202,用于根据接收到的系统存储器104中存储的写入数据的存储位置信息,在系统存储器104中读取写入数据;在指令控制单元201配置下,将在系统存储器104中读取到的写入数据转换为存储器可识别格式及时序的写入数据,并将存储器可识别格式及时序的写入数据传输至物理控制单元300;对接收到的读取数据进行纠错,并将纠错后的读取数据存储至系统存储器104;向指令控制单元201反馈生成的数据传输状态信息及纠错状态信息。
其中,数据控制单元202,包括:写数据接口206,读数据接口207,数据传输控制器209,纠错编码/解码单元214,及数据接口218;
指令控制单元201,包括:传输队列单元205、流程控制单元208、存储器功能操作控制器210、存储器物理操作控制器213和可编程控制器219;
数据传输控制器209,纠错编码/解码单元214,及数据接口218依次连接;数据传输控制器209分别与写数据接口206,读数据接口207,及流程控制单元208连接;写数据接口206和读数据接口207均与系统存储器104连接;传输队列单元205、流程控制单元208、存储器功能操作控制器210、存储器物理操作控制器213和可编程控制器219依次连接;
写数据接口(Write Data)206,用于存储在系统存储器104中读取的写入数据,并将读取到的写入数据传输至数据传输控制器209;
在本实施例中,写数据接口206基于SRAM(静态随机存取存储器)实现。
读数据接口(Read Data)207,用于存储接收到的数据传输控制器209传输的读取数据,并将存储的读取数据传输至系统存储器104;
在本实施例中,读数据接口207基于SRAM实现。
数据传输控制器(Data Controller)209,用于根据接收到的系统存储器104中存储的写入数据的存储位置信息,通过写数据接口206在系统存储器104中读取写入数据;在指令控制单元201配置下,将写数据接口206传输的写入数据传输至纠错编码/解码单元214,并将纠错编码/解码单元214得到的读取数据传输至读数据接口207;生成数据传输状态信息,并接收纠错编码/解码单元214传输的纠错状态信息,向指令控制单元201反馈数据传输状态信息及纠错状态信息;
在本实施例中,数据传输控制器209基于DMA(Direct Memory Access,直接存储器访问)实现。
纠错编码/解码单元(Error Correction Code)214,用于在数据传输控制器209传输的写入数据中设置校验码,并将已设置校验码的写入数据传输至数据接口218;根据接收到的读取数据中携带的校验码对读取数据进行纠错,并将纠错后的读取数据,及纠错状态信息传输至数据传输控制器209;
可选的,纠错编码/解码单元214,还用于:根据接收到的写入数据和/或读取数据的数量,纠错编码/解码单元214的结构,及存储器的单位容量实时配置纠错编码/解码单元214的配置参数;
在本实施例中,纠错编码/解码单元214基于专用集成电路实现LDPC(Low DensityParity Check Code,低密度奇偶校验码)编码/解码。其中,根据接收到的写入数据和/或读取数据的数量,纠错编码/解码单元214的结构,及存储器的单位容量实时配置纠错编码/解码单元214的配置参数,包括但不限于以下方式中的一种或多种:方式一,实时配置纠错编码/解码单元214中编码器和/或解码器的操作模式的配置参数;方式二,实时配置读取数据和/或写入数据的长度、校验码长度,及读取数据和/或写入数据的分割策略等配置参数。纠错编码/解码单元214的结构,包括但不限于LDPC中各种矩阵的选择和配置。
数据接口(Data Interface)218,用于将已设置校验码的写入数据,转换为物理控制单元300可识别格式及时序的写入数据;将物理控制单元300可识别格式及时序的写入数据传输至物理控制单元300;接收物理控制单元300传输的读取数据,并将读取数据传输至纠错编码/解码单元214;
在本实施例中,数据接口218基于专用集成电路实现。
传输队列单元(Transfer Queue)205,用于将接收到的数据链路层指令和存储器存储访问操作指令传输至流程控制单元208;将流程控制单元208反馈的数据传输状态信息及纠错状态信息传输至传输层转换器103;
在本实施例中,传输队列单元205基于SRAM实现。
流程控制单元(Flow Control Unit)208,用于基于接收到的数据链路层指令,调度和分配数据链路单元200的资源,管理数据链路单元200的状态;将接收到的存储器存储访问操作指令传输至存储器功能操作控制器210;将数据传输控制器209反馈的数据传输状态信息及纠错状态信息传输至传输队列单元205;
在本实施例中,流程控制单元208基于通用CPU实现。
存储器功能操作控制器(Functional Operation Controller)210,用于在流程控制单元208配置下,将接收到的存储器存储访问操作指令转换为存储器功能级操作序列,并对存储器功能级操作序列进行优化;将优化后的存储器功能级操作序列传输至存储器物理操作控制器213;
在本实施例中,存储器功能操作控制器10基于CPU实现。
存储器物理操作控制器(Physical Operation Controller)213,用于将优化后的存储器功能级操作序列转换为物理级存储器接口操作指令,并将物理级存储器接口操作指令传输至可编程控制器219;
在本实施例中,存储器物理操作控制器213基于专用集成电路实现。
可编程控制器(Programmable Control)219,用于将物理级存储器接口操作指令转换为存储器接口上每一单独比特时序的拼接和组合,以生成符合存储器时序要求的接口的时序参数;将符合存储器时序要求的接口的时序参数传输至物理控制单元300;
可选的,可编程控制器19,还用于:根据时钟周期,配置存储器接口的时序。
在本实施例中,可编程控制器219基于专用集成电路实现。
在本实施例中,物理控制单元300,包括:存储器时序生成器322;
存储器时序生成器322分别与可编程控制器219及数据接口218连接;
存储器时序生成器(Timing Generator)321,用于将符合存储器时序要求的接口的时序参数,转换为存储器可识别的操作时序;根据存储器可识别的操作时序,将接收到的物理控制单元300可识别格式及时序的写入数据写入存储器,或者将在存储器中读取的读取数据传输至数据接口218。
在本实施例中,存储器时序生成器322基于专用集成电路实现。
本发明第二实施例所述的存储器控制装置,实现了存储器控制装置中系统单元与数据链路单元的硬件级平行设置;通过增加数据链路单元,提高了系统单元与物理控制单元之间数据传输的匹配度;通过数据链路单元的可编程扩展,降低了存储器控制装置的成本;当对系统单元进行升级时,数据链路单元和物理控制单元稳定性得到了极大提高,避免了对系统单元进行升级时,需要对数据链路单元和/或物理控制单元进行修改的弊端。
本发明第三实施例,一种数据存储设备,如图3所示,包括以下组成部分:
本发明第一实施例或第二实施例所述的存储器控制装置400,及存储器500;
其中,存储器控制装置400中的物理控制单元300与存储器500连接。
本发明第四实施例,一种数据存储设备,如图3所示,包括以下组成部分:
本发明第一实施例或第二实施例所述的存储器控制装置400,及存储器500;
其中,存储器控制装置400中的物理控制单元300与存储器500连接;存储器500为Flash(闪存)存储器。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种存储器控制装置,其特征在于,包括:系统单元、数据链路单元和物理控制单元;
其中,所述系统单元、所述数据链路单元和所述物理控制单元依次连接;
所述系统单元,用于将接收到的用户控制指令转换为所述数据链路单元可识别的数据链路层指令,并将所述数据链路层指令,及接收到的存储器存储访问操作指令发送至所述数据链路单元;存储写入数据和/或读取数据;
所述数据链路单元,用于基于接收到的所述数据链路层指令,调度和分配所述数据链路单元的资源,管理所述数据链路单元的状态;将接收到的所述存储器存储访问操作指令转换为符合存储器时序要求的接口的时序参数,并将所述符合存储器时序要求的接口的时序参数发送至所述物理控制单元;将获取到的所述系统单元中存储的写入数据转换为存储器可识别格式及时序的写入数据,并将所述存储器可识别格式及时序的写入数据传输至所述物理控制单元;对接收到的读取数据进行纠错,并将纠错后的读取数据存储至所述系统单元;
所述物理控制单元,用于将接收到的所述符合存储器时序要求的接口的时序参数转换为所述存储器可识别的操作时序;根据所述存储器可识别的操作时序,将接收到的所述存储器可识别格式及时序的写入数据写入所述存储器,或者将在所述存储器中读取的读取数据传输至所述数据链路单元。
2.根据权利要求1所述的装置,其特征在于,所述系统单元,包括:用户层接口、用户层接口控制器、传输层转换器和系统存储器;
其中,所述用户层接口与所述用户层接口控制器连接;所述用户层接口控制器分别与所述传输层转换器和所述系统存储器连接;
所述用户层接口,用于将接收到的所述用户控制指令,所述存储器存储访问操作指令,及写入数据传输至所述用户层接口控制器;并输出所述用户层接口控制器接收到的数据传输状态信息,纠错状态信息,及读取数据;
所述用户层接口控制器,用于将接收到的所述用户控制指令和所述存储器存储访问操作指令发送至所述传输层转换器;将写入数据存储至所述系统存储器,并将从所述系统存储器中读取到的读取数据,及接收到的所述数据传输状态信息和所述纠错状态信息传输至所述用户层接口;
所述传输层转换器,用于将接收到的所述用户控制指令转换为所述数据链路单元可识别的数据链路层指令,并将所述数据链路层指令,所述存储器存储访问操作指令,及在所述系统存储器中存储的写入数据的存储位置信息传输至所述数据链路单元;管理所述系统存储器;将所述数据链路单元反馈的数据传输状态信息和所述纠错状态信息发送至所述用户层接口控制器;
所述系统存储器,用于存储写入数据和/或读取数据。
3.根据权利要求2所述的装置,其特征在于,所述数据链路单元,包括:指令控制单元和数据控制单元:其中,所述指令控制单元与所述数据控制单元连接;
所述指令控制单元,用于基于接收到的所述数据链路层指令,调度和分配所述数据链路单元的资源,管理所述数据链路单元的状态,并将接收到的所述数据传输状态信息及所述纠错状态信息反馈至所述传输层转换器;将接收到的所述存储器存储访问操作指令转换为所述符合存储器时序要求的接口的时序参数,并将所述符合存储器时序要求的接口的时序参数发送至所述物理控制单元;
所述数据控制单元,用于根据接收到的所述系统存储器中存储的写入数据的存储位置信息,在所述系统存储器中读取写入数据;在所述指令控制单元配置下,将在所述系统存储器中读取到的写入数据转换为所述存储器可识别格式及时序的写入数据,并将所述存储器可识别格式及时序的写入数据传输至所述物理控制单元;对接收到的读取数据进行纠错,并将纠错后的读取数据存储至所述系统存储器;向所述指令控制单元反馈生成的所述数据传输状态信息及所述纠错状态信息。
4.根据权利要求3所述的装置,其特征在于,所述数据控制单元,包括:写数据接口,读数据接口,数据传输控制器,纠错编码/解码单元,及数据接口;
所述数据传输控制器,所述纠错编码/解码单元,及所述数据接口依次连接;所述数据传输控制器分别与所述写数据接口和所述读数据接口连接;所述写数据接口和所述读数据接口均与所述系统存储器连接;所述数据传输控制器与所述指令控制单元连接;
所述写数据接口,用于存储在所述系统存储器中读取的写入数据,并将读取到的写入数据传输至所述数据传输控制器;
所述读数据接口,用于存储接收到的所述数据传输控制器传输的读取数据,并将存储的读取数据传输至所述系统存储器;
所述数据传输控制器,用于根据接收到的所述系统存储器中存储的写入数据的存储位置信息,在所述系统存储器中读取写入数据;在所述指令控制单元配置下,将所述写数据接口传输的写入数据传输至所述纠错编码/解码单元,并将所述纠错编码/解码单元得到的读取数据传输至所述读数据接口;生成所述数据传输状态信息,并接收所述纠错编码/解码单元传输的纠错状态信息,向所述指令控制单元反馈所述数据传输状态信息及所述纠错状态信息;
所述纠错编码/解码单元,用于在所述数据传输控制器传输的写入数据中设置校验码,并将已设置校验码的写入数据传输至所述数据接口;根据接收到的读取数据中携带的校验码对读取数据进行纠错,并将纠错后的读取数据,及所述纠错状态信息传输至所述数据传输控制器;
所述数据接口,用于将已设置校验码的写入数据,转换为所述物理控制单元可识别格式及时序的写入数据;将所述物理控制单元可识别格式及时序的写入数据传输至所述物理控制单元;接收所述物理控制单元传输的读取数据,并将读取数据传输至所述纠错编码/解码单元。
5.根据权利要求4所述的装置,其特征在于,所述指令控制单元,包括:传输队列单元、流程控制单元、存储器功能操作控制器、存储器物理操作控制器和可编程控制器;
其中,所述传输队列单元、所述流程控制单元、所述存储器功能操作控制器、所述存储器物理操作控制器和所述可编程控制器依次连接;所述流程控制单元与所述数据控制单元中的所述数据传输控制器连接;
所述传输队列单元,用于将接收到的所述数据链路层指令和所述存储器存储访问操作指令传输至所述流程控制单元;将所述流程控制单元反馈的所述数据传输状态信息及所述纠错状态信息传输至所述传输层转换器;
所述流程控制单元,用于基于接收到的所述数据链路层指令,调度和分配所述数据链路单元的资源,管理所述数据链路单元的状态;将接收到的所述存储器存储访问操作指令传输至存储器功能操作控制器;将所述数据传输控制器反馈的数据传输状态信息及纠错状态信息传输至所述传输队列单元;
所述存储器功能操作控制器,用于在所述流程控制单元配置下,将接收到的所述存储器存储访问操作指令转换为存储器功能级操作序列,并对所述存储器功能级操作序列进行优化;将优化后的存储器功能级操作序列传输至所述存储器物理操作控制器;
所述存储器物理操作控制器,用于将所述优化后的存储器功能级操作序列转换为物理级存储器接口操作指令,并将所述物理级存储器接口操作指令传输至所述可编程控制器;
所述可编程控制器,用于将所述物理级存储器接口操作指令转换为存储器接口上每一单独比特时序的拼接和组合,以生成符合存储器时序要求的接口的时序参数;将所述符合存储器时序要求的接口的时序参数传输至所述物理控制单元。
6.根据权利要求5所述的装置,其特征在于,所述物理控制单元,包括:存储器时序生成器;
所述存储器时序生成器分别与所述可编程控制器及所述数据接口连接;
所述存储器时序生成器,用于将符合存储器时序要求的接口的时序参数,转换为所述存储器可识别的操作时序;根据所述存储器可识别的操作时序,将接收到的所述物理控制单元可识别格式及时序的写入数据写入所述存储器,或者将在所述存储器中读取的读取数据传输至所述数据接口。
7.根据权利要求4所述的装置,其特征在于,所述纠错编码/解码单元,还用于:根据接收到的写入数据和/或读取数据的数量,所述纠错编码/解码单元的结构,及所述存储器的单位容量实时配置所述纠错编码/解码单元的配置参数。
8.根据权利要求5所述的装置,其特征在于,所述可编程控制器,还用于:根据时钟周期,配置存储器接口的时序。
9.一种数据存储设备,其特征在于,包括:存储器,及根据权利要求1至8中任一项所述的存储器控制装置;
其中,所述存储器控制装置中的所述物理控制单元与所述存储器连接。
10.根据权利要求9所述的数据存储设备,其特征在于,所述存储器为闪存Flash。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811018879.7A CN109271108B (zh) | 2018-09-03 | 2018-09-03 | 一种存储器控制装置及数据存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811018879.7A CN109271108B (zh) | 2018-09-03 | 2018-09-03 | 一种存储器控制装置及数据存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271108A true CN109271108A (zh) | 2019-01-25 |
CN109271108B CN109271108B (zh) | 2021-11-30 |
Family
ID=65187787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811018879.7A Active CN109271108B (zh) | 2018-09-03 | 2018-09-03 | 一种存储器控制装置及数据存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271108B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020223849A1 (en) * | 2019-05-05 | 2020-11-12 | Yangtze Memory Technologies Co., Ltd. | Memory control system with a sequence processing unit |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200502757A (en) * | 2003-07-02 | 2005-01-16 | Infortrend Technology Inc | Storage virtualization computer system and external controller therefor |
KR20100062551A (ko) * | 2008-12-02 | 2010-06-10 | 삼성전자주식회사 | 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법 |
US20110035580A1 (en) * | 2009-08-06 | 2011-02-10 | Broadcom Corporation | Media access control security management in physical layer |
CN103559152A (zh) * | 2013-10-31 | 2014-02-05 | 烽火通信科技股份有限公司 | 基于pcie协议的cpu访问本地总线的装置及方法 |
CN103577119A (zh) * | 2012-06-19 | 2014-02-12 | 马维尔国际贸易有限公司 | 用于下一代固态硬盘控制器中乱序传输数据的系统和方法 |
CN105931670A (zh) * | 2016-04-22 | 2016-09-07 | 西安电子科技大学 | 基于Nand Flash存储器阵列的存储控制装置 |
US20160268006A1 (en) * | 2015-03-10 | 2016-09-15 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
CN106502932A (zh) * | 2016-09-20 | 2017-03-15 | 中国科学院自动化研究所 | 基于分层结构的片间互联接口及其写操作和读操作的方法 |
US20170228162A1 (en) * | 2016-02-05 | 2017-08-10 | Phison Electronics Corp. | Memory management method, memory control circuit unit and memory storage device |
CN107317734A (zh) * | 2017-05-17 | 2017-11-03 | 天津大学 | 基于soc技术的集成cn总线节点芯片结构 |
CN108363637A (zh) * | 2014-12-20 | 2018-08-03 | 英特尔公司 | 事务缓冲存储器中的错误处理 |
-
2018
- 2018-09-03 CN CN201811018879.7A patent/CN109271108B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200502757A (en) * | 2003-07-02 | 2005-01-16 | Infortrend Technology Inc | Storage virtualization computer system and external controller therefor |
KR20100062551A (ko) * | 2008-12-02 | 2010-06-10 | 삼성전자주식회사 | 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법 |
US20110035580A1 (en) * | 2009-08-06 | 2011-02-10 | Broadcom Corporation | Media access control security management in physical layer |
CN103577119A (zh) * | 2012-06-19 | 2014-02-12 | 马维尔国际贸易有限公司 | 用于下一代固态硬盘控制器中乱序传输数据的系统和方法 |
CN103559152A (zh) * | 2013-10-31 | 2014-02-05 | 烽火通信科技股份有限公司 | 基于pcie协议的cpu访问本地总线的装置及方法 |
CN108363637A (zh) * | 2014-12-20 | 2018-08-03 | 英特尔公司 | 事务缓冲存储器中的错误处理 |
US20160268006A1 (en) * | 2015-03-10 | 2016-09-15 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
US20170228162A1 (en) * | 2016-02-05 | 2017-08-10 | Phison Electronics Corp. | Memory management method, memory control circuit unit and memory storage device |
CN105931670A (zh) * | 2016-04-22 | 2016-09-07 | 西安电子科技大学 | 基于Nand Flash存储器阵列的存储控制装置 |
CN106502932A (zh) * | 2016-09-20 | 2017-03-15 | 中国科学院自动化研究所 | 基于分层结构的片间互联接口及其写操作和读操作的方法 |
CN107317734A (zh) * | 2017-05-17 | 2017-11-03 | 天津大学 | 基于soc技术的集成cn总线节点芯片结构 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020223849A1 (en) * | 2019-05-05 | 2020-11-12 | Yangtze Memory Technologies Co., Ltd. | Memory control system with a sequence processing unit |
Also Published As
Publication number | Publication date |
---|---|
CN109271108B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104541249B (zh) | 用于非易失性存储器的耐久性感知纠错码(ecc)保护 | |
KR102427550B1 (ko) | 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리 | |
CN103019970B (zh) | 存储装置及其控制方法 | |
CN110073322A (zh) | 用于快速执行封装体内命令的系统和方法 | |
CN103870411B (zh) | 存储控制器以及包括存储控制器的存储系统 | |
CN104956440B (zh) | 用于确定存储器的参考电压的装置、方法和系统 | |
CN109313617A (zh) | 负载减少的非易失性存储器接口 | |
CN101587552B (zh) | 信息处理装置、系统和方法 | |
CN105743808B (zh) | 一种适配QoS的方法和装置 | |
CN107087033A (zh) | 消息推送方法、装置、存储介质及计算机设备 | |
CN110083554A (zh) | 用于配置混合存储器模块的存储器的i/o的设备及方法 | |
CN106205696A (zh) | 半导体存储器设备及其操作方法 | |
CN102685134A (zh) | 一种基于可扩展标记语言与动态库综合实现的通信管理机 | |
CN106874210A (zh) | 用于半导体存储装置的控制器及其操作方法 | |
CN103838516B (zh) | 一种用于多核处理器高效访问iSCSI磁盘阵列的方法及系统 | |
CN109871225A (zh) | 电子控制单元ecu升级方法及ecu | |
CN106610789B (zh) | 一种数据处理方法、装置及系统 | |
CN105871739A (zh) | 一种处理报文的方法及计算设备 | |
CN103577275A (zh) | 一种数据校验的方法、设备和系统 | |
CN106205728A (zh) | 奇偶校验电路及包括该奇偶校验电路的存储器装置 | |
CN106302211A (zh) | 一种网络资源的请求量控制方法和装置 | |
CN115102908B (zh) | 基于带宽控制的网络报文生成的方法以及相关装置 | |
CN105897689B (zh) | 嵌入式系统及其方法 | |
CN109271108A (zh) | 一种存储器控制装置及数据存储设备 | |
US10922247B2 (en) | Interface components |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211214 Address after: 250100 room 2-302-131, building 7, North District, Shandong design creative industrial park, No. 868, Tangye West Road, Jinan area, free trade pilot zone, Jinan, Shandong Province Patentee after: Rongming Microelectronics (Jinan) Co.,Ltd. Address before: 266100 blue Silicon Valley entrepreneurship center, No. 1, Keji Road, Jimo District, Qingdao, Shandong Patentee before: QINGDAO RONGMING SEMICONDUCTOR Co.,Ltd. |
|
TR01 | Transfer of patent right |