传输数据的方法及存储装置
1.本技术要求于2021年04月23日提交的申请号为202110443617.0、发明名称为“一种存储器的操作方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及数据处理技术领域,特别涉及传输数据的方法及存储装置。
背景技术:3.在存储装置中,包括控制器和存储介质,存储介质包括介质颗粒(die)。其中,完成准备的介质颗粒能够与控制器进行数据传输。
4.相关技术中,控制器首先向介质颗粒发送命令,介质颗粒根据接收到的命令进行准备。之后,控制器轮询检查介质颗粒,在确认介质颗粒完成准备之后,再与完成准备的介质颗粒进行数据传输。
5.然而,控制器轮询检查介质颗粒这一过程不仅会占用处理资源,而且会增加数据传输过程的时延,从而降低了数据传输效率。
技术实现要素:6.本技术提供了一种传输数据的方法及存储装置,以解决相关技术存在的问题,技术方案如下:
7.第一方面,提供了一种传输数据的方法,该方法应用于存储装置。在存储装置中,包括控制器和存储介质,存储介质包括第一介质颗粒。其中,方法包括:第一介质颗粒首先接收控制器发送的第一指令,该第一指令用于指示第一介质颗粒传输第一数据。接着,第一介质颗粒基于第一指令进行准备。在完成准备之后,第一介质颗粒向控制器传输第二数据,该第二数据包括第一介质颗粒的标识以及第一数据。
8.其中,控制器向第一介质颗粒发送第一指令之后,无需轮询检查第一介质颗粒。第一介质颗粒在基于第一指令完成准备之后,向控制器传输第二数据,该第二数据中包括第一介质颗粒的标识和第一数据。控制器根据第二数据中包括的第一介质颗粒的标识,便能够识别第一数据是由第一介质颗粒进行传输的,从而实现了控制器与第一介质颗粒之间的数据传输。该方法不仅节约了处理资源,而且降低了数据传输时延,提高了数据传输效率。
9.在一种可能的实现方式中,存储介质还包括至少一个第二介质颗粒,向控制器传输第二数据之前,方法还包括:第一介质颗粒响应于确定第二介质颗粒当前未进行数据传输,执行向控制器传输第二数据。
10.存储介质共包括多个介质颗粒时,第一介质颗粒需要在第二介质颗粒当前未进行传输的情况下,再进行第二数据的传输,从而避免不同介质颗粒同时进行数据传输而导致数据传输失败的情况发生,提高了数据传输的成功率。
11.在一种可能的实现方式中,执行向控制器传输第二数据之前,方法还包括:第一介
质颗粒向第三介质颗粒请求授权,第三介质颗粒为至少一个第二介质颗粒中的至少一个。第一介质颗粒响应于得到第三介质颗粒的授权,确定第二介质颗粒当前未进行数据传输。
12.第一介质颗粒在得到第三介质颗粒的授权的情况下,确定第二介质颗粒当前未进行数据传输,该确定方式简单灵活。
13.在一种可能的实现方式中,第一介质颗粒向第三介质颗粒请求授权,包括:第一介质颗粒将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第一电平置为第二电平。确定第二介质颗粒当前未进行数据传输之前,方法还包括:第一介质颗粒响应于检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第三电平被置为第四电平,确定得到第三介质颗粒的授权。
14.其中,第一信号线的电平为第一电平时,说明第一介质颗粒当前未进行数据传输,未向第三介质颗粒请求授权。第一信号线的电平为第二电平时,说明第一介质颗粒当前需要进行数据传输,已向第三介质颗粒请求授权。因此,第一介质颗粒通过将第一信号线的电平由第一电平置为第二电平,能够向第三介质颗粒请求授权。相应地,第二信号线的电平为第三电平时,说明第三介质颗粒未向第一介质颗粒授权,第二信号线的电平为第四电平时,说明第三介质颗粒已向第一介质颗粒授权。因此,第三介质颗粒通过将第二信号线的电平由第三电平置为第四电平,能够向第三介质颗粒进行授权。该授权方式较为灵活。
15.在一种可能的实现方式中,第一介质颗粒和第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线,第三介质颗粒为有序队列中位于第一介质颗粒之后的首个介质颗粒。
16.其中,各个介质颗粒有序的串行连接。第一介质颗粒向有序队列中位于该第一介质颗粒之后的第三介质颗粒请求授权,在得到第三介质颗粒的授权之后,便能够进行数据传输。能够理解的是,有序队列中的各个介质颗粒的优先级依次升高,对于有序队列中的最后一个介质颗粒,则不需要进行请求授权。
17.在一种可能的实现方式中,第一介质颗粒和第二介质颗粒中的任意两个介质颗粒之间包括第一信号线和第二信号线,第三介质颗粒为第二介质颗粒中的各个介质颗粒。第一介质颗粒向各个第二介质颗粒均请求授权,在得到各个第二介质颗粒的授权之后,则确认已获得授权,能够进行数据传输。
18.在一种可能的实现方式中,向控制器传输第二数据之后,方法还包括:第一介质颗粒向第三介质颗粒请求取消授权。在第一介质颗粒完成数据传输之后,还向第三介质颗粒请求取消授权,从而存储介质中的各个介质颗粒后续能够进行数据传输。
19.在一种可能的实现方式中,第一介质颗粒向第三介质颗粒请求取消授权,包括:第一介质颗粒将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第二电平置为第一电平。第一介质颗粒向第三介质颗粒请求取消授权之后,方法还包括:第一介质颗粒检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第四电平被置为第三电平。
20.第一介质颗粒通过调整第一信号线的电平请求取消授权,第三介质颗粒通过调整第二信号线的电平进行取消授权,该方式较为灵活。
21.在一种可能的实现方式中,第一介质颗粒向第三介质颗粒请求取消授权之前,方法还包括:响应于在完成第二数据的传输之前,第一介质颗粒未检测到第四介质颗粒请求授权,再执行向第三介质颗粒请求取消授权,第四介质颗粒为有序队列中位于第一介质颗
粒之前的首个介质颗粒。
22.在存储介质中有两个以上的介质颗粒需要进行数据传输时,第一介质颗粒在完成数据传输之前,还可能检测到第四介质颗粒请求授权。第一介质颗粒需要在确认未检测到第四介质颗粒请求授权的情况下,再向第三介质颗粒请求取消授权。由此,能够避免后续第四介质颗粒重复向第一介质颗粒请求授权,从而避免造成处理资源的浪费。
23.在一种可能的实现方式中,方法还包括:响应于在完成第二数据的传输之前,第一介质颗粒已检测到第四介质颗粒请求授权,则在完成第二数据的传输之后,向第四介质颗粒授权。
24.如果第一介质颗粒在完成第二数据的传输之前,已经检测到第四介质颗粒请求授权,则第一介质颗粒在完成第二数据的传输之后直接向第四介质颗粒授权。在这一过程中,第三介质颗粒的状态不会发生改变,第三介质颗粒持续向第一介质颗粒授权。
25.在一种可能的实现方式中,向控制器传输第二数据之后,存储介质还包括至少一个第二介质颗粒,方法还包括:第一介质颗粒响应于检测到第四介质颗粒请求授权,且第一介质颗粒当前未进行数据传输,则向第四介质颗粒授权,第四介质颗粒为第二介质颗粒中的一个。
26.除了在完成第二数据的传输之前检测到第四介质颗粒请求授权之外,第一介质颗粒在完成第二数据的传输之后也可能检测到第四介质颗粒请求授权。第一介质颗粒需要向第四介质颗粒进行授权,以使得第四介质颗粒能够进行数据传输。
27.在一种可能的实现方式中,向第四介质颗粒授权之前,方法还包括:第一介质颗粒响应于检测到第一介质颗粒与第四介质颗粒之间的第一信号线的电平由第五电平被置为第六电平,确定检测到第四介质颗粒请求授权。向第四介质颗粒授权,包括:第一介质颗粒将第一介质颗粒与第四介质颗粒之间的第二信号线的电平由第七电平置为第八电平。
28.第四介质颗粒通过调整第一信号线的电平的方式请求授权,第一介质颗粒通过修改第一信号线的电平的方式进行授权,该方式较为灵活。
29.在一种可能的实现方式中,第一介质颗粒和第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线,第四介质颗粒为有序队列中位于第一介质颗粒之前的首个介质颗粒。
30.各个介质颗粒有序的串行连接的情况下,第四介质颗粒为第一介质颗粒之前的首个介质颗粒。在第一介质颗粒为有序队列中的最后一个介质颗粒的情况下,第一介质颗粒能够直接对第四介质颗粒进行授权。
31.在一种可能的实现方式中,向第四介质颗粒授权之前,方法还包括:第一介质颗粒响应于得到第五介质颗粒的授权,执行向第四介质颗粒授权,第五介质颗粒为有序队列中位于第一介质颗粒之后的首个介质颗粒。
32.各个介质颗粒有序的串行连接的情况下,如果第一介质颗粒不为有序队列中的最后一个介质颗粒,则第一介质颗粒还需要向第三介质颗粒请求授权,在得到第三介质颗粒的授权之后,再向第四介质颗粒授权。由此,第四介质颗粒在得到第三介质颗粒的授权之后,便能够确定第四介质颗粒之后的介质颗粒均进行了授权,从而能够确定第四介质颗粒之后的介质颗粒当前均未进行数据传输。
33.例如,存储介质中包括介质颗粒0-3,共四个介质颗粒。介质颗粒0向介质颗粒1请
求授权,则介质颗粒1向介质颗粒2请求授权,介质颗粒2向介质颗粒3请求授权。介质颗粒3在当前未进行数据传输的情况下,向介质颗粒2授权,介质颗粒2向介质颗粒1授权。介质颗粒1在得到授权之后,再向介质颗粒0授权。
34.在一种可能的实现方式中,第一介质颗粒和第二介质颗粒中的任意两个介质颗粒之间包括第一信号线和第二信号线,第四介质颗粒包括第二介质颗粒中的任一介质颗粒。在任意两个介质颗粒之间包括第一信号线和第二信号线的情况下,向第一介质颗粒请求授权的可能是第二介质颗粒中的任一个介质颗粒。
35.在一种可能的实现方式中,控制器与第一介质颗粒之间包括第一总线和第二总线,第一总线的传输方向为由控制器至第一介质颗粒,第二总线的传输方向为由第一介质颗粒至控制器,第一介质颗粒接收控制器发送的第一指令,包括:第一介质颗粒通过第一总线接收控制器发送的第一指令。向控制器传输第二数据,包括:通过第二总线向控制器传输第二数据。
36.相关技术中控制器与介质颗粒之间的总线为读写合并的双向总线。也就是说,该双向总线的传输方向既可以是由控制器至介质颗粒,也可以是由介质颗粒至控制器,在实际应用过程中的传输方向需要由控制器进行控制。由于本技术中完成准备的第一介质颗粒向控制器传输数据的过程不由控制器进行控制,因而相关技术中的双向总线不适用于本技术。基于此,本技术采用了读写分离的第一总线和第二总线。
37.在一种可能的实现方式中,第一数据的长度大于长度阈值,向控制器传输第二数据,包括:将第一数据划分为多个第一子数据,各个第一子数据的长度均不大于长度阈值。向控制器依次传输第一介质颗粒的标识和各个第一子数据。其中,长度阈值是控制器与第一介质颗粒协商得到的,该长度阈值是指第一介质颗粒在一个时钟周期内能够向控制器传输的最大数据长度。
38.在一种可能的实现方式中,第一数据的长度大于长度阈值,向控制器传输第二数据,包括:将第一数据划分为多个第二子数据,各个第二子数据的长度均不大于长度阈值。向控制器交替传输第一介质颗粒的标识和各个第二子数据。
39.在一种可能的实现方式中,存储介质还包括状态机,状态机用于记录第一介质颗粒的状态,第一介质颗粒的状态包括空闲状态、已准备状态、数据传输状态和其他介质颗粒数据传输状态。其中,已准备状态和数据传输状态也称为内部准备(ready)状态,其他介质颗粒数据传输状态也称为外部ready状态。通过状态机记录第一介质颗粒在各个时钟周期内的状态,有利于保证数据传输过程的正常进行。
40.在一种可能的实现方式中,在第一介质颗粒基于第一指令进行准备之前,和第一介质颗粒完成第二数据的传输之后,第一介质颗粒的状态为空闲状态。在第一介质颗粒完成准备之后,第一介质颗粒的状态为已准备状态。在第一介质颗粒向控制器传输第二数据时,第一介质颗粒的状态为数据传输状态。在第一介质颗粒进行授权之后,第一介质颗粒的状态为其他介质颗粒数据传输状态。
41.第二方面,提供了一种存储装置,存储装置包括控制器和存储介质,存储介质包括第一介质颗粒。其中,第一介质颗粒用于接收控制器发送的第一指令,第一指令用于指示第一介质颗粒传输第一数据。第一介质颗粒还用于基于第一指令进行准备,在完成准备之后,向控制器传输第二数据,第二数据包括第一介质颗粒的标识以及第一数据。
42.在一种可能的实现方式中,存储介质还包括至少一个第二介质颗粒,第一介质颗粒还用于响应于确定第二介质颗粒当前未进行数据传输,执行向控制器传输第二数据。
43.在一种可能的实现方式中,第一介质颗粒还用于向第三介质颗粒请求授权,第三介质颗粒为至少一个第二介质颗粒中的至少一个;响应于得到第三介质颗粒的授权,确定第二介质颗粒当前未进行数据传输。
44.在一种可能的实现方式中,第一介质颗粒用于将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第一电平置为第二电平;
45.第一介质颗粒还用于响应于检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第三电平被置为第四电平,确定得到第三介质颗粒的授权。
46.在一种可能的实现方式中,第一介质颗粒和第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线,第三介质颗粒为有序队列中位于第一介质颗粒之后的首个介质颗粒。
47.在一种可能的实现方式中,第一介质颗粒还用于向第三介质颗粒请求取消授权。
48.在一种可能的实现方式中,第一介质颗粒用于将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第二电平置为第一电平;
49.第一介质颗粒还用于检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第四电平被置为第三电平。
50.在一种可能的实现方式中,第一介质颗粒还用于响应于在完成第二数据的传输之前,未检测到第四介质颗粒请求授权,再执行向第三介质颗粒请求取消授权,第四介质颗粒为有序队列中位于第一介质颗粒之前的首个介质颗粒。
51.在一种可能的实现方式中,第一介质颗粒还用于响应于在完成第二数据的传输之前,第一介质颗粒已检测到第四介质颗粒请求授权,则在完成第二数据的传输之后,向第四介质颗粒授权。
52.在一种可能的实现方式中,第一介质颗粒还用于响应于检测到第四介质颗粒请求授权,且第一介质颗粒当前未进行数据传输,则向第四介质颗粒授权,第四介质颗粒为第二介质颗粒中的一个。
53.在一种可能的实现方式中,第一介质颗粒还用于响应于检测到第一介质颗粒与第四介质颗粒之间的第一信号线的电平由第五电平被置为第六电平,确定检测到第四介质颗粒请求授权;
54.第一介质颗粒用于将第一介质颗粒与第四介质颗粒之间的第二信号线的电平由第七电平置为第八电平。
55.在一种可能的实现方式中,第一介质颗粒和第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线,第四介质颗粒为有序队列中位于第一介质颗粒之前的首个介质颗粒。
56.在一种可能的实现方式中,第一介质颗粒还用于响应于得到第五介质颗粒的授权,执行向第四介质颗粒授权,第五介质颗粒为有序队列中位于第一介质颗粒之后的首个介质颗粒。
57.在一种可能的实现方式中,控制器与第一介质颗粒之间包括第一总线和第二总线,第一总线的传输方向为由控制器至第一介质颗粒,第二总线的传输方向为由第一介质
颗粒至控制器,第一介质颗粒用于通过第一总线接收控制器发送的第一指令;
58.第一介质颗粒用于通过第二总线向控制器传输第二数据。
59.在一种可能的实现方式中,第一数据的长度大于长度阈值,第一介质颗粒用于将第一数据划分为多个第一子数据,各个第一子数据的长度均不大于长度阈值;向控制器依次传输第一介质颗粒的标识和各个第一子数据。
60.在一种可能的实现方式中,第一数据的长度大于长度阈值,第一介质颗粒用于将第一数据划分为多个第二子数据,各个第二子数据的长度均不大于长度阈值;向控制器交替传输第一介质颗粒的标识和各个第二子数据。
61.在一种可能的实现方式中,存储介质还包括状态机,状态机用于记录第一介质颗粒的状态,第一介质颗粒的状态包括空闲状态、已准备状态、数据传输状态和其他介质颗粒数据传输状态。
62.在一种可能的实现方式中,在第一介质颗粒基于第一指令进行准备之前,和第一介质颗粒完成第二数据的传输之后,第一介质颗粒的状态为空闲状态;
63.在第一介质颗粒完成准备之后,第一介质颗粒的状态为已准备状态;
64.在第一介质颗粒向控制器传输第二数据时,第一介质颗粒的状态为数据传输状态;
65.在第一介质颗粒进行授权之后,第一介质颗粒的状态为其他介质颗粒数据传输状态。
66.第三方面,提供了一种存储装置,存储装置包括控制器和存储介质,存储介质包括第一介质颗粒,控制器和第一介质颗粒之间包括第一总线和第二总线,第一总线的传输方向为由控制器至第一介质颗粒,第二总线的传输方向为由第一介质颗粒至控制器。
67.在一种可能的实现方式中,存储介质还包括至少一个第二介质颗粒,第一介质颗粒和第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线,第一信号线用于请求授权或者请求取消授权,第二信号线用于授权或者取消授权。
68.在一种可能的实现方式中,第一介质颗粒和至少一个第二介质颗粒位于至少一个封装中。
69.第四方面,提供了一种传输数据的方法,方法应用于存储装置,存储装置包括控制器和存储介质,存储介质包括多个介质颗粒,方法包括:
70.低优先级的介质颗粒在空闲状态下接收控制器发送的第一指令,第一指令用于指示低优先级的介质颗粒传输第一数据;
71.低优先级的介质颗粒向高优先级的介质颗粒请求授权;
72.低优先级的介质颗粒响应于得到高优先级的介质颗粒的授权之后,向控制器传输第二数据,第二数据包括低优先级的介质颗粒的标识以及第一数据。
73.在一种可能的实现方式中,方法还包括:
74.最高优先级的介质颗粒在空闲状态下接收控制器发送的第二指令,第二指令用于指示最高优先级的介质颗粒传输第三数据;
75.最高优先级的介质颗粒向控制器传输第四数据,第四数据包括最高优先级的介质颗粒的标识和第三数据。
76.第五方面,提供了一种存储装置,存储装置包括控制器和存储介质,存储介质包括多个介质颗粒,多个介质颗粒中的低优先级的介质颗粒用于空闲状态下接收控制器发送的第一指令,第一指令用于指示低优先级的介质颗粒传输第一数据;低优先级的介质颗粒还用于向高优先级的介质颗粒请求授权;低优先级的介质颗粒还用于响应于得到高优先级的介质颗粒的授权之后,向控制器传输第二数据,第二数据包括低优先级的介质颗粒的标识以及第一数据。
77.在一种可能的实现方式中,多个介质颗粒中的最高优先级的介质颗粒用于在空闲状态下接收控制器发送的第二指令,第二指令用于指示最高优先级的介质颗粒传输第三数据;最高优先级的介质颗粒还用于向控制器传输第四数据,第四数据包括最高优先级的介质颗粒的标识和第三数据。
附图说明
78.图1为本技术实施例提供的一种存储装置的结构示意图;
79.图2为本技术实施例提供的一种存储装置的结构示意图;
80.图3为本技术实施例提供的一种存储装置的结构示意图;
81.图4为本技术实施例提供的一种存储装置的结构示意图;
82.图5为本技术实施例提供的一种传输数据的方法的流程图;
83.图6为本技术实施例提供的一种传输数据的格式示意图;
84.图7为本技术实施例提供的一种传输数据的格式示意图;
85.图8为本技术实施例提供的一种传输数据的流程示意图;
86.图9为本技术实施例提供的一种传输数据的流程示意图;
87.图10为本技术实施例提供的一种传输数据的流程示意图;
88.图11为本技术实施例提供的一种传输数据的流程示意图;
89.图12为本技术实施例提供的一种传输数据的流程示意图;
90.图13为本技术实施例提供的一种传输数据的流程示意图;
91.图14为本技术实施例提供的一种传输数据的流程示意图。
具体实施方式
92.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
93.在存储装置中,包括控制器和存储介质,存储介质包括介质颗粒(die)。其中,完成准备的介质颗粒能够与控制器进行数据传输。
94.相关技术一中,控制器首先向介质颗粒发送第一个指令,介质颗粒根据第一个指令进行准备。在固定的一段时间之后,控制器向介质颗粒发送第二个指令,介质颗粒根据第二个指令进行数据传输。但是,随着介质颗粒的使用时间的增加,介质颗粒进行准备所需要的时间也逐渐增加。在控制器向介质颗粒发送第二个指令时,介质颗粒可能仍处于准备状态中,也即是介质颗粒还未完成准备,从而导致数据传输失败。
95.相关技术二中,控制器向介质颗粒发送指令,并规划介质颗粒的数据传输时序,使得介质颗粒与时间段对应。介质颗粒根据该指令进行准备,在完成准备之后,在介质颗粒自
身对应的时间段内向控制器传输数据。不过,由于控制器需要进行数据传输时序的规划,因而浪费了处理资源。并且,介质颗粒仅能在自身对应的时间段内向控制器传输数据,不够灵活。
96.相关技术三中,控制器向介质颗粒发送第一个指令,介质颗粒根据第一个指令进行准备,之后,控制器轮询检查介质颗粒是否已完成准备,在确认介质颗粒完成准备之后,再向介质颗粒发送第二个指令,介质颗粒根据第二个指令进行数据传输。然而,控制器轮询检查的过程不仅会占用处理资源,而且会增加数据传输过程的时延,从而降低了数据传输效率。
97.本技术实施例提供了一种存储装置,参见图1,该存储装置包括:控制器和存储介质,存储介质包括第一介质颗粒。控制器和第一介质颗粒之间包括第一总线和第二总线,第一总线的传输方向为由控制器至第一介质颗粒,第二总线的传输方向为由第一介质颗粒至控制器。
98.其中,第一总线也称为写(write)总线,第一总线包括第一子总线dq_w和第二子总线dqs_w。第一子总线dq_w用于控制器向第一介质颗粒传输数据,第二子总线dqs_w用于控制器向第一介质颗粒传输时钟信号,以便于控制器和第一介质颗粒进行时钟信号的对齐。第二总线也称为读(read)总线,第二总线包括第三子总线dq_r和第四子总线dqs_r。第三子总线用于完成准备的第一介质颗粒向控制器传输数据,第四子总线dqs_r用于第一介质颗粒向控制器传输时钟信号,以便于控制器和第一介质颗粒进行时钟信号的对齐。
99.需要说明的是,相关技术中控制器与介质颗粒之间的总线为读写合并的双向总线。也就是说,该双向总线的传输方向既可以是由控制器至介质颗粒,也可以是由介质颗粒至控制器,在实际应用过程中的传输方向需要由控制器进行控制。在本技术实施例中,完成准备的第一介质颗粒向控制器传输数据的过程无需由控制器进行控制,因而相关技术中的双向总线不适用于本技术实施例。基于此,本技术实施例采用了上述读写分离的第一总线和第二总线。
100.示例性地,第一介质颗粒对应有芯片使能(chip enable,ce)管脚以及芯片地址(chip address,ca)管脚。ce管脚用于控制器向第一介质颗粒发送使能信号,该使能信号用于第一介质颗粒进行准备,完成准备之后的第一介质颗粒具备数据传输能力。ca管脚用于控制器向第一介质颗粒发送地址信息和操作类型。地址信息用于指示需要传输的数据,操作类型用于指示第一介质颗粒需要执行的操作,第一介质颗粒需要执行的操作包括但不限于读取、写入、擦除等等。在本技术实施例中,该操作类型用于指示读取,读取也即是第一介质颗粒向控制器传输数据的过程。
101.在示例性实施例中,存储介质还包括至少一个第二介质颗粒。也就是说,存储介质包括的介质颗粒的数量为多个。此种情况下,各个介质颗粒分别对应ce管脚和ca管脚,多个介质颗粒共享上述第一总线和第二总线。示例性地,多个介质颗粒之间的连接方式包括如下的两种情况。
102.情况a1:第一介质颗粒和至少一个第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线。其中,第一信号线用于请求授权或者请求取消授权,第二信号线用于进行授权或者取消授权。
103.在有序队列中,对于除最后一个介质颗粒之外的其他介质颗粒中的一个介质颗粒
而言,该介质颗粒想要进行数据传输,则需要通过第一信号线向有序队列中位于该介质颗粒之后的一个介质颗粒请求授权。响应于该介质颗粒通过第二信号线得到了有序队列中位于该介质颗粒之后的一个介质颗粒的授权,该介质颗粒再进行数据传输。当然,对于最后一个介质颗粒,则无需向其他介质颗粒请求授权,最后一个介质颗粒在需要进行数据传输时进行数据传输即可。能够看出,有序队列中介质颗粒的优先级逐渐增加,最后一个介质颗粒是优先级最高的介质颗粒。在后文方法实施例中,还针对授权进行了更进一步的说明。
104.参见图2,图2示出了形成有序队列的一种示例性情况。在图2中,介质颗粒的总数量为n(n为不小于2的正整数),有序队列依次包括:介质颗粒0,介质颗粒1,
……
,介质颗粒m-1,介质颗粒m,介质颗粒m+1,
……
,介质颗粒n-2,介质颗粒n-1,介质颗粒n-1即为有序队列中的最后一个介质颗粒。rdy表示第一信号线,ack表示第二信号线。各个介质颗粒之间的连接关系如下:
105.介质颗粒0和介质颗粒1之间包括rdy 0和ack 1;
106.介质颗粒m-1和介质颗粒m之间包括rdy m-1和ack m,介质颗粒m和介质颗粒m+1之间包括rdy m和ack m+1,其中,m为大于0且小于n的正整数;
107.介质颗粒n-2和介质颗粒n-1之间包括rdy n-2和ack n-1。
108.需要说明的是,在图2中,各个介质颗粒位于同一个封装(package)中。示例性地,基于上述各个介质颗粒之间的连接关系,各个介质颗粒还能够位于两个以上的不同封装中。例如,参见图3,图3示出了n个介质颗粒分别位于封装1和封装2中的情况。
109.情况a2:第一介质颗粒和至少一个第二介质颗粒中的任意两个介质颗粒之间包括第一信号线和第二信号线。第一信号线和第二信号线的作用参见情况a1中的说明,此处不再进行赘述。对于任一介质颗粒而言,该介质颗粒想要进行数据传输,则需要通过第一信号线向除该介质颗粒之外的其他所有介质颗粒请求授权。响应于该介质颗粒通过第二信号线得到了其他所有介质颗粒的授权,该介质颗粒再进行数据传输。
110.参见图4,图4示出了任意两个介质颗粒之间包括第一信号线和第二信号线的情况。在图4中,介质颗粒的总数量为3,即介质颗粒0、介质颗粒1和介质颗粒2。则,介质颗粒0与介质颗粒1之间包括rdy 01和ack 10,介质颗粒0与介质颗粒2之间包括rdy 02和ack 20,介质颗粒1与介质颗粒2之间包括rdy 12和ack 21。
111.针对于图1所示的存储介质中仅包括第一介质颗粒的实施环境,本技术实施例提供了一种传输数据的方法,该方法应用第一介质颗粒中。参见图5,该方法包括如下的步骤501和502。
112.501,第一介质颗粒接收控制器发送的第一指令,第一指令用于指示第一介质颗粒传输第一数据。
113.其中,第一数据通过第一数据的地址信息进行指示。第一数据的地址信息包括但不限于:第一数据的起始地址和第一数据的数据长度,或者,第一数据的起始地址和第一数据的结束地址,本实施例不对第一数据的地址信息加以限定。
114.示例性地,第一指令中携带有上述第一数据的地址信息和操作类型,操作类型用于指示读取。参见图1,控制器通过控制器与第一介质颗粒之间的第一总线向第一介质颗粒发送第一指令。相应地,第一介质颗粒通过第一总线接收控制器发送的第一指令。或者,示例性地,第一指令包括使能信号、第一数据的地址信息和操作类型。参见图1,控制器通过ce
向第一介质颗粒发送该使能信号。另外,控制器还通过ca向第一介质颗粒发送第一数据的地址信息和操作类型。相应地,第一介质颗粒通过ce接收使能信号,通过ca接收第一数据的地址信息和操作类型。
115.502,第一介质颗粒基于第一指令进行准备,在完成准备之后,向控制器传输第二数据,第二数据包括第一介质颗粒的标识以及第一数据。
116.其中,第一介质颗粒在进行数据传输之前需要进行准备,在完成准备之后才具备数据传输能力。在第一指令中携带第一数据的地址信息和操作类型的情况下,第一介质颗粒在接收到第一指令后,解析第一指令得到第一数据的地址信息和操作类型。根据操作类型所指示的读取,第一介质颗粒确定需要向控制器传输数据,从而进行准备。在第一指令包括使能信号、第一数据的地址信息和操作类型的情况下,第一介质颗粒根据使能信号进行准备。
117.除了进行准备之外,第一介质颗粒还根据第一数据的地址信息确定需要传输的第一数据。从而,在第一介质颗粒完成准备之后,根据操作类型的指示向控制器传输第二数据,该第二数据中包括第一介质颗粒的标识和第一数据。通过向控制器传输第一介质颗粒的标识,使得控制器能够识别该第一数据是由存储介质中的第一介质颗粒传输的。
118.在第一介质颗粒传输第二数据的过程中,第一介质颗粒在第一个时钟周期(cycle)内首先传输第一介质颗粒的标识,再在之后的时钟周期内传输第一数据。其中,时钟周期是第一介质颗粒进行操作的最小时间单位,本实施例不对一个时钟周期的时长加以限定。示例性地,第一介质颗粒向控制器传输第二数据,包括:第一介质颗粒通过控制器与第一介质颗粒之间的第二总线向控制器传输第二数据。
119.示例性地,控制器与第一介质颗粒之间通过协商得到长度阈值,该长度阈值为一个时钟周期内第一介质颗粒能够向控制器传输的最大数据长度,本实施例不对长度阈值加以限定。在第一数据的数据长度不大于长度阈值的情况下,第一介质颗粒在第一个时钟周期内传输第一介质颗粒的标识,在第二个时钟周期内传输第一数据即可。而在第一数据的数据长度大于长度阈值的情况下,第一介质颗粒向控制器传输第二数据,包括如下的两种情况。
120.情况b1:参见图6,将第一数据划分为多个第一子数据,第一子数据的长度均不大于长度阈值。向控制器依次传输第一介质颗粒的标识和各个第一子数据。以长度阈值为64b、第一数据的长度为256b为例,则第一介质颗粒将256b的第一数据划分为四个64b的第一子数据,在第一个时钟周期内传输第一介质颗粒的标识,在接下来的四个时钟周期内依次传输四个64b的第一子数据,从而通过五个时钟周期完成第二数据的传输过程。
121.情况b2:参见图7,将第一数据划分为多个第二子数据,各个第二子数据的长度均不大于长度阈值。向控制器交替传输第一介质颗粒的标识和各个第二子数据。以长度阈值为64b、第一数据的长度为256b为例,则第一介质颗粒将256b的第一数据划分为四个64b的第二子数据,在第一个时钟周期内传输第一介质颗粒的标识、在第二个时钟周期内传输第一个64b的第二子数据,在第三个时钟周期内传输第一介质颗粒的标识、在第四个时钟周期内传输第二个64b的第二子数据。以此类推,最终通过八个时钟周期完成第二数据的传输过程。
122.示例性地,第一介质颗粒对应状态,第一介质颗粒的状态包括但不限于:空闲状态
(i)、已准备状态(r)和数据传输状态(t),空闲状态(i)用于指示第一介质颗粒当前未进行数据传输,已准备状态(r)用于指示第一介质颗粒已准备好进行数据传输,数据传输状态(t)用于指示第一介质颗粒当前正在进行数据传输。已准备状态(r)和数据传输状态(t)也称为内部ready状态。需要说明的是,在第一介质颗粒处于空闲状态(i)时,第一介质颗粒才基于第一指令进行准备。响应于第一介质颗粒在数据传输状态(t)接收到第一指令,则第一介质颗粒会在完成数据传输之后,由数据传输状态(t)转入空闲状态(i),再基于第一指令进行准备。或者,第一介质颗粒也可以在完成数据传输之后,直接基于第一指令由数据传输状态(t)转入已准备状态(r)。
123.在示例性实施例中,存储装置中包括状态机,状态机用于记录第一介质颗粒的状态。在第一介质颗粒基于第一指令进行准备之前,状态机记录第一介质颗粒的状态为空闲状态(i)。在第一介质颗粒完成准备之后,状态机记录第一介质颗粒的状态为已准备状态(r)。在第一介质颗粒向控制器传输第二数据的过程中,状态机记录第一介质颗粒的状态为数据传输状态(t)。在第一介质颗粒完成第二数据的传输之后,状态机记录第一介质颗粒的状态为空闲状态(i)。
124.能够看出,相比于上述相关技术一中的方案,本实施例中控制器无需向第一介质颗粒发送两次指令,而仅需发送一个第一指令,节约了处理资源。并且,第一介质颗粒在基于第一指令完成准备之后才进行数据的传输,避免了由于未完成准备而导致数据传输失败的情况,提高了数据传输的成功率。相比于上述相关技术二中的方案,本实施例中控制器无需进行数据传输时序的规划,通过第一介质颗粒的标识便能够识别接收到的第一数据是由第一介质颗粒传输的,节约了处理资源。并且,第一介质颗粒在完成准备之后便能够进行数据传输,而无需仅在自身对应的时间段内进行数据传输,从而使得数据传输过程较为灵活。相比于上述相关技术三中的方案,本实施例中控制器无需轮询检查第一介质颗粒是否已完成准备,节约了处理资源,降低了数据传输过程的时延,提高了数据传输效率。
125.以上针对存储介质中仅包括一个介质颗粒的实施环境,对本技术实施例提供的方法进行了说明。接下来,针对存储介质中包括第一介质颗粒和至少一个第二介质颗粒,且第一介质颗粒和至少一个第二介质颗粒如图2所示形成有序队列的实施环境,对本技术实施例提供的方法进行说明。
126.此种情况下,对于第一介质颗粒与第二介质颗粒中的任意一个介质颗粒而言,该介质颗粒的状态除了包括上述空闲状态(i)、已准备状态(r)和数据传输状态(t)之外,还可能包括其他介质颗粒数据传输状态(b)。其他介质颗粒数据传输状态(b)用于指示同一存储介质中除自身之外的其他介质颗粒正在进行数据传输。其他介质颗粒数据传输状态也称为外部ready状态。
127.首先,针对第一介质颗粒和第二介质颗粒中,各个介质颗粒均处于空闲状态,仅有第一介质颗粒需要进行数据传输的情况进行说明,包括如下的情况c1和c2。
128.情况c1,第一介质颗粒为有序队列中除最后一个介质颗粒之外的其他介质颗粒。
129.在情况c1中,第一介质颗粒进行数据传输的方法包括:接收控制器发送的第一指令,第一指令用于指示第一介质颗粒传输第一数据。第一介质颗粒基于第一指令进行准备,在完成准备之后,响应于第一介质颗粒确定第二介质颗粒当前未进行数据传输,向控制器传输第二数据,第二数据包括第一介质颗粒的标识以及第一数据。其中,第一介质颗粒接收
第一指令、进行准备以及向控制器传输第二数据的过程参见上文501和502,此处不再进行赘述。
130.其中,第一介质颗粒需要确定存储介质中的第二介质颗粒当前未进行数据传输的原因在于:存储介质中的各个介质颗粒共享第二总线,在第二介质颗粒当前未进行数据传输的情况下,该第二总线才处于空闲状态,则第一介质颗粒才能够通过该处于空闲状态的第二总线向控制器传输第二数据。
131.在示例性实施例中,第一介质颗粒执行向控制器传输第二数据之前,方法还包括:第一介质颗粒向第三介质颗粒请求授权,第三介质颗粒为至少一个第二介质颗粒中的至少一个。第一介质颗粒响应于得到第三介质颗粒的授权,确定第二介质颗粒当前未进行数据传输。其中,第三介质颗粒为有序队列中位于第一介质颗粒之后的一个介质颗粒。
132.需要说明的是,响应于第三介质颗粒当前已准备或者正在进行数据传输,也就是第三介质颗粒当前处于已准备状态(r)或者数据传输状态(t),则第三介质颗粒不向第一介质颗粒授权。在第三介质颗粒当前未进行数据传输的情况下,也就是第三介质颗粒处于空闲状态(i)的情况下,响应于第三介质颗粒为有序队列中的最后一个介质颗粒,则第三介质颗粒向第一介质颗粒授权,在完成授权后,第三介质颗粒的状态由空闲状态(i)转入其他介质颗粒数据传输状态(b)。或者,响应于第三介质颗粒不为有序队列中的最后一个介质颗粒,则第三介质颗粒还需要向有序队列中位于第三介质颗粒之后的一个介质颗粒继续请求授权,响应于第三介质颗粒得到了有序队列中位于第三介质颗粒之后的一个介质颗粒的授权,则第三介质颗粒再向第一介质颗粒授权,在完成授权后再由空闲状态(i)转入其他介质颗粒数据传输状态(b)。有序队列中位于第三介质颗粒之后的一个介质颗粒向第三介质颗粒授权的机制,与第三介质颗粒向第一介质颗粒授权的机制相同。基于此种机制,响应于第一介质颗粒得到了第三介质颗粒的授权,则说明有序队列中位于第一介质颗粒之后的所有介质颗粒当前未进行数据传输。
133.能够理解的是,在有序队列中,如果一个介质颗粒处于其他介质颗粒数据传输状态(b),则说明该介质颗粒已经向有序队列中位于该介质颗粒之前的一个介质颗粒进行了授权。此种情况下,该介质颗粒不会再接收到位于该介质颗粒之前的一个介质颗粒请求授权。
134.在示例性实施例中,第一介质颗粒向第三介质颗粒请求授权,包括:第一介质颗粒将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第一电平置为第二电平。相应地,确定第二介质颗粒当前未进行数据传输之前,方法还包括:第一介质颗粒响应于检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第三电平被置为第四电平,确定得到第三介质颗粒的授权。
135.其中,当第一信号线的电平为第一电平时,说明第一介质颗粒不需要进行数据传输、未向第三介质颗粒请求授权。当第一信号线的电平为第二电平时,说明第一介质颗粒需要进行数据传输、向第三介质颗粒请求了授权。示例性地,第一电平小于第二电平,此种情况下第一信号线为高电平(高电平可以表示为1)有效的信号线。或者,第一电平大于第二电平,此种情况下第一信号线为低电平(低电平可以表示为0)有效的信号线。相应地,当第二信号线的电平为第三电平时,说明第三介质颗粒未向第一介质颗粒授权。当第二信号线的电平为第四电平时,说明第三介质颗粒已向第一介质颗粒授权。示例性地,第三电平可以小
于第四电平,则第二信号线为高电平有效的信号线。或者,第三电平也可以大于第四电平,则第二信号线为低电平有效的信号线。在一些实施方式中,第一信号线和第二信号线均为高电平有效的信号线。或者,第一信号线和第二信号线均为低电平有效的信号线。或者,第一信号线为高电平有效的信号线,第二信号线为低电平有效的信号线。或者,第一信号线为低电平有效的信号线,第二信号线为高电平有效的信号线。
136.在示例性实施例中,向控制器传输第二数据之后,方法还包括:第一介质颗粒向第三介质颗粒请求取消授权。请求取消授权的作用在于:便于后续其他的介质颗粒根据控制器的指令进行数据传输。其中,响应于第三介质颗粒检测到第一介质颗粒请求取消授权,则可以取消针对第一介质颗粒的授权。示例性地,响应于第三介质颗粒不为有序队列中的最后一个介质颗粒,则第三介质颗粒除了取消针对第一介质颗粒的授权以外,还会向有序队列中位于第三介质颗粒之后的一个介质颗粒请求取消授权。有序队列中位于第三介质颗粒之后的一个介质颗粒请求取消授权的机制,与第三介质颗粒取消授权的机制相同。基于此种机制,在第一介质颗粒请求取消授权之后,有序队列中位于第一介质颗粒之后的各个介质颗粒均进行取消授权,则各个介质颗粒的状态均恢复为空闲状态(i),从而保证后续的数据传输过程能够正常进行。
137.在示例性实施例中,第一介质颗粒向第三介质颗粒请求取消授权,包括:第一介质颗粒将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第二电平置为第一电平。第一介质颗粒向第三介质颗粒请求取消授权之后,方法还包括:第一介质颗粒检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第四电平被置为第三电平。其中,对于第一电平至第四电平的说明参见上文,此处不再进行赘述。
138.为便于理解,通过以下的举例一和举例二对情况c1进行说明。
139.举例一:参见图2,以需要进行数据传输的第一介质颗粒为有序队列中的首个介质颗粒(即介质颗粒0),且第一信号线rdy和第二信号线ack均为高电平有效为例,对介质颗粒0、介质颗粒m和介质颗粒n-1对应的数据传输过程分别进行说明。
140.图8示出了介质颗粒0对应的数据传输过程:
141.在第一个时钟周期,介质颗粒0处于空闲状态(i);
142.在第二个时钟周期,介质颗粒0接收到第一指令,从空闲状态(i)转入已准备状态(r),将rdy 0的电平由0置为1,0用于表示低电平,1用于表示高电平;
143.在第三个时钟周期,介质颗粒0检测到介质颗粒1将ack 1的电平由0置为1之后,由已准备状态(r)转入数据传输状态(t),进行第二数据的传输;
144.在第四个时钟周期,介质颗粒0保持数据传输状态(t),继续进行第二数据的传输;
145.在第五个时钟周期,介质颗粒0完成数据传输,由数据传输状态(t)转入空闲状态(i),将rdy 0的电平由1置为0;
146.在第六个时钟周期,介质颗粒0保持空闲状态(i),且介质颗粒0检测到介质颗粒1将ack1的电平由1置为0。
147.图9示出了介质颗粒m对应的数据传输过程:
148.在第一个时钟周期,介质颗粒m处于空闲状态(i);
149.在第二个时钟周期,介质颗粒m在空闲状态(i)检测到介质颗粒m-1将rdy m-1的电平由0置为1,则相应的将rdy m的电平由0置为1;
150.在第三个时钟周期,介质颗粒m检测到介质颗粒m+1将ack m+1由0置为1后,介质颗粒m由空闲状态(i)转入其他介质颗粒传输数据状态(b),并将ack m由0置为1;
151.在第四个时钟周期,介质颗粒m保持其他介质颗粒传输数据状态(b);
152.在第五个时钟周期,介质颗粒m在其他介质颗粒传输数据状态(b)检测到介质颗粒m-1将rdy m-1的电平由1置为0,相应的将rdy m的电平由1置为0;
153.在第六个时钟周期,介质颗粒m由其他介质颗粒传输数据状态(b)转入空闲状态(i),将ack m的电平由1置为0,并检测到介质颗粒m+1将ack m+1的电平由1置为0。
154.图10示出了介质颗粒n-1对应的数据传输过程:
155.在第一个时钟周期,介质颗粒n-1处于空闲状态(i);
156.在第二个时钟周期,介质颗粒n-1检测到介质颗粒n-2将rdy n-2由0置为1;
157.在第三个时钟周期,介质颗粒n-1由空闲状态(i)转入其他介质颗粒传输数据状态(b),并将ack n-1由0置为1;
158.在第四个时钟周期,介质颗粒n-1保持其他介质颗粒传输数据状态(b);
159.在第五个时钟周期,介质颗粒n-1在其他介质颗粒传输数据状态(b)检测到介质颗粒n-2将rdy n-2的电平由1置为0;
160.在第六个时钟周期,介质颗粒n-1由其他介质颗粒传输数据状态(b)转入空闲状态(i),将ack n-1的电平由1置为0。
161.举例二:参见图2,当需要进行数据传输的第一介质颗粒为有序队列中除首个介质颗粒和最后一个介质颗粒之外的其他介质颗粒(及介质颗粒1至介质颗粒n-1)时,以第一介质颗粒为介质颗粒m为例,对介质颗粒m和介质颗粒n-1对应的数据传输过程进行说明。
162.图11示出了介质颗粒m对应的数据传输过程:
163.在第一个时钟周期,介质颗粒m处于空闲状态(i);
164.在第二个时钟周期,介质颗粒m接收到第一指令,从空闲状态(i)转入已准备状态(r),将rdy m的电平由0置为1,0用于表示低电平,1用于表示高电平;
165.在第三个时钟周期,介质颗粒m检测到介质颗粒m+1将ack m+1的电平由0置为1之后,由已准备状态(r)转入数据传输状态(t),进行第二数据的传输;
166.在第四个时钟周期,介质颗粒m保持数据传输状态(t),继续进行第二数据的传输;
167.在第五个时钟周期,介质颗粒m完成数据传输,由数据传输状态(t)转入空闲状态(i),将rdy m的电平由1置为0;
168.在第六个时钟周期,介质颗粒m保持空闲状态(i),且介质颗粒m检测到介质颗粒m+1将ack m+1的电平由1置为0。
169.图10示出了介质颗粒n-1对应的数据传输过程:
170.在第一个时钟周期,介质颗粒n-1处于空闲状态(i);
171.在第二个时钟周期,介质颗粒n-1检测到介质颗粒n-2将rdy n-2由0置为1;
172.在第三个时钟周期,介质颗粒n-1由空闲状态(i)转入其他介质颗粒传输数据状态(b),并将ack n-1由0置为1;
173.在第四个时钟周期,介质颗粒n-1保持其他介质颗粒传输数据状态(b);
174.在第五个时钟周期,介质颗粒n-1在其他介质颗粒传输数据状态(b)检测到介质颗粒n-2将rdy n-2的电平由1置为0;
175.在第六个时钟周期,介质颗粒n-1由其他介质颗粒传输数据状态(b)转入空闲状态(i),将ack n-1的电平由1置为0。
176.情况c2,第一介质颗粒为有序队列中的最后一个介质颗粒。
177.在情况c2中,第一介质颗粒进行数据传输的方法包括:接收控制器发送的第一指令,第一指令用于指示第一介质颗粒传输第一数据。第一介质颗粒基于第一指令进行准备,在完成准备之后,向控制器传输第二数据,第二数据包括第一介质颗粒的标识以及第一数据。其中,情况c2中数据传输的过程参见上文501和502,此处不再进行赘述。
178.由于第一介质颗粒为有序队列中的最后一个介质颗粒,因而有序队列中不存在位于该第一介质颗粒之后的介质颗粒。因此,在该第一介质颗粒需要进行数据传输时,无需请求授权,直接进行数据传输即可。在该第一介质颗粒完成数据传输之后,也无需请求取消授权,直接结束数据传输即可。能够看出,在第一介质颗粒为有序队列中的最后一个介质颗粒时,该第一介质颗粒为有序队列中优先级最高的介质颗粒。
179.为便于理解,通过举例三对情况c2进行说明。
180.参见图2,当需要进行数据传输的第一介质颗粒为有序队列中的最后一个介质颗粒(即介质颗粒n-1)时,图12示出了介质颗粒n-1对应的数据传输过程。
181.在第一个时钟周期内,介质颗粒n-1处于空闲状态(i);
182.在第二个时钟周期内,介质颗粒n-1接收到第一指令,从空闲状态(i)转入已准备状态(r);
183.在第三个时钟周期内,介质颗粒n-1从已准备状态(r)转入数据传输状态(t),开始进行第二数据的传输;
184.在第四个时钟周期内,介质颗粒n-1保持数据传输状态(t),继续进行第二数据的传输;
185.在第五个时钟周期内,介质颗粒n-1完成第二数据的传输,从数据传输状态(t)转入空闲状态(i);
186.在第六个时钟周期内,介质颗粒n-1保持空闲状态(i)。
187.接着,针对第一介质颗粒本身不需要进行数据传输,而需要向其他介质颗粒进行授权的情况进行说明,包括如下的情况d1-d3。
188.情况d1,第一介质颗粒为有序队列中的首个介质颗粒。
189.此种情况下,第一介质颗粒不向其他介质颗粒进行授权。
190.情况d2,第一介质颗粒为有序队列中除首个介质颗粒和最后一个介质颗粒之外的其他介质颗粒。
191.在示例性实施例中,第一介质颗粒响应于检测到第四介质颗粒请求授权,则在得到第五介质颗粒的授权之后,向第四介质颗粒授权。其中,第四介质颗粒为有序队列中位于第一介质颗粒之前的一个介质颗粒,第五介质颗粒为有序队列中位于第一介质颗粒之后的一个介质颗粒。其中,情况d2中第一介质颗粒向第四介质颗粒授权的过程,可以参见上文情况c1中第三介质颗粒向第一介质颗粒授权的过程,以及上文举例一中介质颗粒m对应的过程,此处不再进行赘述。
192.示例性地,向第四介质颗粒授权之前,方法还包括:第一介质颗粒响应于检测到第一介质颗粒与第四介质颗粒之间的第一信号线的电平由第五电平被置为第六电平,确定检
测到第四介质颗粒请求授权。向第四介质颗粒授权,包括:第一介质颗粒将第一介质颗粒与第四介质颗粒之间的第二信号线的电平由第七电平置为第八电平。其中,第五电平可以小于第六电平,也可以大于第六电平。第七电平可以小于第八电平,也可以大于第八电平。
193.情况d3,第一介质颗粒为有序队列中的最后一个介质颗粒。
194.在示例性实施例中,第一介质颗粒响应于检测到第四介质颗粒请求授权,且第一介质颗粒当前未进行数据传输,则向第四介质颗粒授权。其中,情况d3中第一介质颗粒向第四介质颗粒授权的过程,可以参见上文情况c1中第三介质颗粒向第一介质颗粒授权的过程,以及上文举例一和举例二中介质颗粒n-1对应的过程,此处不再进行赘述。
195.以上,对第一介质颗粒和第二介质颗粒中,各个介质颗粒均处于空闲状态,仅有第一介质颗粒需要进行数据传输的情况进行了说明。接下来,对各个介质颗粒均处于空闲状态但有两个以上的介质颗粒同时需要进行数据传输的情况(也称为总线空闲但存在竞争冲突的情况),以及一个介质颗粒进行数据传输状态的过程中,另一个需要进行数据传输的情况(也称为总线忙碌但不存在竞争冲突的情况)进行说明。其中,两个以上的介质颗粒同时需要进行数据传输是指:两个以上的介质颗粒在同一个时钟周期内接收到了控制器发送的第一指令。
196.在总线空闲但存在竞争冲突以及总线忙碌但不存在竞争冲突的情况下,需要进行数据传输的介质颗粒请求授权的方式与情况c1和情况c2相同。而针对于请求取消授权的方式,则包括如下的两种情况e1和e2。
197.情况e1:第一介质颗粒向第三介质颗粒请求取消授权,包括:响应于在完成第二数据的传输之前,第一介质颗粒未检测到第四介质颗粒请求授权,则第一介质颗粒在完成第二数据的传输之后直接向第三介质颗粒请求取消授权。其中,第三介质颗粒为有序队列中位于第一介质颗粒之后的首个介质颗粒,第四介质颗粒为有序队列中位于第一介质颗粒之前的首个介质颗粒。在情况e1中,第一介质颗粒需要通过第一介质颗粒与第四介质颗粒之间的第一信号线的电平来确定第四介质颗粒是否请求授权。响应于确定第四介质颗粒未请求授权,则再向第三介质颗粒请求取消授权。
198.情况e2:第一介质颗粒向第三介质颗粒请求取消授权,包括:响应于在完成第二数据的传输之前,第一介质颗粒已检测到第四介质颗粒请求授权,则在完成第二数据的传输之后,向第四介质颗粒授权。在第一介质颗粒通过第一介质颗粒与第四介质颗粒之间的第一信号线的电平确定第四介质颗粒请求授权的情况下,第一介质颗粒在完成第二数据的传输之后,不向第三介质颗粒请求授权,而是通过第一介质颗粒与第四介质颗粒之间的第二信号线向第四介质颗粒授权,以便于第四介质颗粒进行数据传输。之后,在第四介质颗粒完成数据传输之后,第一介质颗粒能够接收到第四介质颗粒请求取消授权,接着,第一介质颗粒再相应的向第三介质颗粒请求取消授权。
199.参见图13,对总线空闲但存在竞争冲突的情况进行说明:
200.在第一个时钟周期内,介质颗粒0、介质颗粒1和介质颗粒2均处于空闲状态(i);
201.在第二个时钟周期内,介质颗粒0和介质颗粒1均接收到控制器发送的第一指令,介质颗粒0和介质颗粒1均由空闲状态(i)转入已准备状态(r),且介质颗粒0将rdy 0的电平由0置为1,介质颗粒1将rdy 1的电平由0置为1;
202.在第三个时钟周期内,由于rdy 1的电平为1,因而介质颗粒2由空闲状态(i)转入
其他介质颗粒数据传输状态(b),将ack 2的电平由0置为1,则介质颗粒1由已准备状态(r)转入数据传输状态(t)并开始进行数据传输,而由于ack 1的电平仍为0,因而介质颗粒0保持在已准备状态(r);
203.在第四个时钟周期内,介质颗粒1保持数据传输状态(t),继续进行数据传输;
204.在第五个时钟周期内,介质颗粒1完成数据传输,由数据传输状态(t)转入空闲状态(i);
205.在第六个时钟周期内,由于rdy 0的电平为1,因而介质颗粒1由空闲状态(i)转入其他介质颗粒数据传输状态(b),将ack 1的电平由0置为1,则介质颗粒0由已准备状态(r)转入数据传输状态(t)并开始进行数据传输;
206.在第七个时钟周期内,介质颗粒0保持数据传输状态(t),继续进行数据传输;
207.在第八个时钟周期内,介质颗粒0完成数据传输,由数据传输状态(t)转入空闲状态(i),且介质颗粒0将rdy由1置为0,处于其他介质颗粒数据传输状态(b)的介质颗粒1相应的将rdy 1由1置为0;
208.在第九个时钟周期内,介质颗粒1和介质颗粒2由其他介质颗粒数据传输状态(b)转入空闲状态(i),介质颗粒1将ack 1由1置为0,介质颗粒1将ack 2由1置为0。
209.参见图14,对总线忙碌但不存在竞争冲突的情况进行说明。
210.在第一个时钟周期内,介质颗粒0和介质颗粒1均处于空闲状态(i),介质颗粒2处于数据传输状态(t);
211.在第二个时钟周期内,介质颗粒0接收到控制器发送的第一指令,介质颗粒0由空闲状态(i)转入已准备状态(r),且介质颗粒0将rdy 0的电平由0置为1,介质颗粒1将rdy1的电平由0置为1;
212.在第三个时钟周期内,介质颗粒2完成数据传输,由数据传输状态(t)转入空闲状态(i);
213.在第四个时钟周期内,由于rdy 1的电平为1,因而介质颗粒2由空闲状态(i)转入其他介质颗粒数据传输状态(b),将ack 2的电平由0置为1,介质颗粒1相应的将ack 1的电平由0置为1,介质颗粒0由已准备状态(r)转入数据传输状态(t),开始进行数据传输;
214.在第五个时钟周期内,介质颗粒0保持数据传输状态(t);
215.在第六个时钟周期内,介质颗粒0完成数据传输,由数据传输状态(t)转入空闲状态(i),且介质颗粒0将rdy 0由1置为0,处于其他介质颗粒数据传输状态(b)的介质颗粒1相应的将rdy 1由1置为0;
216.在第七个时钟周期内,介质颗粒1和介质颗粒2由其他介质颗粒数据传输状态(b)转入空闲状态(i),介质颗粒1将ack 1由1置为0,介质颗粒1将ack 2由1置为0。
217.综上所述,本实施例中的介质颗粒在接收到控制器发送的指令之后,在完成准备之后向控制器发送介质颗粒的标识和指令所指示的数据,控制器根据介质颗粒的标识能够识别接收到的数据由哪一个介质颗粒传输。由于控制器无需向介质颗粒发送多次指令,也无需规划介质颗粒的数据传输顺序,更无需轮询检查介质颗粒,因而节约了控制器的处理资源,降低了数据传输时延,提高了数据传输效率。
218.本技术实施例还提供了一种存储装置,存储装置包括控制器和存储介质,存储介质包括第一介质颗粒。其中,第一介质颗粒用于接收控制器发送的第一指令,第一指令用于
指示第一介质颗粒传输第一数据。第一介质颗粒还用于基于第一指令进行准备,在完成准备之后,向控制器传输第二数据,第二数据包括第一介质颗粒的标识以及第一数据。
219.在示例性实施例中,存储介质还包括至少一个第二介质颗粒,第一介质颗粒还用于响应于确定第二介质颗粒当前未进行数据传输,执行向控制器传输第二数据。
220.在示例性实施例中,第一介质颗粒还用于向第三介质颗粒请求授权,第三介质颗粒为至少一个第二介质颗粒中的至少一个;响应于得到第三介质颗粒的授权,确定第二介质颗粒当前未进行数据传输。
221.在示例性实施例中,第一介质颗粒用于将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第一电平置为第二电平;
222.第一介质颗粒还用于响应于检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第三电平被置为第四电平,确定得到第三介质颗粒的授权。
223.在示例性实施例中,第一介质颗粒和第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线,第三介质颗粒为有序队列中位于第一介质颗粒之后的首个介质颗粒。
224.在示例性实施例中,第一介质颗粒还用于向第三介质颗粒请求取消授权。
225.在示例性实施例中,第一介质颗粒用于将第一介质颗粒与第三介质颗粒之间的第一信号线的电平由第二电平置为第一电平;
226.第一介质颗粒还用于检测到第一介质颗粒与第三介质颗粒之间的第二信号线的电平由第四电平被置为第三电平。
227.在示例性实施例中,第一介质颗粒还用于响应于在完成第二数据的传输之前,未检测到第四介质颗粒请求授权,再执行向第三介质颗粒请求取消授权,第四介质颗粒为有序队列中位于第一介质颗粒之前的首个介质颗粒。
228.在示例性实施例中,第一介质颗粒还用于响应于在完成第二数据的传输之前,第一介质颗粒已检测到第四介质颗粒请求授权,则在完成第二数据的传输之后,向第四介质颗粒授权。
229.在示例性实施例中,第一介质颗粒还用于响应于检测到第四介质颗粒请求授权,且第一介质颗粒当前未进行数据传输,则向第四介质颗粒授权,第四介质颗粒为第二介质颗粒中的一个。
230.在示例性实施例中,第一介质颗粒还用于响应于检测到第一介质颗粒与第四介质颗粒之间的第一信号线的电平由第五电平被置为第六电平,确定检测到第四介质颗粒请求授权;
231.第一介质颗粒用于将第一介质颗粒与第四介质颗粒之间的第二信号线的电平由第七电平置为第八电平。
232.在示例性实施例中,第一介质颗粒和第二介质颗粒形成有序队列,有序队列中任意两个相邻的介质颗粒之间包括第一信号线和第二信号线,第四介质颗粒为有序队列中位于第一介质颗粒之前的首个介质颗粒。
233.在示例性实施例中,第一介质颗粒还用于响应于得到第五介质颗粒的授权,执行向第四介质颗粒授权,第五介质颗粒为有序队列中位于第一介质颗粒之后的首个介质颗粒。
234.在示例性实施例中,控制器与第一介质颗粒之间包括第一总线和第二总线,第一总线的传输方向为由控制器至第一介质颗粒,第二总线的传输方向为由第一介质颗粒至控制器,第一介质颗粒用于通过第一总线接收控制器发送的第一指令;
235.第一介质颗粒用于通过第二总线向控制器传输第二数据。
236.在示例性实施例中,第一数据的长度大于长度阈值,第一介质颗粒用于将第一数据划分为多个第一子数据,各个第一子数据的长度均不大于长度阈值;向控制器依次传输第一介质颗粒的标识和各个第一子数据。
237.在示例性实施例中,第一数据的长度大于长度阈值,第一介质颗粒用于将第一数据划分为多个第二子数据,各个第二子数据的长度均不大于长度阈值;向控制器交替传输第一介质颗粒的标识和各个第二子数据。
238.在示例性实施例中,存储介质还包括状态机,状态机用于记录第一介质颗粒的状态,第一介质颗粒的状态包括空闲状态、已准备状态、数据传输状态和其他介质颗粒数据传输状态。
239.在示例性实施例中,在第一介质颗粒基于第一指令进行准备之前,和第一介质颗粒完成第二数据的传输之后,第一介质颗粒的状态为空闲状态;
240.在第一介质颗粒完成准备之后,第一介质颗粒的状态为已准备状态;
241.在第一介质颗粒向控制器传输第二数据时,第一介质颗粒的状态为数据传输状态;
242.在第一介质颗粒进行授权之后,第一介质颗粒的状态为其他介质颗粒数据传输状态。
243.本技术实施例还提供了一种传输数据的方法,方法应用于存储装置,存储装置包括控制器和存储介质,存储介质包括多个介质颗粒,方法包括:
244.低优先级的介质颗粒在空闲状态下接收控制器发送的第一指令,第一指令用于指示低优先级的介质颗粒传输第一数据;
245.低优先级的介质颗粒向高优先级的介质颗粒请求授权;
246.低优先级的介质颗粒响应于得到高优先级的介质颗粒的授权之后,向控制器传输第二数据,第二数据包括低优先级的介质颗粒的标识以及第一数据。
247.示例性地,多个介质颗粒形成有序队列,有序队列中各个介质颗粒的优先级逐渐升高。因此,在有序队列中,一个介质颗粒的优先级低于有序队列中位于该介质颗粒之后的各个介质颗粒的优先级。相对来说,该介质颗粒为低优先级的介质颗粒,而有序队列中位于该介质颗粒之后的各个介质颗粒为高优先级的介质颗粒。低优先级的介质颗粒需要在得到高优先级的介质颗粒的授权之后,再进行数据传输。
248.能够理解的是,在低优先级的介质颗粒和高优先级的介质颗粒需要同时进行数据传输的情况下,低优先级的介质颗粒向高优先级的介质颗粒请求授权,高优先级的介质颗粒会在完成自身的数据传输之后,再向低优先级的介质颗粒授权。从而,保证了高优先级的介质颗粒的数据传输过程优先于低优先级的介质颗粒的数据传输过程。
249.在示例性实施例中,方法还包括:最高优先级的介质颗粒在空闲状态下接收控制器发送的第二指令,第二指令用于指示最高优先级的介质颗粒传输第三数据。最高优先级的介质颗粒向控制器传输第四数据,第四数据包括最高优先级的介质颗粒的标识和第三数
据。
250.示例性地,在多个介质颗粒形成有序队列的情况下,有序队列中最后一个介质颗粒即为最高优先级的介质颗粒。在该最高优先级的介质颗粒处于空闲状态的情况下,响应于接收到了控制器发送的第二指令,则无需向其他介质颗粒请求授权,直接基于第二指令进行数据传输即可。
251.本技术实施例还提供了一种存储装置,存储装置包括控制器和存储介质,存储介质包括多个介质颗粒,多个介质颗粒中的低优先级的介质颗粒用于空闲状态下接收控制器发送的第一指令,第一指令用于指示低优先级的介质颗粒传输第一数据;低优先级的介质颗粒还用于向高优先级的介质颗粒请求授权;低优先级的介质颗粒还用于响应于得到高优先级的介质颗粒的授权之后,向控制器传输第二数据,第二数据包括低优先级的介质颗粒的标识以及第一数据。
252.在示例性实施例中,多个介质颗粒中的最高优先级的介质颗粒用于在空闲状态下接收控制器发送的第二指令,第二指令用于指示最高优先级的介质颗粒传输第三数据;最高优先级的介质颗粒还用于向控制器传输第四数据,第四数据包括最高优先级的介质颗粒的标识和第三数据。
253.在一种可选的实施例中,上述存储介质可以包括只读存储介质和随机存取存储介质,并向处理器提供指令和数据。存储介质还可以包括非易失性随机存取存储介质。例如,存储介质还可以存储设备类型的信息。该存储介质可以是易失性存储介质或非易失性存储介质,或可包括易失性和非易失性存储介质两者。其中,非易失性存储介质可以是存储级内存(storage scale memory,scm)、只读存储介质(read-only memory,rom)、可编程只读存储介质(programmable rom,prom)、可擦除可编程只读存储介质(erasable prom,eprom)、电可擦除可编程只读存储介质(electrically eprom,eeprom)或闪存。易失性存储介质可以是随机存取存储介质(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用。例如,静态随机存取存储介质(static ram,sram)、动态随机存取存储介质(dynamic random access memory,dram)、同步动态随机存取存储介质(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储介质(double data date sdram,ddr sdram)、增强型同步动态随机存取存储介质(enhanced sdram,esdram)、同步连接动态随机存取存储介质(synchlink dram,sldram)和直接内存总线随机存取存储介质(direct rambus ram,dr ram)。
254.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,
(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
255.以上所述仅为本技术的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。