CN118245250A - 片上系统共享闪存的方法、片上系统、物联网芯片及设备 - Google Patents
片上系统共享闪存的方法、片上系统、物联网芯片及设备 Download PDFInfo
- Publication number
- CN118245250A CN118245250A CN202410456380.3A CN202410456380A CN118245250A CN 118245250 A CN118245250 A CN 118245250A CN 202410456380 A CN202410456380 A CN 202410456380A CN 118245250 A CN118245250 A CN 118245250A
- Authority
- CN
- China
- Prior art keywords
- processors
- flash memory
- access request
- chip
- memory controller
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000012544 monitoring process Methods 0.000 claims abstract description 4
- 238000004891 communication Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 3
- 239000000725 suspension Substances 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种片上系统共享闪存的方法,执行于多处理器片上系统的其中一个处理器中,所述方法包括,在向所述闪存控制器发送擦写访问请求时,将所述擦写访问请求对应的数据分割为多个数据单元,以使闪存控制器逐数据单元擦写对应的地址段;在向所述闪存控制器发送擦写访问请求后,监控所述闪存控制器的擦写进程以及多个所述处理器中的其他所述处理器的读访问请求状态;当闪存控制器完成了一个以上的数据单元的擦写,且其他所述处理器中的任意一个处于发送了读访问请求的状态时,挂起当前的擦写访问请求,以使所述闪存控制器响应所述读请求;当所述读访问请求结束时,继续当前的擦写访问请求。本发明提供的技术方案降低了片上系统的硬件成本。
Description
技术领域
本发明涉及存储管理技术领域,尤其涉及一种片上系统共享闪存的方法、片上系统、物联网芯片及设备。
背景技术
当前片上系统都包含多个处理器(同构或者异构),各自独立运行软件代码在系统里完成不同的控制任务。指令代码可以存放在芯片内部,也可以存放到芯片外部存储设备上,供处理器直接取指运行。物联网芯片受限于片上内存容量,所有可用的片上存储设备都会被充分利用,而Nor型闪存的片上执行技术使得处理器可以在闪存上直接运行程序。Nor型闪存之所以可以片内执行,是因为符合处理器取指译码执行的要求。处理器发送一个地址,Nor型闪存就能返回对应代码指令让处理器执行,中间不需要额外的操作。
在现有技术中,受结构和接口等方面限制,单个处理器访问单个特定Nor型闪存完成指令执行,而两个处理器访问则需要访问两个独立的Nor型闪存来各自分别完成指令执行。即,采用非共享方式使用Nor型闪存,一对一连接独享专用。但这个方式会出现多套Nor型闪存控制器以及多套Nor型闪存颗粒的芯片引脚接口,导致面积和芯片引脚数额外增加,可扩展性差,不是成本效率最优组合方案。
发明内容
本发明提供的片上系统共享闪存的方法、片上系统、物联网芯片及设备,能够使多个处理器共享访问同一个闪存模块,从而,节省了闪存控制器和芯片引脚,降低了片上系统的硬件成本。
第一方面,本发明提供一种片上系统共享闪存的方法,执行于多处理器片上系统的其中一个处理器中,所述方法包括,
在向所述闪存控制器发送擦写访问请求时,将所述擦写访问请求对应的数据分割为多个数据单元,以使闪存控制器逐数据单元擦写对应的地址段;
在向所述闪存控制器发送擦写访问请求后,监控所述闪存控制器的擦写进程以及多个所述处理器中的其他所述处理器的读访问请求状态;
当闪存控制器完成了一个以上的数据单元的擦写,且其他所述处理器中的任意一个处于发送了读访问请求的状态时,挂起当前的擦写访问请求,以使所述闪存控制器响应所述读请求;
当所述读访问请求结束时,继续当前的擦写访问请求。
可选地,所述方法还包括:
在向闪存控制器发送擦写访问请求时,向多个所述处理器中的其他所述处理器发送等待通知,以使多个所述处理器中的其他所述处理器在擦写访问请求执行期间保持等待;
在擦写访问请求结束或挂起后,向多个所述处理器中的其他处理器发送结束通知。
第二方面,本发明提供一种片上系统共享闪存的方法,执行于多处理器片上系统的其中一个处理器中,所述方法包括,
在向所述闪存控制器发送读访问请求之前,向多个所述处理器中的其他所述处理器发送读访问通知,以使其他所述处理器中正在进行擦写访问请求的处理器在当前数据单元擦写完成后挂起当前的擦写访问请求;
在所述擦写访问请求挂起后,向所述闪存控制器发送读访问请求;
在读访问请求结束后,向其他所述处理器发送结束通知,以使挂起的擦写访问请求继续被执行。
可选地,所述方法还包括:
在向闪存控制器发送读访问请求之前,向所述多个所述处理器中的其他所述处理器发送查询通知,以使多个处理器中的其他所述处理器返回当前的访问状态;
在接收到其他所述处理器中的任何一个返回擦写访问请求的状态时,保持当前的读访问请求处于等待状态;
在接收到对应于擦写访问请求结束或挂起的结束通知时,执行处于等待状态的读访问请求。
第三方面,本发明提供一种片上系统共享闪存的方法,执行于多处理器片上系统的存储模块中的闪存控制器,所述方法包括,
在接收多个所述处理器中的其中一个所述处理器发送的擦写访问请求并响应时,将所述存储子模块划分为多个地址段,并逐地址段执行所述擦写访问请求;
在当前地址段未擦写完成,且接收到多个处理器中的其他处理器的读访问请求时,通过握手协议使多个所述处理器中的其他所述处理器发送的读访问请求保持等待状态;
在当前地址段擦写完成后,将所述擦写访问请求挂起,并响应保持等待状态的读访问请求;
在所述读访问请求执行结束后,继续执行挂起的擦写访问请求。
第四方面,本发明提供一种共享闪存的片上系统,包括:
多个处理器,用于获取并执行代码指令;
闪存模块,所述闪存模块包括闪存控制器和存储子模块,所述存储子模块用于存储多个所述处理器所需要的代码指令,所述闪存控制器用于响应于多个所述处理器的请求从所述存储子模块取出并发送对应代码指令;其中,所述代码指令至少包括第一代码指令和第二代码指令;第一代码指令能够被其中一个处理器执行,以使所述其中一个处理器能执行如上述任一项执行于多个处理器中的其中一个的用于擦写访问请求的片上系统共享闪存的方法;第二代码指令能够被其中一个处理器执行,以使所述其中一个处理器能执行如上述任一项执行于多个处理器中的其中一个的用于读访问请求的片上系统共享闪存的方法;所述闪存控制器具有判断电路,所述判断电路响应于多个处理器的请求执行如上述任一项执行于闪存模块中的闪存控制器的片上系统共享闪存的方法;
片上系统互联总线模块,所述片上系统互联总线模块用于将所述多个处理器与所述闪存模块通信连接;其中,
所述片上系统互联总线模块包括:
仲裁器,所述仲裁器与多个所述处理器通信连接,所述仲裁器与闪存模块通信连接,所述仲裁器用于将所述多个处理器发送的访问请求进行仲裁,确定当前需要向所述闪存模块发送的访问请求。
可选地,所述仲裁器用于对多个处理器发送的访问请求进行仲裁,以使所述多个处理器发送中仅有一个处理器的访问请求被发送至闪存模块。
可选地,所述仲裁器用于对多个处理器发送的相同类型的访问请求进行仲裁,以使相同类型的访问请求每次仅有一个被发送至闪存模块,不同类型的访问请求产生并发。
可选地,当所述多个处理器中的其中一个与所述闪存模块的传输协议不同时,所述片上系统互连总线模块还包括转换单元,所述转换单元与传输协议不同的处理器通信连接,所述转换单元用于将传输协议不同的处理器向所述闪存模块发送的访问请求进行转换。
可选地,所述转换单元用于将对应的处理器与所述存储模块的传输协议、数据位宽以及时钟频率进行转换。
第五方面,本发明提供一种物联网芯片,所述物联网芯片包括如上述任意一项所述的共享闪存的片上系统。
第六方面,本发明提供一种物联网设备,所述物联网设备包括如上述的物联网芯片。
在本发明提供的技术方案中,通过转换单元将对应的处理器与闪存模块之间的通信数据进行转换,确保每个处理器都能正确的读出或者擦写数据,再通过仲裁模块进行仲裁,确保每个处理器对闪存模块的访问不发生冲突,从而,实现了多个处理器共享闪存模块。由于多个处理器共享闪存模块,因此,节省了闪存控制模块所占用的面积,也节省了引线和引脚的数量,有效地降低了硬件成本。同时,由于本发明提供的技术方案具有简洁的架构,使其可扩展性强,不会受到处理器数量的限制。
附图说明
图1为本发明一实施例片上系统共享闪存的方法的流程图;
图2为本发明另一实施例片上系统共享闪存的方法的流程图;
图3为本发明另一实施例片上系统共享闪存的方法的流程图;
图4为本发明另一实施例共享闪存的片上系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种片上系统共享闪存的方法,如图1所示,执行于多处理器片上系统的其中一个处理器中,所述方法包括,步骤101,在向所述闪存控制器发送擦写访问请求时,将所述擦写访问请求对应的数据分割为多个数据单元,以使闪存控制器逐数据单元擦写对应的地址段;
步骤102,在向所述闪存控制器发送擦写访问请求后,监控所述闪存控制器的擦写进程以及多个所述处理器中的其他所述处理器的读访问请求状态;
步骤103,当闪存控制器完成了一个以上的数据单元的擦写,且其他所述处理器中的任意一个处于发送了读访问请求的状态时,挂起当前的擦写访问请求,以使所述闪存控制器响应所述读请求;
步骤104,当所述读访问请求结束时,继续当前的擦写访问请求。
在一些实施例中,本实施方式中,由于Nor型闪存模块在写入数据时不能进行数据的读取,为了解决读写并发访问的问题,通常在写入数据时需要读数据的一方进行等待,但是,擦写数据通常耗时较长,读数据通常耗时极短,为了避免读数据一方进行长时间等待而导致整个系统的效率降低,通过处理器对擦写数据划分为数据单元,并实时监控擦写进程和其他处理器的读访问请求状态,在其他处理器有读访问请求时,及时将擦写访问请求挂起,使读访问请求能够被及时响应。本实施方式中,闪存控制器不需要额外的处理任何数据,仅需要对擦写请求和读请求进行响应即可。
作为一种可选的实施方式,多个所述处理器中的任意一个用于:
在向闪存控制器发送擦写访问请求时,向多个所述处理器中的其他所述处理器发送等待通知,以使多个所述处理器中的其他所述处理器在擦写访问请求执行期间保持等待;
在擦写访问请求结束或挂起后,向多个所述处理器中的其他处理器发送结束通知。
在一些实施例中,为了解决读写并发访问的问题,处理器1/处理器2在对闪存模块进行操作前会进行相互通知,对方同意后再进行后续操作。例如处理器1发出擦写访问请求,处理器2此时没有访问需求,处理器1可以直接操作。闪存控制器在擦写相关处理过程中,因为时间比较长,在这个过程中某个时刻处理器2需要发出读访问请求,处理器2询问处理器1,得到反馈处理器1在擦写访问请求状态,此时处理器2需要进行等待。处理器2等待处理器1的擦写访问操作结束,再进行发送读访问请求。如前所述,处理器1通过分子地址段写的方式,每个子地址段写操作完成,判断是否有处理器2的读请求。如果有则挂起写操作,让处理器2可以进行读操作。待处理器2读完成后,处理器1再继续后续子地址段写操作。通过这种方式,提高读闪存的整体效率。
本发明实施例还提供一种片上系统共享闪存的方法,如图2所示,执行于多处理器片上系统的其中一个处理器中,所述方法包括,
步骤201,在向所述闪存控制器发送读访问请求之前,向多个所述处理器中的其他所述处理器发送访问通知,以使其他所述处理器中正在进行擦写访问请求的处理器在当前数据单元擦写完成后挂起当前的写访问请求;
步骤202,在所述擦写访问请求挂起后,向所述闪存控制器发送读访问请求;
步骤203,在读访问请求结束后,向其他所述处理器发送结束通知,以使挂起的擦写访问请求继续被执行。
在一些实施例中,为了解决前述的读写并发访问的问题,得到响应的处理器将擦写操作分割成若干数据单元(例如每次擦写4KBytes为一单元,即每4KBytes为一个地址段,每个地址段对应有一个子阶段)。完成单一数据单元操作后,如果正在进行写访问请求的处理器,例如处理器1接收到其他处理器如处理器2的访问通知,处理器1发送命令主动挂起对闪存模块的后续擦写操作,让处理器2可以进行读访问请求。待处理器2完成读访问请求后,处理器2再通知处理器1重新恢复之前未完成的写操作。
作为一种可选的实施方式,在向闪存控制器发送读访问请求之前,向所述多个所述处理器中的其他所述处理器发送查询通知,以使多个处理器中的其他所述处理器返回当前的访问状态;
在接收到其他所述处理器中的任何一个返回擦写访问请求的状态时,保持当前的读访问请求处于等待状态;
在接收到对应于擦写访问请求结束或挂起的结束通知时,执行处于等待状态的读访问请求。
在一些实施例中,为了解决读写并发访问的问题,处理器1/处理器2在对闪存模块进行操作前会进行相互通知,对方同意后再进行后续操作。例如处理器1发出擦写访问请求,处理器2此时没有访问需求,处理器1可以直接操作。闪存控制器在擦写相关处理过程中,因为时间比较长,在这个过程中某个时刻处理器2需要发出读访问请求,处理器2询问处理器1,得到反馈处理器1在擦写访问请求状态,此时处理器2需要进行等待。处理器2等待处理器1的擦写访问操作结束,再进行发送读访问请求。如前所述,处理器1通过分子地址段写的方式,每个子地址段写操作完成,判断是否有处理器2的读请求。如果有则挂起写操作,让处理器2可以进行读操作。待处理器2读完成后,处理器1再继续后续子地址段写操作。通过这种方式,提高读闪存的整体效率。
本发明实施例还提供一种片上系统共享闪存的方法,如图3所示,执行于多处理器片上系统的存储模块中的闪存控制器,所述方法包括,
步骤301,在接收多个所述处理器中的其中一个所述处理器发送的擦写访问请求并响应时,将所述存储子模块划分为多个地址段,并逐地址段执行所述擦写访问请求;
步骤302,在当前地址段未擦写完成,且接收到多个处理器中的其他处理器的读访问请求时,通过握手协议使多个所述处理器中的其他所述处理器发送的读访问请求保持等待状态;
步骤303,在当前地址段擦写完成后,将所述擦写访问请求挂起,并响应保持等待状态的读访问请求;
步骤304,在所述读访问请求执行结束后,继续执行挂起的擦写访问请求。
在一些实施例中,本实施方式中,在闪存控制器中提供了读写并发情况下的处理方案。例如处理器1发出擦写操作后,闪存控制器在处理过程中处理器2发出读操作请求,此时闪存控制器内部会等待前序擦写操作完成后,再进行读操作。在读操作完成前,通过硬件握手协议让处理器2一直等待。闪存控制控制器内部机制确保并发有序完成,此机制可以配置开启或者关闭。由于擦写通常需要较长的时间,为了避免读访问请求等待太长时间,通过闪存控制器对存储子模块划分为多个地址段,并逐地址段进行擦写,当接受到读访问请求时,将当前地址段擦写完成后即挂起擦写访问请求,使读访问请求及时被响应。
本发明实施例还提供一种共享闪存的片上系统,如图4所示,包括:
多个处理器,用于获取并执行代码指令;
在一些实施例中,多个处理器能分别执行指令,独立的完成不同的控制任务。
闪存模块,闪存模块,所述闪存模块包括闪存控制器和存储子模块,所述存储子模块用于存储多个所述处理器所需要的代码指令,所述闪存控制器用于响应于多个所述处理器的请求从所述存储子模块取出并发送对应代码指令;其中,所述代码指令至少包括第一代码指令和第二代码指令;第一代码指令能够被其中一个处理器执行,以使所述其中一个处理器能执行如上述任一项执行于多个处理器中的其中一个的用于擦写访问请求的片上系统共享闪存的方法;第二代码指令能够被其中一个处理器执行,以使所述其中一个处理器能执行如上述任一项执行于多个处理器中的其中一个的用于读访问请求的片上系统共享闪存的方法;所述闪存控制器具有判断电路,所述判断电路响应于多个处理器的请求执行如上述任一项执行于闪存模块中的闪存控制器的片上系统共享闪存的方法;
在一些实施例中,闪存模块用来存储多个处理器所需要的代码指令,闪存模块优选的可以为Nor型闪存,能够在接收到处理器的地址信息后,即时返回对应的代码指令,由处理器执行。闪存控制器内部支持处理器通过地址直接读写方式来访问闪存模块,由闪存控制器实现4线串行外设接口QSPI协议转换输出,最终控制闪存模块外设完成所需读写操作,确保片上执行方式有效工作。从处理器来看像是在访问一块内存,处理器无需关注闪存所需QSPI接口相关处理。存储子模块是用来存储数据的阵列,存储子模块受到存储控制器的控制,存储控制器能够在存储子模块内擦写数据或者从存储子模块读出数据。
片上系统互联总线模块,所述片上系统互联总线模块用于将所述多个处理器与所述闪存模块通信连接;其中,
所述片上系统互联总线模块包括:
仲裁器,所述仲裁器与多个所述处理器通信连接,所述仲裁器与闪存模块通信连接,所述仲裁器用于将所述多个处理器发送的访问请求进行仲裁,确定当前需要向所述闪存模块发送的访问请求。
在一些实施例中,当多个处理器共享一个闪存模块时,难免发生两个以上的处理器同时对闪存模块进行访问的情形,此时,容易导致访问冲突,尤其是其中一个处理器正在进行擦写访问,其他处理器进行读访问时,对数据一致性的威胁是巨大的。因此,在本实施方式中,设置了仲裁器,确保每个处理器依次访问,避免发生访问冲突。当两个处理器的访问请求同时到达时,仲裁器按照一定的公平策略选择其中一个处理器先访问,待完成后调度安排之前等待的处理器再访问。整个仲裁过程对软件透明,从每个处理器自身来看是独享闪存模块。仲裁器可配置支持固定优先级、轮转和优先级轮转组合三种方式。
在本发明实施例提供的技术方案中,通过仲裁模块进行仲裁,确保每个处理器对闪存模块的访问不发生冲突,从而,实现了多个处理器共享闪存模块。因此,节省了闪存控制模块所占用的面积,也节省了引线和引脚的数量,有效地降低了硬件成本。同时,由于本发明提供的技术方案具有简洁的架构,使其可扩展性强,不会受到处理器数量的限制。
作为一种可选的实施方式,所述仲裁器用于对多个处理器发送的访问请求进行仲裁,以使所述多个处理器发送中仅有一个处理器的访问请求被发送至闪存模块。
在一些实施例中,仲裁器对多个处理器进行仲裁,每次仅有一个处理器的访问请求能够发送至闪存模块,这种仲裁方式能够对数据一致性和读写安全性提供相当的优势,由于每次仅能有一个处理器访问请求,多个处理器的访问请求不会相互影响。
作为一种可选的实施方式,所述仲裁器用于对多个处理器发送的相同类型的访问请求进行仲裁,以使相同类型的访问请求每次仅有一个被发送至闪存模块,不同类型的访问请求产生并发。
在一些实施例中,通过对相同类型的访问请求进行仲裁,使得相同类型的访问请求之间形成竞争关系,而不同类型之间则形成并发关系。这种处理方式下,如果有两个处理器先后发送的不同类型的访问请求,闪存模块会先后接收到两个不同类型的访问请求,例如,一个处理器发送的擦写访问请求,闪存模块在执行时,另一个处理器又发送了读访问请求,此时,闪存模块也会接收到该读访问请求。
作为一种可选的实施方式,当所述多个处理器中的其中一个与所述闪存模块的传输协议不同时,所述片上系统互连总线模块还包括转换单元,所述转换单元与传输协议不同的处理器通信连接,所述转换单元用于将传输协议不同的处理器向所述闪存模块发送的访问请求进行转换。
作为一种可选的实施方式,所述转换单元用于将对应的处理器与所述存储模块的传输协议、数据位宽以及时钟频率进行转换。
在一些实施例中,由于处理器的接口协议、数据位宽以及时钟频率等通常存在差异,同时,处理器与闪存模块之间的接口协议、数据位宽以及时钟频率也会存在差异,因此,在本实施方式中,每个处理器对应一个转换单元,用来对处理器和存储子模块之间的通信数据进行转换,以便每个处理器都能正确的擦写和读出数据。
本发明实施例还提供一种物联网芯片,所述物联网芯片包括如上述任意一项所述的共享闪存的片上系统。
本发明实施例还提供一种物联网设备,所述物联网设备包括如上述的物联网芯片。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种片上系统共享闪存的方法,其特征在于,执行于多处理器片上系统的其中一个处理器中,所述方法包括,
在向所述闪存控制器发送擦写访问请求时,将所述擦写访问请求对应的数据分割为多个数据单元,以使闪存控制器逐数据单元擦写对应的地址段;
在向所述闪存控制器发送擦写访问请求后,监控所述闪存控制器的擦写进程以及多个所述处理器中的其他所述处理器的读访问请求状态;
当闪存控制器完成了一个以上的数据单元的擦写,且其他所述处理器中的任意一个处于发送了读访问请求的状态时,挂起当前的擦写访问请求,以使所述闪存控制器响应所述读请求;
当所述读访问请求结束时,继续当前的擦写访问请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在向闪存控制器发送擦写访问请求时,向多个所述处理器中的其他所述处理器发送等待通知,以使多个所述处理器中的其他所述处理器在擦写访问请求执行期间保持等待;
在擦写访问请求结束或挂起后,向多个所述处理器中的其他处理器发送结束通知。
3.一种片上系统共享闪存的方法,其特征在于,执行于多处理器片上系统的其中一个处理器中,所述方法包括,
在向所述闪存控制器发送读访问请求之前,向多个所述处理器中的其他所述处理器发送读访问通知,以使其他所述处理器中正在进行擦写访问请求的处理器在当前数据单元擦写完成后挂起当前的擦写访问请求;
在所述擦写访问请求挂起后,向所述闪存控制器发送读访问请求;
在读访问请求结束后,向其他所述处理器发送结束通知,以使挂起的擦写访问请求继续被执行。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在向闪存控制器发送读访问请求之前,向所述多个所述处理器中的其他所述处理器发送查询通知,以使多个处理器中的其他所述处理器返回当前的访问状态;
在接收到其他所述处理器中的任何一个返回擦写访问请求的状态时,保持当前的读访问请求处于等待状态;
在接收到对应于擦写访问请求结束或挂起的结束通知时,执行处于等待状态的读访问请求。
5.一种片上系统共享闪存的方法,其特征在于,执行于多处理器片上系统的存储模块中的闪存控制器,所述方法包括,
在接收多个所述处理器中的其中一个所述处理器发送的擦写访问请求并响应时,将所述存储子模块划分为多个地址段,并逐地址段执行所述擦写访问请求;
在当前地址段未擦写完成,且接收到多个处理器中的其他处理器的读访问请求时,通过握手协议使多个所述处理器中的其他所述处理器发送的读访问请求保持等待状态;
在当前地址段擦写完成后,将所述擦写访问请求挂起,并响应保持等待状态的读访问请求;
在所述读访问请求执行结束后,继续执行挂起的擦写访问请求。
6.一种共享闪存的片上系统,其特征在于,包括:
多个处理器,用于获取并执行代码指令;
闪存模块,所述闪存模块包括闪存控制器和存储子模块,所述存储子模块用于存储多个所述处理器所需要的代码指令,所述闪存控制器用于响应于多个所述处理器的请求从所述存储子模块取出并发送对应代码指令;其中,所述代码指令至少包括第一代码指令和第二代码指令;第一代码指令能够被其中一个处理器执行,以使所述其中一个处理器能执行如权利要求1-2中任一项所述的片上系统共享闪存的方法;第二代码指令能够被其中一个处理器执行,以使所述其中一个处理器能执行如权利要求3-4中任一项所述的片上系统共享闪存的方法;所述闪存控制器具有判断电路,所述判断电路响应于多个处理器的请求执行如权利要求5所述的片上系统共享闪存的方法;
片上系统互联总线模块,所述片上系统互联总线模块用于将所述多个处理器与所述闪存模块通信连接;其中,
所述片上系统互联总线模块包括:
仲裁器,所述仲裁器与多个所述处理器通信连接,所述仲裁器与闪存模块通信连接,所述仲裁器用于将所述多个处理器发送的访问请求进行仲裁,确定当前需要向所述闪存模块发送的访问请求。
7.根据权利要求6所述的共享闪存的片上系统,其特征在于,所述仲裁器用于对多个处理器发送的访问请求进行仲裁,以使所述多个处理器发送中仅有一个处理器的访问请求被发送至闪存模块。
8.根据权利要求6所述的共享闪存的片上系统,其特征在于,所述仲裁器用于对多个处理器发送的相同类型的访问请求进行仲裁,以使相同类型的访问请求每次仅有一个被发送至闪存模块,不同类型的访问请求产生并发。
9.一种物联网芯片,其特征在于,所述物联网芯片包括如权利要求8所述的共享闪存的片上系统。
10.一种物联网设备,其特征在于,所述物联网设备包括如权利要求9所述的物联网芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410456380.3A CN118245250A (zh) | 2024-04-16 | 2024-04-16 | 片上系统共享闪存的方法、片上系统、物联网芯片及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410456380.3A CN118245250A (zh) | 2024-04-16 | 2024-04-16 | 片上系统共享闪存的方法、片上系统、物联网芯片及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118245250A true CN118245250A (zh) | 2024-06-25 |
Family
ID=91564526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410456380.3A Pending CN118245250A (zh) | 2024-04-16 | 2024-04-16 | 片上系统共享闪存的方法、片上系统、物联网芯片及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118245250A (zh) |
-
2024
- 2024-04-16 CN CN202410456380.3A patent/CN118245250A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4928224A (en) | Multiprocessor system featuring global data multiplation | |
US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
JP2002117002A (ja) | 共用型ペリフェラルアーキテクチャ | |
KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
US5371857A (en) | Input/output interruption control system for a virtual machine | |
KR100630071B1 (ko) | 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치 | |
JP2002278833A (ja) | ディスクアレイ制御装置 | |
JPH0520278A (ja) | マイクロコンピユータ | |
KR101103619B1 (ko) | 멀티 포트 메모리 및 그 억세스 제어 방법 | |
CN117009266A (zh) | 一种握手协议总线仲裁模块及片上系统 | |
US8117626B2 (en) | Asynchronous remote procedure calling method and computer product in shared-memory multiprocessor | |
CN118245250A (zh) | 片上系统共享闪存的方法、片上系统、物联网芯片及设备 | |
JP2006268753A (ja) | Dma回路及びコンピュータシステム | |
JP3466214B2 (ja) | 情報処理装置 | |
US9946665B2 (en) | Fetch less instruction processing (FLIP) computer architecture for central processing units (CPU) | |
JP2007141155A (ja) | マルチコアプロセッサにおけるマルチコア制御方法 | |
JPH11232213A (ja) | 入出力装置におけるデータ転送方式 | |
JP4983133B2 (ja) | 入出力制御装置およびその制御方法、並びにプログラム | |
CN116225995B (zh) | 一种总线系统及芯片 | |
CN113176950B (zh) | 报文处理方法、装置、设备及计算机可读存储介质 | |
CN113094302B (zh) | 内存管理方法及存储控制器 | |
CN116069451B (zh) | 一种虚拟化方法、装置、设备、介质、加速器及系统 | |
JPH10283302A (ja) | 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
JP2785738B2 (ja) | 分散メモリ型マルチプロセッサ情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |