一种存储装置的控制方法

文档序号:1504659 发布日期:2020-02-07 浏览:13次 >En<

阅读说明:本技术 一种存储装置的控制方法 (Control method of storage device ) 是由 吴雯雯 于 2018-07-27 设计创作,主要内容包括:本发明公开了一种存储装置的控制方法,所述存储装置设置第一接口和第二接口并在两个接口上通过总线实现级联扩容,其内执行以下步骤:步骤S1:监控并获取总线上的数据信息;步骤S2:判断数据信息是否为本存储装置的存储任务,如果是所述存储装置执行该存储任务,否则将该存储任务通过总线转发。采用本发明的技术方案,通过在存储装置中内置级联控制算法从而能够通过标准接口级联,理论上能够无限扩展存储容量以满足各种应用的需求;同时采用标准接口级联也进一步降低了电路实现的复杂度。(The invention discloses a control method of a storage device, wherein the storage device is provided with a first interface and a second interface, and realizes cascade capacity expansion on the two interfaces through a bus, and the following steps are executed: step S1: monitoring and acquiring data information on a bus; step S2: and judging whether the data information is a storage task of the storage device, if so, executing the storage task by the storage device, and otherwise, forwarding the storage task through a bus. By adopting the technical scheme of the invention, the cascade control algorithm is built in the storage device, so that cascade can be realized through a standard interface, and theoretically, the storage capacity can be infinitely expanded to meet the requirements of various applications; meanwhile, the standard interface cascade is adopted, so that the complexity of circuit implementation is further reduced.)

一种存储装置的控制方法

技术领域

本发明涉及数据安全技术领域,尤其涉及一种存储装置的控制方法。

背景技术

存储装置作为目前常用的数据存储设备,随着大数据时代的来临,对存储容量的需求也越来越高。现有技术中存储设备通常被封装为SSD、MMC卡、SD卡、eMMC芯片、Flash芯片等形态,比如现有技术SSD或MMC/SD卡一般采用控制器+固态存储介质NAND Flash的架构,但由于NAND Flash自身的物理特性,直接架构大容量存储时导致Flash控制器芯片面积增加,大大增加了控制器实现的技术难度和硬件成本。

另一方面随着存储卡技术的不断成熟,SD卡、MMC卡或eMMC芯片等存储卡都已广泛应用于各种存储设备,尤其随着eMMC芯片在手机中的广泛应用,eMMC芯片的价格迅速下降,导致采用存储卡的架构固态硬盘比直接采用NAND Flash在成本上差不多甚至更具优势;基于上述,为了提高单位体积的存储容量,现有技术提出了采用控制器+多块存储卡(芯片)的架构,在实现大容量时,存储卡能够通过多级级联进行扩容,具有电路简单、接口总数少等优点,从而有利于硬盘控制器的集成度和ASIC化。

但是,现有技术存储卡均是作为终端的存储节点,通过设置存储通道实现总线级联时,这一定程度上增加了电路结构复杂度。

故,针对现有技术的缺陷,实有必要提出一种技术方案以解决现有技术存在的技术问题。

发明内容

有鉴于此,确有必要提供一种存储装置的控制方法,内置级联控制算法能够通过标准接口级联多个存储装置,理论上能够无限扩展存储容量以满足各种应用的需求;同时采用标准接口级联也进一步降低了电路实现的复杂度。

为了克服现有技术的缺陷,本发明的技术方案如下:

一种存储装置的控制方法,所述存储装置设置第一接口和第二接口并在两个接口上通过总线实现级联扩容,其内执行以下步骤:

步骤S1:监控并获取总线上的数据信息;

步骤S2:判断数据信息是否为本存储装置的存储任务,如果是所述存储装置执行该存储任务,否则将该存储任务通过总线转发。

作为优选的技术方案,在所述步骤S2中,通过总线发送数据时,所述存储装置主动发送指令抢占总线控制权并通过指令实现片选。

作为优选的技术方案,在所述步骤S1中,所述存储装置接收数据信息前,先获取的ID信息判断是否为本存储装置或其级联链路节点的存储任务;如果不是,放弃接收该数据信息。

作为优选的技术方案,总线上传输的信号至少包括命令信息和数据信息,所述命令信息至少包括ID信息;

通过将总线上获取ID信息与本存储装置的ID进行匹配并以此判断是否为本存储装置或其级联链路节点的存储任务,如果获取ID信息属于其级联链路节点,该存储装置接收该数据信息并通过总线转发至其级联节点。

作为优选的技术方案,所述存储任务为数据读写操作或参数配置;

数据写入操作时,所述存储装置将总线获取的数据信息存储于相应的存储单元中;数据读出操作时,所述存储装置读取相应地址的存储单元的数据信息并将该数据信息通过总线回发。

作为优选的技术方案,还包括根据参数配置指令配置该存储装置ID的步骤。

作为优选的技术方案,总线进一步包括时钟总线CLK、命令总线CMD和数据总线DAT。

作为优选的技术方案,通过指令实现片选进一步包括:

存储装置监听总线上的ID信息,当接收到相匹配的ID的指令时,将数据接口状态由高阻抗输入状态转换为传输状态。

作为优选的技术方案,采用总线仲裁机制实现总线控制权争夺并在该存储装置完成数据发送或接收后释放总线。

作为优选的技术方案,存储装置至少包括第一接口、第二接口、存储管理单元以及至少一个存储单元,其中,所述存储单元用于存储数据;所述第一接口用于通过总线接入前级主设备或存储装置,所述第二接口用于通过总线级联后级存储装置,所述存储管理单元与所述第一接口和第二接口相连接,用于执行总线上分配给本存储装置的存储任务或者通过总线发送数据。

作为优选的技术方案,所述第一接口或第二接口采用PCIe、SATA、USB、SAS、IEEE1394、SD、eMMC或SPI接口中的任一种。

作为优选的技术方案,所述存储装置设置多个第二接口。

与现有技术相比较,本发明通过内置级联控制算法实现存储装置能够通过标准接口级联,理论上能够无限扩展存储容量以满足各种应用的需求;同时采用标准接口级联也进一步降低了电路实现的复杂度。

附图说明

图1为本发明存储装置的原理框图。

图2为本发明中另一种实施方式存储装置的原理框图。

图3为本发明又一种实施方式存储装置的示意图。

图4为本发明级联形成存储机构的原理框图。

图5为本发明中固态硬盘的流程框图。

图6为本发明总线连接的示意图。

图7为本发明一种优选实施方式中控制包格式的示意图。

图8为本发明另一种优选实施方式中数据包格式的示意图。

图9为本发明又一种优选实施方式中数据包格式的示意图。

图10为本发明存储装置控制方法的流程框图。

如下具体实施例将结合上述附图进一步说明本发明。

具体实施方式

以下将结合附图对本发明提供的技术方案作进一步说明。

参见图10,所示为本发明一种存储装置的控制方法,在存储装置中设置第一接口和第二接口并在两个接口上通过总线实现级联扩容,其内执行级联控制算法,具体包括以下步骤:

步骤S1:监控并获取总线上的数据信息;

步骤S2:判断数据信息是否为本存储装置的存储任务,如果是所述存储装置执行该存储任务,否则将该存储任务通过总线转发。

作为优选的技术方案,在所述步骤S2中,通过总线发送数据时,所述存储装置主动发送指令抢占总线控制权并通过指令实现片选。

作为优选的技术方案,在所述步骤S1中,所述存储装置接收数据信息前,先获取的ID信息判断是否为本存储装置或其级联链路节点的存储任务;如果不是,放弃接收该数据信息。

采用上述技术方案,由于设置第一接口和第二接口,同时在存储装置中设置级联控制算法,能够通过标准接口级联,从而方便的实现存储扩容,理论上能够无限扩展存储容量以满足各种应用的需求;同时采用标准接口级联也进一步降低了电路实现的复杂度。

作为优选的技术方案,总线上传输的信号至少包括命令信息和数据信息,所述命令信息至少包括ID信息;

通过将总线上获取ID信息与本存储装置的ID进行匹配并以此判断是否为本存储装置或其级联链路节点的存储任务,如果获取ID信息属于其级联链路节点,该存储装置接收该数据信息并通过总线转发至其级联节点。

作为优选的技术方案,所述存储任务为数据读写操作或参数配置;

数据写入操作时,所述存储装置将总线获取的数据信息存储于相应的存储单元中;数据读出操作时,所述存储装置读取相应地址的存储单元的数据信息并将该数据信息通过总线回发。

作为优选的技术方案,还包括根据参数配置指令配置该存储装置ID的步骤。

参见图1,所示为本发明中存储装置的原理框图,至少包括第一接口、第二接口、存储管理单元以及至少一个存储单元,其中,所述存储单元用于存储数据;所述第一接口用于通过总线接入前级主设备或存储装置,所述第二接口用于通过总线级联后级存储装置,所述存储管理单元与所述第一接口和第二接口相连接,用于执行总线上分配给本存储装置的存储任务或者通过总线发送数据。其中,第一接口或第二接口采用PCIe、SATA、USB、SAS、IEEE1394、SD、eMMC或SPI接口中的任一种;存储任务包括读写数据、配置信息等,配置信息用于配置存储装置的状态,比如装置ID及其他一些配置参数。存储单元采用eMMC芯片或Flash芯片。

采用上述技术方案,由于设置第一接口和第二接口,存储装置能够通过标准接口级联,从而方便的实现存储扩容,理论上能够无限扩展存储容量以满足各种应用的需求;同时采用标准接口级联也进一步降低了电路实现的复杂度。

在一种优选实施方式中,存储装置获取前级总线的数据信息之后,先判断是不是本存储装置的存储任务,如果是,便执行该存储任务,否则将数据信息以广播的形式发送到后级总线,该存储装置级联的所有节点均可以获取总线上的数据信息。

在一种优选实施方式中,接收总线数据时,存储装置监听总线信号并判断是否为本存储装置或其级联链路节点的存储任务。级联架构中的每个存储装置均具有唯一标识ID,并在存储装置中管理其级联节点的ID映射表。优选的,按照级联深度配置ID,从而无需设置ID映射表;以8位ID为例,如果父节点ID号为01000000,则其子节点编号为01010000、01020000、01030000等依次编码;则01010000节点的子节点为01010100、01010200、01010300等,从而任一节点(父节点)通过ID识别就能确定目标ID是否为是否为本存储装置以及其级联链路节点。存储装置只接收ID相符的数据信息,从而降低了存储装置的数据处理量。

通常总线包括时钟总线CLK、命令总线CMD和数据总线DAT,时钟总线CLK用于同步,命令总线CMD用于传输命令信息,数据总线DAT用于传输数据信息;在本发明中,命令信息至少包括ID信息;每个存储装置监听其前级总线,在一种优选实施方式中,只有与命令信息中ID信息相匹配的存储装置才能进行数据接收。其实现原理如下:没有传输时,其接口状态为高阻抗输入状态,此时所有存储装置都监听命令总线的信息,当接收到相匹配的ID的命令时,该存储装置的数据接口状态由高阻抗输入状态转换为传输状态,在传输状态下,存储装置可以通过总线实现数据发送和接收;而其他存储装置因为所接收的ID不符合仍保持高阻抗输入状态,由于其接口状态为高阻抗输入状态,不影响选中的存储装置在总线上的数据传输。采用上述技术方案,方便的实现了级联节点的片选及其数据传输。

参见图2,所示为本发明存储装置另一种优选实施方式的原理框图,存储管理单元中设置第一判断单元和第二判断单元,第一判断单元用于将前级总线上获取ID信息与本存储装置的ID相匹配并以此判断是否为本存储装置的存储任务,且在ID不匹配的情况下存储管理单元不接收该数据信息或者将接收的数据信息通过第二接口发送到后级总线上。

第二判断单元用于将后级总线上获取ID信息与本存储装置的ID相匹配并以此判断是否为本存储装置的存储任务,且在ID不匹配的情况下所述存储管理单元不接收该数据信息或者将接收的数据信息通过第一接口发送到前级总线上。采用上述技术方案,由于设置第一判断单元和第二判断单元,能够实现快速ID匹配,同时前级总线和后级总线同时处理,从而提高传输效率。

进一步的,在ID不匹配的情况下,第一判断单元或第二判断单元还用于判断总线上接收的ID信息是否为本存储装置的级联链路上的节点,如果是,则接收该数据信息并通过总线发送到其级联节点;如果不是,则不接收该数据信息,从而进一步降低存储装置的数据处理量。

另外,存储管理单元包括数据缓存器和控制器,数据缓存器与第一接口、第二接口和控制器相连接,用于缓存所述第一接口或第二接口从总线上接收的数据;进一步的,数据缓存器中分别为第一接口和第二接口开辟缓存区,满足两级总线同时传输数据的需求,提高数据处理数据;控制器用于执行本存储装置的存储任务,同时也执行数据的转发和回传。当命令信息为写指令时,控制器将总线获取的数据信息存储于相应的存储单元中;当命令信息为读指令时,控制器读取相应地址的存储单元的数据信息并将该数据信息通过总线回发。

存储管理单元还设置第一总线监听单元、第二总线监听单元、第一总线收发单元和第二总线收发单元,第一总线监听单元和第二总线监听单元用于监听前级总线的状态,主要包括总线空闲、总线忙、总线占用等状态;第一总线收发单元和第二总线收发单元用于实现总线的数据收发,从而提高数据传输速度和效率。通过上述技术方案,能够同时实现前级总线和后级总线上的数据收发,从而极大提高了传输效率。

在一种优选实施方式中,存储装置通过后级总线向其后节点发送数据时,先将待发送数据存储至第二总线收发单元,当第二总线监听单元监控到后级总线处于空闲状态,发送控制指令占用总线,通过命令总线实现ID片选和具体命令(通常包括读或写及其具体的读写模式)选择,再通过数据总线实现数据传输。

在一种优选实施方式中,存储装置通过前级总线向前级节点回传数据时,先将待发送数据存储至第一总线收发单元,当第一总线监听单元监控总线状态,等待前级节点发送控制指令占用总线,获取命令总线的ID和具体命令(通常包括读或写及其具体的读写模式),ID相符时才通过数据总线实现数据传输。

参见图3,所示为本发明存储装置另一种优选实施方式的原理框图,通过设置多个第二接口,从而能够实现并行多路级联。

参见图4,所示为采用本发明存储装置级联实现的存储机构,该架构下,能够通过存储装置级联实现扩容,从而非常方便的实现大容量存储,并在理论上可以实现无限扩容。在一种优选实施方式中,存储机构采用树形拓扑级联扩展。

现有技术中,SSD控制器具有多路并行存储通道以提高并行存储速度,通常每个通道连接flash或者eMMC芯片,为实现存储扩容,需要在SSD控制器存储通道上架构通道控制器以通过总线实现二级扩容,很显然,这将会增加电路复杂度。采用本发明存储装置或存储机构,能够非常方便的实现固态硬盘SSD,参见图5,所示为采用本发明技术方案实现固态硬盘的原理框图,包括硬盘接口、SSD控制器以及与SSD控制器相连接的多路存储机构,在SSD控制器的通道控制器上直接连接多路存储机构,每个存储机构通过存储装置级联实现存储扩容,从而在理论上能够实现无限扩容。

在上述技术方案中,在SSD控制器中维护每个存储装置的逻辑地址映射表及其对应的ID,每个存储装置维护其各自逻辑地址到物理地址的映射表。在初始化时,SSD控制器生成每个存储装置的ID及其逻辑地址。

在一种优选的实施方式中,SSD控制器定时监控各存储装置的并更新映射表,通过维护映射表并采用均衡算法来保证每个存储装置的信息处理频率基本持平。从而避免某个存储装置的存储单元由于频繁存储而损坏。

本发明的技术方案,能够集成封装为芯片,从而实现板级高密度存储扩容;同时,采用该技术方案,通过预留接口,能够方便的实现后期存储扩容。

上述技术方案中,采用现有技术的通用的接口和主从数据传输协议能够实现级联存储机构下的读写操作。现有技术的主从协议,数据读写均是由前级主机发起的,在多级架构下,写数据模式和现有技术几乎一样,前级主设备写入一次即可,跨级传输时,数据暂由其父级节点代收并转发至级联节点直至目标节点,几乎不会过多的占用SSD控制器资源;但是,在多级架构下,读数据时或者消息回传时,采用主从协议,前级主机需要占用总线状态下等待数据逐级返回,很显然,这将极大影响存储效率。

在一种优选实施方式中,前级主机发送命令消息后释放总线,并定时检测下级节点是否做好数据反馈的准备,下级节点数据准备就绪后,再开启数据传输。从而降低对主机资源的占用,并提高存储效率。

在一种优选实施方式中,存储装置向前级总线发送数据时,存储装置发送指令主动抢占总线控制权并通过指令实现片选后再通过总线发送数据。也即,采用该技术方案,后级节点也能主动发起数据传输;从而将只能主机占用总线发起数据传输的模式改为各个节点抢占总线控制权,获得总线控制权的节点能够主动启动数据传输。具体实现原理为:当总线处于空闲状态下,数据收发两方的接口均处于高阻抗状态(或其他初始状态),当某一节点需要传输数据时,在总线发送指令抢占总线控制权,也即率先发起改变总线状态的一方将获得总线控制权,其他各总线节点监听到总线占用状态将不再发起总线占用指令并启动数据监听模式,具体数据传输的原理与上述相同;直至下一总线空闲状态出现,各个节点再发起重新抢占总线控制权的争夺。优选的,对于总线控制权的抢占采用总线仲裁机制,从而有效避免了数据冲突。

在一种优选实施方式中,存储装置通过抢占命令总线获取总线控制权。总线空闲状态时,命令线接口处于高阻态状态,率先改变命令线接口状态的存储装置获得总线控制权。存储装置通过设置总线监听单元实时监控总线状态,当监控到命令线状态变化即表明总线控制权已被抢占,将不再发起总线抢占并进入数据监听模式,从而有效避免总线控制权冲突。采用该方式,前级主机发送对某个节点的读数据指令之后,释放总线,该读指令将会逐级传送直至目标节点,目标节点接收该读指令后,读取存储于该节点的数据信息,并通过主动抢占总线逐级回传。

虽然总线监听单元能够实时响应并具有很高的时间区分度,但依然无法排除两个或多个节点同时发起抢占总线的情况,一旦总线冲突将会导致总线数据混乱,因此需要杜绝此类情况发生。本发明中采用逐位线与仲裁法,为每个存储装置分配不同的优先权,从而确保只有一个节点能抢占到总线控制权。

在一种优选实施方式,本发明提出另一种总线仲裁机制。参见图6,所示为总线连接示意图,参见图7,所示为命令线的控制包传输的约定格式的示意图,在控制包中还设置确认段,确认段用于确定总线抢占;任何存储装置向命令线发起起始段便开启抢占总线,当某个节点抢占总线后,未抢占成功的节点在确认段写确定的0或1,而抢占成功的节点在确定段上随机写入0或1,如果命令线状态变化跟随该节点随机写入状态变化,说明总线抢占成功,否则总线抢占失败,需要重新发起总线抢占。比如,其他未抢占成功的节点均写入1,当只有一个节点抢占成功时,该节点写入0,则总线的状态为0;该节点写入1,则总线的状态为1;在多次随机写入后均保持该状态,则总线抢占成功。在当有多个节点同时发起总线抢占时,由于存在至少2个节点随机写入,将导致确认线的状态混乱,从而判定总线抢占失败,需要重新发起总线抢占;由此,每个节点均具有相同的优先权。采用上述技术方案,在不改变现有接口线制的情况下,实现了抢占总线控制权并优化总线仲裁机制。

现有技术中,命令段通常通过命令线传输,节点获取命令类型后,数据线开启相应的数据传输模式。本发明中,存储装置能够主动发起抢占总线控制权以向前级节点主动传输,为了提高数据传输效率,在一种优选实施方式中,将命令段放在数据包中传输,参见图8,所示为数据线数据包传输格式的示意图,在数据包头中设置命令段。采用上述技术方案,将命令段(控制指令)设置在数据包中,命令线能够专注于总线抢占和ID识别,存储装置通过ID判断是否接收或转发数据包,通过ID实现数据直送,前级节点省去每一次遍历各个节点的时间,提高了数据传输的效率;同时只有目标节点获取数据包后再解压获取命令信息进行相应操作,其余链路节点能够专注于数据转发,无需对命令和数据包进行解析,从而极大降低了处理负荷。

在一种优选实施方式中,参见图9,将ID段也设置在数据包中,命令线只专注于总线抢占,前级节点群发数据包,后级节点获取数据包后先解析ID段,由此判断执行、转发或丢弃该数据包,从而提高数据传输效率。

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种存储装置及其机构

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!