CN116235139A - 一种处理器、ufs控制方法及计算机系统 - Google Patents
一种处理器、ufs控制方法及计算机系统 Download PDFInfo
- Publication number
- CN116235139A CN116235139A CN202080104532.3A CN202080104532A CN116235139A CN 116235139 A CN116235139 A CN 116235139A CN 202080104532 A CN202080104532 A CN 202080104532A CN 116235139 A CN116235139 A CN 116235139A
- Authority
- CN
- China
- Prior art keywords
- call
- register
- hci
- extended
- doorbell
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000003860 storage Methods 0.000 claims description 132
- 230000002093 peripheral effect Effects 0.000 claims description 16
- 238000010926 purge Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 7
- 238000012546 transfer Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Abstract
本申请公开了一种处理器、UFS控制方法及计算机系统,该处理器主要包括第一处理器核、第二处理器核、HCI和SDS。其中,HCI包括第一扩展门铃寄存器和第二扩展门铃寄存器。第一处理器核可以通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息;第二处理器核可以通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息。第一处理器核和第二处理器核调用HCI的过程互不干扰,从而有利于提高UFS访问效率。
Description
本申请涉及UFS技术领域,尤其涉及一种处理器、UFS控制方法及计算机系统。
通用闪存存储(universal flash storage,UFS)接口是新一代通用存储接口,具有结构简单、性能较高的特点,因此被广泛应用于手机、智能相机等电子设备中。在电子设备中,UFS接口常被用作处理器与大容量存储设备间的数据传输接口,能够实现高速的文件传输。
在支持UFS接口的处理器中,一般可以包括处理器核、主机控制器接口(host controller interface,HCI)和服务交付子系统(service delivery subsystem,SDS)。其中,处理器核可以调用HCI将指令信息下发给SDS。SDS进而可以执行该指令信息,例如,UFS接口电路可以根据该指令信息读写存储设备中的数据、管理存储设备中的存储空间等等。
然而,随着人们对电子设备性能要求的不断提升,处理器中集成了越来越多的处理器核,这种处理器通常也被称为多核处理器。在支持UFS接口的多核处理器中,如何实现多个处理器核高效协作运行,使多个处理器核皆可以高效调用HCI,是目前UFS接口领域亟需解决的问题之一。因此,目前UFS接口在多核处理器中的应用还有待进一步研究。
发明内容
本申请提供一种处理器、UFS控制方法及计算机系统,有利于提高多核处理器中UFS访问效率,实现多个处理器核高效协作运行。
第一方面,本申请实施例提供一种处理器,该处理器主要包括第一处理器核、第二处理器核、主机控制器寄存器HCI和服务交付子系统SDS。其中,HCI包括第一扩展门铃寄存器和第二扩展门铃寄存器。第一处理器核可以通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息;第二处理器核可以通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息。
本申请实施例所提供的处理器可以是片上系统(system on chip,SoC)或其它多核处理芯片。处理器中的第一处理器核和第二处理器核可以是具有运算及控制功能的逻辑电路,能够独立完成各种控制命令的下发与响应。第一指令信息可以是第一处理器核调用HCI下发的指令信息,第二指令信息可以是第二处理器核调用HCI下发的指令信息。应理解,第一指令信息和第二指令信息皆可以是UTRD,第一指令信息和第二指令信息的具体信息内容可以相同,也可以不同,二者的具体实现方式皆可以参考常规的指令信息,本申请实施例对此并不多做限制。
在本申请实施例所提供的处理器中,第一处理器核和第二处理器核分别对应有不同的扩展门铃寄存器,当第一处理器核通过第一扩展门铃寄存器调用HCI时,第一处理器核无需对第一扩展门铃寄存器进行加锁,第一处理器核在结束调用后也无需对第一扩展门铃寄存器进行解锁,第一处理器核更无需等待第二处理器核结束访问第一扩展门铃寄存器后再访问第一扩展门铃寄存器。第二处理器核同理,不再赘述。因此,本申请实施例所提供的处理器中第一处理器核和第二处理器核调用HCI的过程互不干扰,从而有利于使第一处理 器核和第二处理器核可以高效调用HCI,进而有利于提高UFS访问效率。
可以理解,处理器中可以包括两个及两个以上的处理器核。在一种可能的实现方式中,处理器可以包括多个处理器核,上述第一处理器核可以是该多个处理器核中的任一处理器核,上述第二处理器核可以是上述多个处理器核中除该第一处理器核之外的任一处理器核。HCI还可以包括多个扩展门铃寄存器,且该多个扩展门铃寄存器与上述多个处理器核一一对应,其中,上述第一扩展门铃寄存器可以是与第一处理器核对应的扩展门铃寄存器,第二扩展门铃寄存器可以是与第二处理器核对应的扩展门铃寄存器。
处理器中的多个处理器核和多个扩展门铃寄存器之间分别一一对应,每个处理器核皆可以通过对应的扩展门铃寄存器调用HCI下发指令信息。采用该实现方式,多个处理器核访问扩展门铃寄存器的过程互不干扰,从而有利于实现多核解耦,进而有利于更加有效地提高处理器的UFS访问效率。
在目前的中断反馈架构中,HCI只能将中断信息路由到特定的处理器核,由该特定的处理器核统一管理,中断信息无法直接上报给相应的处理器核进行处理。这种中断反馈流程较为复杂,从而导致中断响应效率低下。有鉴于此,本申请实施例中HCI还可以包括第一扩展反馈寄存器和第二扩展反馈寄存器。在此情况下,第一处理器核通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息之后,HCI可以在SDS完成执行第一指令信息后,通过第一扩展反馈寄存器向第一处理器核反馈第一中断信息;第二处理器核通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息之后,HCI可以在SDS完成执行第二指令信息后,通过第二扩展反馈寄存器向第二处理器核反馈第二中断信息。
其中,第一中断信息可以是SDS在执行完第一处理器核下发的第一指令信息后生成的中断信息,第二中断信息可以是SDS在执行完第二处理器核下发的第二指令信息后生成的中断信息。采用该实现方式,第一处理器核和第二处理器核分别具有单独的中断上报通道,第一中断信息和第二中断信息无需由特定的处理器核统一管理,因此有利于提高中断响应效率。
为了使第一处理器核和第二处理器核能够灵活控制中断信息的反馈方式,在一种可能的实现方式中,HCI还可以包括第一反馈开关寄存器和第二反馈开关寄存器,在此情况下,第一处理器核可以通过第一反馈开关寄存器,调用HCI开启或关闭第一扩展反馈寄存器;第二处理器核可以通过第二反馈开关寄存器,调用HCI开启或关闭第二扩展反馈寄存器。
采用该实现方式,有利于第一处理器核和第二处理器核灵活控制中断信息的反馈方式。例如,当第一处理器核对中断响应效率要求较高时,第一处理器核可以通过第一反馈开关寄存器,调用HCI开启对应的第一扩展反馈寄存器。HCI便可以通过第一扩展反馈寄存器向第一处理器核快速反馈第一中断信息。当第一处理器核对中断响应效率要求较低时,第一处理器核可以通过第一反馈开关寄存器,调用HCI关闭对应的第一扩展反馈寄存器,HCI便无法通过第一扩展反馈寄存器向第一处理器核快速反馈第一中断信息。
为了适配于第一扩展门铃寄存器和第二扩展门铃寄存器,在一种可能的实现方式中,第一扩展门铃寄存器可以与内存中第一扩展存储空间对应,第二扩展门铃寄存器可以与内存中的第二扩展存储空间对应。在此情况下,第一处理器核通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息时,第一处理器核可以向第一扩展存储空间写入第一指令信息;HCI可以从第一扩展存储空间读取第一指令信息,并将该第一指令信息提供给SDS;第二处理器核通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息时,第二处理 器核可以向第二扩展存储空间写入第二指令信息;HCI可以从第二扩展存储空间读取第二指令信息,并将第二指令信息提供给SDS。
为了兼容UFS协议,在一种可能的实现方式中,处理器可以包括多个处理器核,该多个处理器核包括上述第一处理器核和上述第二处理器核,HCI还可以包括协议门铃寄存器,内存还可以包括与该协议门铃寄存器对应的协议存储空间。在此情况下,HCI可以通过协议门铃寄存器接收多个处理器核中任一处理器核的调用;HCI可以基于任一处理器核的调用,从协议存储空间读取该任一处理器核写入的指令信息,并将读取到的指令信息提供给SDS。
处理器中的多个处理器核通过协议门铃寄存器调用HCI的具体调用方式符合UFS协议规定,使得本申请实施例所提供的处理器可以在提高UFS访问效率的同时,仍能够兼容UFS协议规定。
可以理解,HCI需要借助于第一扩展存储空间的地址信息和第二扩展空间的地址信息才能够读取第一指令信息和第二指令信息,有鉴于此,在一种可能的实现方式中,第一扩展存储空间的地址和第二扩展存储空间的地址依次连续排列于协议存储空间的地址之后,HCI还包括协议地址寄存器,协议地址寄存器用于存储协议存储空间的地址信息。在此情况下,HCI向SDS提供第一指令信息时,HCI可以根据协议地址寄存器中存储的协议存储空间的地址信息,计算得到第一扩展存储空间的地址信息;根据第一扩展存储空间的地址信息,从第一扩展存储空间中读取第一指令信息,并将第一指令信息提供给SDS。HCI向SDS提供第二指令信息时,HCI可以根据协议地址寄存器中存储的协议存储空间的地址信息,计算得到第二扩展存储空间的地址信息;根据第二扩展存储空间的地址信息,从第二扩展存储空间中读取第二指令信息,并将第二指令信息提供给SDS。
采用该实现方式,无需在HCI中增设其它地址寄存器,HCI便可以访问协议存储空间和各个扩展存储空间,因此有利于简化HCI的结构。
在另一种可能的实现方式中,HCI还可以包括第一扩展地址寄存器和第二扩展地址寄存器,其中,第一扩展地址寄存器用于存储第一扩展存储空间的地址信息,第二扩展地址寄存器用于存储第二扩展存储空间的地址信息。在此情况下,HCI向SDS提供第一指令信息时,HCI可以根据第一扩展地址寄存器中第一扩展存储空间的地址信息,从第一扩展存储空间中读取第一指令信息,并将第一指令信息提供给SDS;HCI向SDS提供第二指令信息时,HCI可以根据第二扩展地址寄存器中第二扩展存储空间的地址信息,从第二扩展存储空间中读取第二指令信息,并将第二指令信息提供给SDS。
采用该实现方式,无需限制不同存储空间之间的排列关系,因此可以更加灵活的使用内存的存储资源。
为了使第一处理器核和第二处理器核能够更加灵活地控制指令信息的执行情况,在一种可能的实现方式中,HCI还可以包括第一清除寄存器和第二清除寄存器。在此情况下,第一处理器核可以通过第一清除寄存器,调用HCI指示SDS停止执行第一指令信息;第二处理器核可以通过第二清除寄存器,调用HCI指示SDS停止执行第二指令信息。
采用该实现方式,第一处理器核和第二处理器核可以灵活控制指令信息的执行情况。例如,当一个第一指令信息长时间未被执行或者长时间未执行完成时,第一处理器核便可以通过第一清除寄存器,调用HCI指示SDS停止执行该第一指令信息。
通过上述对门铃寄存器的扩展,即在HCI中增设扩展门铃寄存器,目前UFS协议所规 定的仲裁方案在本申请实施例提供的处理器中的执行效果并不理想。有鉴于此,本申请实施例还提供以下几种与处理器相适配的仲裁方案,在处理器工作过程中,可以采用以下任一种仲裁方案确定接下来所执行的调用,示例性的:
仲裁方案一
第一扩展门铃寄存器可以包括多个调用slot,且多个调用slot对应有优先级,每个调用slot皆可以接受调用。在此情况下,HCI在第一扩展门铃寄存器中存在多个调用slot接受到调用时,可以根据接受到调用的多个调用slot分别对应的优先级,依次执行上述多个调用slot接受到的调用。
仲裁方案二
第一扩展门铃寄存器可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,HCI可以从第一扩展门铃寄存器中的起始调用slot开始,依次轮询第一扩展门铃寄存器的多个调用slot;在确定任一调用slot接受到调用后,执行该任一调用slot接受到的调用;将该任一调用slot的下一个调用slot作为起始调用slot,并继续依次轮询第一扩展门铃寄存器的多个调用slot。
仲裁方案三
第一扩展门铃寄存器的优先级高于第二扩展门铃寄存器的优先级。在此情况系下,HCI在从第一扩展门铃寄存器和第二扩展门铃寄存器皆接受到调用时,可以先执行第一扩展门铃寄存器接受到的调用,再执行第二扩展门铃寄存器接受到的调用。
应理解,仲裁方案三针对扩展门铃寄存器之间的仲裁,而仲裁方案一和仲裁方案二针对扩展门铃寄存器内部多个调用slot之间的仲裁。因此仲裁方案三能够与仲裁方案一或仲裁方案二相互结合。
仲裁方案四
第一扩展门铃寄存器和第二扩展门铃寄存器皆可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,HCI可以从起始调用slot开始,依次轮询全体调用slot,该全体调用slot包括第一扩展门铃寄存器和第二扩展门铃寄存器中的调用slot;HCI在确定任一调用slot接受到调用后,执行该任一调用slot接受到的调用;HCI以该任一调用slot的下一个调用slot作为起始调用slot,继续依次轮询全体调用slot。
仲裁方案五
第一扩展门铃寄存器和第二扩展门铃寄存器皆可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,当全体调用slot中存在多个调用slot接受到调用时,HCI可以根据该多个调用slot分别接受到调用的时间先后顺序,依次执行该多个调用slot分别接受到的调用,上述全体调用slot可以包括第一扩展门铃寄存器和第二扩展门铃寄存器中的调用slot。
在一种可能的实现方式中,全体调用slot中的每个调用slot皆可以对应有排列次序,在此情况下,当存在多个调用slot同时接受到调用时,HCI可以优先执行第一调用slot接受到的调用,其中,该第一调用slot可以是上述多个调用slot中,与起始调用slot的排列次序最为接近的调用slot,该起始调用slot可以是HCI最后执行的调用对应的调用slot的下一个调用slot。
为了使第一处理器核和第二处理器核能够更加灵活地控制下发指令信息的具体方式,在一种可能的实现方式中,HCI还可以包括第一门铃开关寄存器和第二门铃开关寄存器在 此情况下,第一处理器核可以通过第一门铃开关寄存器,调用HCI开启或关闭第一扩展门铃寄存器;第二处理器核可以通过第二门铃开关寄存器,调用HCI开启或关闭第二扩展门铃寄存器。
第二方面,本申请实施例还提供一种UFS控制方法,该方法可以应用于上述第一方面中任一项所提供的处理器。第二方面中相应方案的技术效果可以参照第一方面中对应方案可以得到的技术效果,重复之处不予详述。示例性的,该处理器主要包括第一处理器核、第二处理器核、主机控制器寄存器HCI和服务交付子系统SDS,其中,HCI包括第一扩展门铃寄存器和第二扩展门铃寄存器。本方法主要包括:第一处理器核可以通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息;第二处理器核可以通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息。
需要指出的是,本申请实施例中处理器可以包括多个处理器核,上述第一处理器核可以是该多个处理器核中的任一处理器核,上述第二处理器核可以是上述多个处理器核中除该第一处理器核之外的任一处理器核。HCI还可以包括多个扩展门铃寄存器,且该多个扩展门铃寄存器与上述多个处理器核一一对应,其中,上述第一扩展门铃寄存器可以是与第一处理器核对应的扩展门铃寄存器,第二扩展门铃寄存器可以是与第二处理器核对应的扩展门铃寄存器。
为了提高中断反馈效率,在一种可能的实现方式中,HCI还包括第一扩展反馈寄存器和第二扩展反馈寄存器。在此情况下,第一处理器核通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息之后,HCI可以在SDS完成执行第一指令信息后,通过第一扩展反馈寄存器向第一处理器核反馈第一中断信息;第二处理器核通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息之后,HCI可以在SDS完成执行第二指令信息后,通过第二扩展反馈寄存器向第二处理器核反馈第二中断信息。
为了使第一处理器核和第二处理器核能够灵活控制中断信息的反馈方式,在一种可能的实现方式中,HCI还可以包括第一反馈开关寄存器和第二反馈开关寄存器,在此情况下,第一处理器核可以通过第一反馈开关寄存器,调用HCI开启或关闭第一扩展反馈寄存器;第二处理器核可以通过第二反馈开关寄存器,调用HCI开启或关闭第二扩展反馈寄存器。
为了适配于第一扩展门铃寄存器和第二扩展门铃寄存器,在一种可能的实现方式中,第一扩展门铃寄存器可以与内存中第一扩展存储空间对应,第二扩展门铃寄存器可以与内存中的第二扩展存储空间对应。在此情况下,第一处理器核通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息时,第一处理器核可以向第一扩展存储空间写入第一指令信息;HCI可以从第一扩展存储空间读取第一指令信息,并将该第一指令信息提供给SDS;第二处理器核通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息时,第二处理器核可以向第二扩展存储空间写入第二指令信息;HCI可以从第二扩展存储空间读取第二指令信息,并将第二指令信息提供给SDS。
为了兼容UFS协议,在一种可能的实现方式中,处理器可以包括多个处理器核,该多个处理器核包括上述第一处理器核和上述第二处理器核,HCI还可以包括协议门铃寄存器,内存还可以包括与该协议门铃寄存器对应的协议存储空间。在此情况下,HCI可以通过协议门铃寄存器接收多个处理器核中任一处理器核的调用;HCI可以基于任一处理器核的调用,从协议存储空间读取该任一处理器核写入的指令信息,并将读取到的指令信息提供给SDS。
可以理解,HCI需要借助于第一扩展存储空间的地址信息和第二扩展空间的地址信息才能够读取第一指令信息和第二指令信息,有鉴于此,在一种可能的实现方式中,第一扩展存储空间的地址和第二扩展存储空间的地址依次连续排列于协议存储空间的地址之后,HCI还包括协议地址寄存器,协议地址寄存器用于存储协议存储空间的地址信息。在此情况下,HCI向SDS提供第一指令信息时,HCI可以根据协议地址寄存器中存储的协议存储空间的地址信息,计算得到第一扩展存储空间的地址信息;根据第一扩展存储空间的地址信息,从第一扩展存储空间中读取第一指令信息,并将第一指令信息提供给SDS。HCI向SDS提供第二指令信息时,HCI可以根据协议地址寄存器中存储的协议存储空间的地址信息,计算得到第二扩展存储空间的地址信息;根据第二扩展存储空间的地址信息,从第二扩展存储空间中读取第二指令信息,并将第二指令信息提供给SDS。
在另一种可能的实现方式中,HCI还可以包括第一扩展地址寄存器和第二扩展地址寄存器,其中,第一扩展地址寄存器用于存储第一扩展存储空间的地址信息,第二扩展地址寄存器用于存储第二扩展存储空间的地址信息。在此情况下,HCI向SDS提供第一指令信息时,HCI可以根据第一扩展地址寄存器中第一扩展存储空间的地址信息,从第一扩展存储空间中读取第一指令信息,并将第一指令信息提供给SDS;HCI向SDS提供第二指令信息时,HCI可以根据第二扩展地址寄存器中第二扩展存储空间的地址信息,从第二扩展存储空间中读取第二指令信息,并将第二指令信息提供给SDS。
为了使第一处理器核和第二处理器核能够更加灵活地控制UFS接口,在一种可能的实现方式中,HCI还可以包括第一清除寄存器和第二清除寄存器。在此情况下,第一处理器核可以通过第一清除寄存器,调用HCI指示SDS停止执行第一指令信息;第二处理器核可以通过第二清除寄存器,调用HCI指示SDS停止执行第二指令信息。
通过上述对门铃寄存器的扩展,即在HCI中增设扩展门铃寄存器,目前UFS协议所规定的仲裁方案在本申请实施例提供的处理器中的执行效果并不理想。有鉴于此,本申请实施例还提供以下几种与处理器相适配的仲裁方案,在处理器工作过程中,可以采用以下任一种仲裁方案确定接下来所执行的调用,示例性的:
仲裁方案一
第一扩展门铃寄存器可以包括多个调用slot,且多个调用slot对应有优先级,每个调用slot皆可以接受调用。在此情况下,HCI在第一扩展门铃寄存器中存在多个调用slot接受到调用时,可以根据接受到调用的多个调用slot分别对应的优先级,依次执行上述多个调用slot接受到的调用。
仲裁方案二
第一扩展门铃寄存器可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,HCI可以从第一扩展门铃寄存器中的起始调用slot开始,依次轮询第一扩展门铃寄存器的多个调用slot;在确定任一调用slot接受到调用后,执行该任一调用slot接受到的调用;将该任一调用slot的下一个调用slot作为起始调用slot,并继续依次轮询第一扩展门铃寄存器的多个调用slot。
仲裁方案三
第一扩展门铃寄存器的优先级高于第二扩展门铃寄存器的优先级。在此情况系下,HCI在从第一扩展门铃寄存器和第二扩展门铃寄存器皆接受到调用时,可以先执行第一扩展门铃寄存器接受到的调用,再执行第二扩展门铃寄存器接受到的调用。
应理解,仲裁方案三针对扩展门铃寄存器之间的仲裁,而仲裁方案一和仲裁方案二针对扩展门铃寄存器内部多个调用slot之间的仲裁。因此仲裁方案三能够与仲裁方案一或仲裁方案二相互结合。
仲裁方案四
第一扩展门铃寄存器和第二扩展门铃寄存器皆可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,HCI可以从起始调用slot开始,依次轮询全体调用slot,该全体调用slot包括第一扩展门铃寄存器和第二扩展门铃寄存器中的调用slot;HCI在确定任一调用slot接受到调用后,执行该任一调用slot接受到的调用;HCI以该任一调用slot的下一个调用slot作为起始调用slot,继续依次轮询全体调用slot。
仲裁方案五
第一扩展门铃寄存器和第二扩展门铃寄存器皆可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,当全体调用slot中存在多个调用slot接受到调用时,HCI可以根据该多个调用slot分别接受到调用的时间先后顺序,依次执行该多个调用slot分别接受到的调用,上述全体调用slot可以包括第一扩展门铃寄存器和第二扩展门铃寄存器中的调用slot。
在一种可能的实现方式中,全体调用slot中的每个调用slot皆可以对应有排列次序,在此情况下,当存在多个调用slot同时接受到调用时,HCI可以优先执行第一调用slot接受到的调用,其中,该第一调用slot可以是上述多个调用slot中,与起始调用slot的排列次序最为接近的调用slot,该起始调用slot可以是HCI最后执行的调用对应的调用slot的下一个调用slot。
为了使第一处理器核和第二处理器核能够更加灵活地控制下发指令信息的具体方式,在一种可能的实现方式中,HCI还可以包括第一门铃开关寄存器和第二门铃开关寄存器在此情况下,第一处理器核可以通过第一门铃开关寄存器,调用HCI开启或关闭第一扩展门铃寄存器;第二处理器核可以通过第二门铃开关寄存器,调用HCI开启或关闭第二扩展门铃寄存器。
第三方面,本申请实施例还提供一种计算机系统,该计算机系统主要包括如上述第一方面中任一项所提供的处理器,和UFS外设,且处理器中的SDS与UFS外设耦合。示例性的,该计算机系统可以是个人电脑、手机、平板等电子设备,也可以是电脑主板等模块(或模组)。UFS外设可以是闪存、存储卡等等。
本申请的这些方面或其它方面在以下实施例的描述中会更加简明易懂。
图1为一种电子设备结构示意图;
图2为一种HCI结构示意图;
图3为本申请实施例提供的一种电子设备结构示意图;
图4为本申请实施例提供的一种扩展门铃寄存器与扩展存储空间之间的对应关系示意图;
图5为本申请实施例提供的一种HCI结构示意图;
图6为本申请实施例提供的一种仲裁方案示意图之一;
图7为本申请实施例提供的一种仲裁方案示意图之二;
图8为本申请实施例提供的一种仲裁方案示意图之三;
图9为本申请实施例提供的一种仲裁方案示意图之四。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中“至少一个”是指一个或多个,其中,多个是指两个或两个以上。鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
UFS接口是处理器中的新一代通用存储接口,处理器可以通过UFS接口连接存储器。例如图1所示的电子设备00主要包括处理器10和UFS外设20。其中,处理器10可以是片上系统(system on chip,SoC)或者其它多核处理芯片。如图1所示,处理器10包括UFS接口11,该UFS接口11与UFS外设20连接。UFS外设20可以是通过UFS接口11与处理器10耦合的设备。例如,UFS外设20可以是闪存、存储卡等等,本申请实施例对此不再一一列举。
如图1所示,处理器10还包括多个处理器核(处理器核12-1至处理器核12-N),N为大于1的整数。也就是说,处理器11为多核处理器。其中,每个处理器核皆可以是具有逻辑运算及控制功能的逻辑电路(或模块)。处理器11中的多个处理器核可以协同运行,以提高处理器11整体的运算速度。
具体来说,如图1所示,UFS接口11中通常设置有HCI111和SDS112。HCI111中包括多种类型的寄存器,不同类型的寄存器可以接受不同类型的调用,也可以理解为,不同类型的寄存器提供了不同功能的调用通道。
例如图2所示,HCI111中可以包括门铃(doorbell)寄存器,doorbell寄存器为多个处理器核提供了任务下发通道,每个处理器核皆可以通过doorbell寄存器调用HCI111向SDS112下发指令信息。
其中,指令信息用于指示SDS112执行数据传输,例如,当SDS112执行该指令信息时,SDS112可以根据该指令信息从UFS外设20中读取数据或者写入数据。在一种可能的实现方式中,该指令信息可以包括UFS传输协议传输请求描述符(UFS transfer protocol transfer request descriptor,UTRD)。示例性的,SDS112主要包括联合协议(unified protocol,UniPro)电路和M-物理接口(M-physical layer,M-PHY)电路,UniPro电路和M-PHY电路的具体实现可以参考UniPro协议和M-PHY协议,对此不再赘述。
一般来说,目前的多核处理器多采用“加锁访问”的调用方式,以使多个处理器核可以通过同一个doorbell寄存器协同调用HCI111。以处理器核12-1为例,处理器核12-1在通过doorbell寄存器调用HCI111时,会锁定doorbell寄存器。此时,其它处理器核将无法访问doorbell寄存器。
处理器核12-1先遍历doorbell寄存器中的32个调用slot,从中确定一个没有被其它处 理器核占用的调用slot作为目标调用slot。其中,没有被占用的调用slot的电平为0电平,已被占用的调用slot的电平为1电平。
处理器核12-1将该目标调用slot的电平置起,即该目标调用slot的电平由0电平置为1电平,从而占用了该目标调用slot,并向HCI111发起了调用,从而调用HCI111向SDS112下发指令信息。该指令信息可以指示SDS112访问UFS外设20,例如可以指示UFS外设20读取或写入数据等。
处理器核12-1解除对doorbell寄存器的锁定(解锁),从而使其它处理器核也能够访问doorbell寄存器。其它处理器核通过doorbell寄存器调用HCI111的具体实现方式与处理器核12-1类似,对此不再赘述。
虽然采用“加锁访问”的调用方式可以在一定程度上避免不同处理器核之间出现调用冲突,但调用HCI111时需要花费较多时间在加锁及解锁的流程上,进而延迟了向SDS112发送指令信息的平均用时,不利于提高UFS访问效率,其中,UFS访问效率可以理解为处理器10通过UFS接口11访问UFS外设20的效率。而且,一个处理器访问doorbell寄存器时,其它处理器无法访问该doorbell寄存器,也不利于提高UFS访问效率。
有鉴于此,本申请实施例提供一种处理器,该处理器可以是多核处理器,可以应用于SoC或者其它多核处理芯片。相较于常规的处理器(处理器10),本申请实施例所提供的处理器中增设了多个扩展门铃寄存器,使不同的处理器核分别通过不同的扩展门铃寄存器调用HCI,以防止不同的处理器核之间出现调用冲突。同时,不同的处理器核在访问扩展门铃寄存器时,无需加锁,也无需解锁,更无需等待其它处理器核结束访问扩展门铃寄存器后再进行访问,因此还有利于提高UFS访问效率。
示例性的,如图3所述的电子设备00*中,处理器30包括处理器核32-1(第一处理器核)、处理器核32-2(第二处理器核)、HCI31和SDS33。其中,HCI31包括扩展门铃寄存器1(第一扩展门铃寄存器)和扩展门铃寄存器2(第二扩展门铃寄存器)。
处理器核32-1可以通过扩展门铃寄存器1调用HCI31向SDS33提供指令信息1,处理器核32-2可以通过扩展门铃寄存器2调用HCI31向SDS33提供指令信息2。其中,扩展门铃寄存器,也可以称为UFS传输协议传输请求页表门铃寄存器(UFS transfer protocol transfer request list door bell register,UTRLDBR)。
在本申请实施例中,处理器核32-1和处理器核32-2皆可以是具有运算及控制功能的逻辑电路,能够独立完成各种控制命令的下发与响应。指令信息1可以是处理器核32-1调用HCI31下发的指令信息,指令信息2可以是处理器核32-2调用HCI31下发的指令信息。应理解,指令信息1和指令信息2皆可以是UTRD,指令信息1和指令信息2的信息内容可以相同,也可以不同,二者的具体实现方式皆可以参考常规的指令信息,本申请实施例对此并不多做限制。
HCI31可以基于扩展门铃寄存器1接受到的调用,向SDS33提供指令信息1,以及,基于扩展门铃寄存器2接受到的调用,向SDS33提供指令信息2。SDS33可以执行上述指令信息1和指令信息2,其具体实现形式可以参考UFS协议,对此不再赘述。
在本申请实施例所提供的处理器30中,处理器核32-1和处理器核32-2分别对应有不同的扩展门铃寄存器。当处理器核32-1通过扩展门铃寄存器1调用HCI31时,处理器核32-1无需对扩展门铃寄存器1进行加锁,处理器核32-1在结束调用后也无需对扩展门铃寄存器1进行解锁,处理器核32-1更无需等待处理器核32-2结束访问扩展门铃寄存器1后 再访问扩展门铃寄存器1。处理器核32-2同理,不再赘述。
因此,本申请实施例所提供的处理器30中的处理器核32-1和处理器核32-2调用HCI31的过程互不干扰,从而有利于使处理器核32-1和处理器核32-2可以高效调用HCI31,进而有利于提高UFS访问效率。
可以理解,处理器30中可以包括两个及两个以上的处理器核。在一种可能的实现方式中,处理器30可以包括多个处理器核,和多个扩展门铃寄存器。示例性的,如图3所示,处理器30包括N个处理器核(处理器核12-1至处理器核12-N),以及N个扩展门铃寄存器(扩展门铃寄存器1至扩展门铃寄存器N),N为大于1的整数。
N个处理器核和N个扩展门铃寄存器之间分别一一对应,每个处理器核皆可以通过对应的扩展门铃寄存器调用HCI31下发指令信息。具体来说,处理器核12-1可以通过扩展门铃寄存器1调用HCI31下发指令信息1,处理器核12-2可以通过扩展门铃寄存器2调用HCI31下发指令信息2,……,处理器核12-N可以通过扩展门铃寄存器N调用HCI31下发指令信息N。采用该实现方式,N个处理器核访问扩展门铃寄存器的过程互不干扰,从而实现多核解耦,有利于更加有效地提高处理器30的UFS访问效率。
为了便于理解,在后续未特别说明的情况下,本申请实施例皆以N个处理器核和N个扩展门铃寄存器为例进行说明。需要指出的是,本申请实施例中处理器30还可以包括除了该N个处理器核之外的其它处理器核,这些其它处理器核可以按照其它方式(如加锁访问)调用HCI31,该情况也应包括于本申请实施例之中。
HCI31可以执行N个扩展门铃寄存器接受的调用,向SDS33提供指令信息。具体来说,如图3所示,HCI31不仅包括N个扩展门铃寄存器,还包括控制器311。示例性的,控制器311可以是专用集成电路(application specific integrated circuits,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
在本申请实施例所提供的HCI31中,HCI31可以通过控制器311执行N个扩展门铃寄存器接受到的调用。具体来说,如图3所示,处理器30所在的电子设备00*中还可以包括内存40,内存40可以包括N个扩展存储空间(扩展存储空间1至扩展存储空间N),且这N个扩展存储空间与N个处理器核对应。
在此情况下,每个处理器核皆可以向与之对应的扩展存储空间写入指令信息。例如处理器核32-1可以将指令信息1写入处理器核32-1对应的扩展存储空间1中,处理器核32-2可以将指令信息2写入处理器核32-2对应的扩展存储空间2中,……,处理器核32-N可以将指令信息N写入处理器核32-N对应的扩展存储空间N中。
需要指出的是,HCI31中的N个扩展门铃寄存器与存储40中的N个扩展存储空间之间也存在对应关系,且每个扩展门铃寄存器与扩展存储空间之间的对应关系是根据该扩展门铃寄存器所对应的处理器核与扩展存储空间之间的对应关系确定的,也就是说,N个扩展门铃寄存器、N个扩展存储空间、N个处理器核之间存在着对应关系。例如处理器核32-1与扩展门铃寄存器1和扩展存储空间1之间存在着对应关系,扩展门铃寄存器1与处理器核32-1和扩展存储空间1之间也存在着对应关系。
有鉴于此,处理器核32-1可以根据处理器核与扩展存储空间之间的对应关系,将指令信息1写入对应的扩展存储空间1中,并通过扩展门铃寄存器1调用HCI31。控制器311则可以在扩展门铃寄存器1接收到调用后,根据扩展门铃寄存器与扩展存储空间之间的对 应关系,从内存40中的扩展存储空间1读取该指令信息1,进而将指令信息1提供给SDS33。
在一种可能的实现方式中,如图3所示,HCI31中还可以包括协议门铃寄存器,内存40中还可以包括协议存储空间。在此情况下,处理器30中的每个处理器核皆可以通过协议门铃寄存器调用HCI31,每个处理器核也皆可以向协议存储空间写入指令信息。
HCI31在通过协议门铃寄存器接收到上述任一处理器核的调用时,可以基于该任一处理器核的调用,从上述协议存储空间读取该任一处理器核写入的指令信息,并将读取到的指令信息提供给SDS33。
N个处理器核通过协议门铃寄存器调用HCI31的具体调用方式符合UFS协议规定,使得本申请实施例所提供的处理器30可以在提高UFS访问效率的同时,仍能够兼容UFS协议规定。
一般来说,每个扩展门铃寄存器可以包括多个调用slot。示例性的,每个扩展门铃寄存器内的调用slot的数量一般不超过32个。每个处理器核在通过对应的扩展门铃寄存器调用HCI31时,每发起一次调用便会占用对应的扩展门铃寄存器中的一个调用slot。
相应的,每个扩展存储空间中也可以包括多个存储单元,且每个扩展存储空间中的多个存储单元,与每个扩展存储空间对应的扩展门铃寄存器中的多个调用slot分别一一对应。例如图4所示,扩展门铃寄存器1至扩展门铃寄存器8(N=8)中每个扩展门铃寄存器分别包括8个调用slot。相应的,扩展存储空间1至扩展存储空间8中,每个扩展存储空间包括8个存储单元。
其中,扩展存储空间1中的8个存储单元(存储单元10至存储单元17)和扩展门铃寄存器1中的8个调用slot(调用slot10至调用slot17)分别一一对应,扩展存储空间2中的8个存储单元(存储单元20至存储单元27)和扩展门铃寄存器2中的8个调用slot(调用slot20至调用slot27)分别一一对应。其它调用slot和存储单元之间的对应关系可以以此类推,对此不再赘述。
以处理器核32-1为例,处理器核32-1可以先从扩展门铃寄存器1中确定一个0电平的调用slot,如调用slot11。处理器核32-1进而可以将所要下发的指令信息1a写入调用slot11对应的存储单元11中,并将调用slot11的电平置为1电平。
HCI31则可以在调用slot11的电平被置为1电平后,根据扩展门铃寄存器与扩展存储空间之间的关系,以及调用slot与存储单元之间的对应关系,从扩展存储空间1中的存储单元11内读取指令信息1a。HCI31进而可以将该指令信息1a提供给SDS33。
本申请实施例中协议门铃寄存器可以符合UFS协议对门铃寄存器的规定。具体来说,根据UFS协议的规定,协议门铃寄存器一般可以包括32个调用slot,每个处理器核在通过协议门铃寄存器调用HCI31时,每发起一次调用也会占用协议门铃寄存器中的一个调用slot。
示例性的,如图4所示,HCI31包括协议门铃寄存器,协议门铃寄存器包括32个调用slot,相应的,协议存储空间中包括32个存储单元,该32个存储单元和协议门铃寄存器中的调用slot分别一一对应。每个处理器核在通过协议门铃寄存器调用HCI31之前,可以先确定协议门铃寄存器中的一个0电平的调用slot,并将需要下发的指令信息写入该0电平的调用slot对应的存储单元中,进而可以通过该0电平的调用slot调用HCI31。
应理解,HCI31中除了上述N个扩展门铃寄存器之外,还可以包括其它类型的寄存器。 示例性的,HCI31还包括清除寄存器、扩展反馈寄存器、反馈开关寄存器、地址寄存器等等。接下来,分别对这些寄存器作进一步的示例性说明。
1、地址寄存器
可以理解,HCI31从任一扩展存储空间中读取指令信息之前,需要先获取该扩展存储空间的地址信息。有鉴于此,HCI31中还可以包括协议地址寄存器,该协议地址寄存器也可以称为UFS传输协议传输请求页表基地址(UFS transfer protocol transfer request list base address,UTRLBA)寄存器。协议地址寄存器可以存储内存40中协议存储空间的地址信息。
在一种可能的实现方式中,如图3所示,内存40中扩展存储空间1至扩展存储空间N依次连续排列在协议存储空间之后,因此,从协议存储空间至扩展存储空间N的存储地址是连续的。也就是说,HCI31在得到了协议存储空间的地址信息后,便可以根据该协议存储空间的地址信息、协议存储空间的大小和每个扩展存储空间的大小,计算得到其它存储空间的地址信息。
例如,HCI31通过扩展门铃寄存器2接受到处理器核32-2的调用,在此情况下,HCI31可以从协议地址寄存器中获取协议存储空间的地址信息,进而,HCI31可以根据协议存储空间的地址信息,以及协议存储空间和扩展存储空间1的大小,计算得到扩展存储空间2的地址信息。之后,HCI31便可以根据扩展存储空间2的地址信息从扩展存储空间2读取处理器核32-2写入的指令信息2。
在另一种可能的实现方式中,如图5所示,HCI31可以包括N个扩展地址寄存器(扩展地址寄存器1至扩展地址寄存器N),该N个扩展地址寄存器和内存40中的扩展存储空间1至扩展存储空间N分别对应,任一扩展地址寄存器可以存储与其对应的扩展存储空间的地址信息。例如,扩展地址寄存器1可以存储扩展存储空间1的地址信息,扩展地址寄存器2可以存储扩展存储空间2的地址信息,……,扩展地址寄存器N可以存储扩展存储空间N的地址信息。
其中,处理器核32-n对应的扩展地址寄存器中可以包括核n的UFS传输协议传输请求页表基地址(UFS transfer protocol transfer request list base address for core n,UTRLBA_C_n)寄存器,其中,n为处理器核的编号,在本申请实施例中,n的取值既可以是1,也可以是N,还可以是1与N之间的任意整数。
需要指出的是,当地址信息的位数过多,指示无法通过一个扩展地址寄存器存储完整的地址信息时,处理器核32-n对应的扩展地址寄存器中还可以包括核n的UFS传输协议传输请求页表基地址附加(UFS transfer protocol transfer request list base address upper for core n,UTRLBAU_C_n)寄存器。
以扩展地址寄存器1为例,扩展地址存储器1包括UTRLBA_C_1寄存器和UTRLBAU_C_1寄存器,UTRLBA_C_1寄存器和UTRLBAU_C_1寄存器共同存储扩展存储空间1的地址信息。
HCI31在通过任一扩展门铃寄存器接受到调用后,可以从该任一扩展门铃寄存器对应的扩展地址寄存器中获取地址信息,进而根据该地址信息从该任一扩展门铃寄存器对应的扩展存储空间中读取指令信息。例如,HCI31在通过扩展门铃寄存器1接受到调用后,便可以从扩展门铃寄存器1对应的扩展地址寄存器1中获取地址信息,并根据该地址信息从扩展存储空间1读取指令信息1。采用该实现方式,无需限制不同存储空间之间的排列关 系,因此可以更加灵活的使用内存40的存储资源。
需要指出的是,HCI31中扩展地址寄存器的数量也可以小于N。例如,扩展存储空间1和扩展存储空间2依次排列在协议存储空间之后,而扩展存储空间3至扩展存储空间N则无排列顺序的限制。在此情况下,HCI31可以包括扩展地址寄存器3至扩展地址寄存器N,分别用于存储扩展存储空间3至扩展存储空间N的地址信息。而扩展存储空间1和扩展存储空间2的地址信息则可以根据协议存储空间的地址信息计算得到。
2、扩展反馈寄存器
根据UFS协议规定,UFS接口中的HCI还可以提供中断反馈通道。如图2所示,HCI111中还可以包括反馈寄存器,HCI111可以通过该反馈寄存器向特定的处理器核反馈中断信息。
具体来说,SDS112在执行完指令信息后,可以生成中断信息,该中断信息指示SDS112已执行完一个指令信息。HCI111可以接收SDS112生成的中断信息,并通过反馈寄存器将该中断信息反馈给特定的处理器核。
需要指出的是,上述接收中断信息的处理器核为特定的处理器核,如处理器核12-1。HCI111可以通过反馈寄存器将中断信息反馈给处理器核12-1,并由处理器核12-1将该中断信息转发给其它处理器核。
一般来说,处理器核12-1可以确定该中断信息对应的指令信息,例如,该中断信息是SDS112在执行完指令信息2后生成的,则可以确定该中断信息对应的指令信息为指令信息2。处理器核12-1进而可以将该中断信息转发给下发该指令信息2的处理器核,例如该指令信息2是处理器核12-2下发的指令信息,则处理器核12-1可以将该中断信息转发给处理器核12-2。
由此可见,在目前的中断反馈架构中,HCI111只能将中断信息路由到特定的处理器核,由该特定的处理器核统一管理,中断信息无法直接上报给相应的处理器核进行处理。这种中断反馈流程较为复杂,从而导致中断响应效率低下。
有鉴于此,本申请实施例中HCI31还可以包括N个扩展反馈寄存器,如图5所示,HCI31中包括N个扩展反馈寄存器(扩展反馈寄存器1至扩展反馈寄存器N)。且,该N个扩展反馈寄存器与N个处理器核分别对应。例如,扩展反馈寄存器1与处理器核32-1对应,扩展反馈寄存器2与处理器核32-2对应,……,扩展反馈寄存器N与处理器核32-N对应。
其中,处理器核32-n对应的扩展反馈寄存器也可以称为核n的UFS传输协议传输请求列表中断状态(UFS transfer protocol transfer request list interrupt status for core n,UTRLIS_C_n)寄存器。
在本申请实施例中,HCI31可以通过扩展反馈寄存器1向处理器核32-1反馈中断信息1,通过扩展反馈寄存器2向处理器核32-2反馈中断信息2,……,扩展反馈寄存器N向处理器核32-N反馈中断信息N。
其中,中断信息1是SDS在执行完处理器核32-1下发的指令信息1后生成的中断信息,中断信息2是SDS在执行完处理器核32-1下发的指令信息2后生成的中断信息,……,中断信息N是SDS在执行完处理器核32-N下发的指令信息N后生成的中断信息。
采用该实现方式,每个处理器核具有单独的中断上报通道,无需由特定的处理器核统一管理中断信息,因此有利于提高中断响应效率。
在一种可能的实现方式中,如图5所示,HCI31中还可以包括协议反馈寄存器,HCI31可以通过该协议反馈寄存器向特定的处理器核反馈中断信息,由该特定的处理器核统一管理中断信息。也就是说,HCI31可以按照UFS协议规定,通过协议反馈寄存器上报中断信息,从而使本申请实施例所提供的处理器30能够兼容UFS协议。
需要指出的是,HCI31中扩展反馈寄存器的数量也可以小于N。例如,HCI31中仅包括扩展反馈寄存器1和扩展反馈寄存器2。在此情况下,HCI31可以通过扩展反馈寄存器1向处理器核32-1反馈中断信息1,通过扩展反馈寄存器2向处理器核32-2反馈中断信息2。而对于其它处理器核(处理器核32-3至处理器核32-N)对应的中断信息,HCI31则可以按照UFS协议规定,通过协议反馈寄存器反馈给其它处理器核。为了便于理解,本申请实施例接下以N个扩展反馈寄存器为例进行说明。
3、反馈开关寄存器
在一种可能的实现方式中,HCI31还可以包括N个反馈开关寄存器,该N个反馈开关寄存器与N个处理器核对应,每个处理器核皆可以通过对应的反馈开关寄存器调用HCI31开启或关闭对应的扩展反馈寄存器。例如,处理器核32-1可以通过反馈开关寄存器1,调用HCI31开启或关闭扩展反馈寄存器1,处理器核32-2可以通过反馈开关寄存器2,调用HCI31开启或关闭扩展反馈寄存器2。
其中,处理器核32-n对应的反馈开关寄存器也可以称为核n的UFS传输协议传输请求列表中断使能(UFS transfer protocol transfer request list interrupt enable for core n,UTRLIE_C_n)寄存器。
采用该实现方式,有利于各个处理器核灵活控制中断信息的反馈方式。例如,当处理器核32-1对中断响应效率要求较高时,处理器核32-1可以通过反馈开关寄存器1,调用HCI31开启对应的扩展反馈寄存器1。当处理器核32-1对中断响应效率要求较低时,处理器核32-1可以通过反馈开关寄存器1,调用HCI31关闭对应的扩展反馈寄存器1,HCI31便可以通过协议反馈寄存器,按照UFS协议的规定反馈中断信息1。
需要指出的是,HCI31中反馈开关寄存器的数量也可以小于处理器核的数量,也就是说,也可以使N个处理器核中的部分处理器核具有调用HCI31开启或关闭对应扩展反馈寄存器的功能。采用该实现方式,有利于兼顾部分处理器核灵活控制中断信息的反馈方式,以及简化HCI31的结构。
4、完成通知寄存器
如前所述,中断信息可以指示SDS33完成执行一个指令信息。然而,处理器核下发指令信息的速度往往大于SDS33执行指令信息的速度,也就是说,处理器核有可能在连续多次调用HCI31下发指令信息后,才会接收到一个中断信息。此时,处理器核便无法确认该中断信息对应的是哪一个指令信息。
有鉴于此,本申请实施例中HCI31还包括N个完成通知寄存器(完成通知寄存器1至完成通知寄存器N),该N个完成通知寄存器与N个处理器核分别对应。其中,每个完成通知寄存器用于指示SDS33已完成的指令信息。本申请实施例中,处理器核32-n的完成通知寄存器也可以称为核n的UFS传输协议传输请求列表完成通知寄存器(UFS transfer protocol transfer request list completion notification register for core n,UTRLCNR_C_n)。
具体来说,以扩展反馈寄存器1、扩展门铃寄存器1和完成通知寄存器1为例,扩展门铃寄存器1中包括m个调用slot,完成通知寄存器中包括m个指示slot,且该m个调用slot和该m个指示slot分别一一对应。
示例性的,假设HCI31执行调用slot11接受的调用,根据调用slot11从扩展存储空间1中的存储单元11内读取指令信息1a,并向SDS33发送该指令信息1a。在一种可能的实现方式中,HCI31还会将调用slot11的标识信息一并发送给SDS33。
SDS33在执行完指令信息1a后,可以向HCI31上报中断信息,在一种可能的实现方式中,SDS33还可以一并发送调用slot11的标识信息。HCI31进而可以根据调用slot11的标识信息,以及调用slot与指示slot之间的对应关系,将完成通知寄存器1中与调用slot11对应的指示slot11置为1电平,并通过扩展反馈寄存器1(或协议反馈寄存器)向处理器核32-1反馈中断信息。
处理器核32-1在接收到中断信息后,可以遍历完成通知寄存器1中的指示slot,待读取到指示slot11为1电平时,便可以确定SDS33已完成执行指令信息1a。
需要指出的是,在考虑到简化HCI31结构的情况下,HCI31中完成通知寄存器的数量也可以小于处理器核的数量,本申请实施例对此并不多做限制。
5、清除寄存器
为了使处理器30中的N个处理器核可以更加灵活的控制UFS接口,在一种可能的实现方式中,HCI31还可以包括N个清除寄存器,该N个清除寄存器与N个处理器核分别对应。任一处理器核可以通过对应的清除寄存器,调用HCI31指示SDS33停止执行该处理器核下发的指令信息。其中,处理器核32-n对应的清除寄存器也可以称为核n的UFS传输协议传输请求列表清除寄存器(UFS transfer protocol transfer request list clear register for core n,UTRLCLR_C_n)。
示例性的,以处理器核32-1和清除寄存器1为例,清除寄存器1可以包括m个清除slot,该m个清除slot与扩展门铃寄存器1中的m个调用slot分别一一对应。如前所述,假设处理器核32-1通过调用slot11调用HCI31向SDS33提供指令信息1a,则当处理器核32-1需要SDS33停止执行指令信息1a时,处理器核32-1可以将调用slot11对应的清除slot11置为1电平。
HCI31在清除slot11被置为1电平后,便可以根据清除slot与调用slot之间的对应关系,获取调用slot11的标识信息,并向SDS33发送清除指令,该清除指令中包括调用slot11的标识信息。
由于HCI31在向SDS33提供指令信息1a时一并提供了调用slot11的标识信息,因此SDS33在接收到清除指令后,便可以根据清除指令中的调用slot11的标识信息,停止执行指令信息1a。
采用该实现方式,各个处理器核可以灵活控制指令信息的执行情况。例如,当一个指令信息长时间未被执行或者长时间未执行完成时,下发该指令信息的处理器核便可以通过对应的清除寄存器,调用HCI31指示SDS33停止执行该指令信息。
需要指出的是,在考虑到简化HCI31结构的情况下,HCI31中清除寄存器的数量也可以小于处理器核的数量,本申请实施例对此并不多做限制。
6、清除开关寄存器
在一种可能的实现方式中,HCI31中还可以包括N个清除开关寄存器,该N个清除开关寄存器与N个处理器核分别一一对应。其中,每个处理器核皆可以通过对应的清除开关寄存器,调用HCI31开启或关闭对应的清除寄存器。例如,处理器核32-1可以通过清除开关寄存器,调用HCI31开启或关闭清除寄存器1,处理器核32-2可以通过清除开关寄存器2,调用HCI31开启或关闭清除寄存器2。
需要指出的是,HCI31中清除开关寄存器的数量也可以小于处理器核的数量,也就是说,也可以使N个处理器核中的部分处理器核具有调用HCI31开启或关闭对应清除寄存器的功能,以简化HCI31的结构。
7、门铃开关寄存器
在一种可能的实现方式中,HCI31中还可以包括N个门铃开关寄存器,该N个门铃开关寄存器与N个处理器核分别一一对应。其中,每个处理器核可以通过对应的门铃开关寄存器,调用HCI开启或关闭对应的扩展门铃寄存器。例如,处理器核32-1可以通过门铃开关寄存器,调用HCI31开启或关闭扩展门铃寄存器1,处理器核32-2可以通过门铃开关寄存器2,调用HCI31开启或关闭扩展门铃寄存器2。
其中,处理器核32-n对应的门铃开关寄存器也可以称为核n的UFS传输协议传输请求页表开关寄存器(UFS transfer protocol transfer request list run-stop register for core n,UTRLRSR_C_n)寄存器。
采用该实现方式,有利于各个处理器核灵活控制指令信息的下发方式。例如,当处理器核32-1对UFS访问效率要求较高时,处理器核32-1可以通过门铃开关寄存器1,调用HCI31开启对应的扩展门铃寄存器1。当处理器核32-1对UFS访问效率要求较低时,处理器核32-1可以通过门铃开关寄存器1,调用HCI31关闭对应的扩展门铃寄存器1,处理器核32-1可以通过协议门铃寄存器,按照UFS协议的规定调用HCI31向SDS33提供指令信息1。
综上所述,本申请实施例所提供的处理器30具有如图3和图5所示的多核解耦架构,每个处理器核可以单独扩展出一套指令信息下发通道(扩展门铃寄存器)和中断信息上报通道(扩展反馈寄存器)。此外,还可以配置有与指令信息下发通道和中断信息上报通道相关的寄存器,如清除寄存器、完成通知寄存器、反馈开关寄存器,以及上述控制器相应的控制逻辑。
如前所述,SDS33执行指令信息的速度往往小于处理器核下发指令信息的速度,因此HCI31中往往会存在多个待执行的调用,这些调用既可能来自于同一个处理器核,也可能来自于不同的处理器核。因此,HCI31往往需要对多个待执行的调用进行仲裁,以确定接下来所执行的调用。
通过上述对门铃寄存器的扩展,即在HCI中增设扩展门铃寄存器,目前UFS协议所规定的仲裁方案在本申请实施例提供的处理器30中的执行效果并不理想,其中,上述仲裁方案主要指的是HCI用来确定接下来所执行的调用的方案。有鉴于此,本申请实施例还提供以下几种与处理器30相适配的仲裁方案,在处理器30工作过程中,可以采用以下任一种仲裁方案确定接下来所执行的调用,示例性的:
仲裁方案一
如前所述,每个扩展门铃寄存器中可以包括多个调用slot。在一种可能的实现方式中,扩展门铃寄存器中的多个调用slot对应有优先级。对于任一扩展门铃寄存器,HCI31可以在该扩展门铃寄存器中存在多个调用slot接受到调用时,根据接受到调用的多个调用slot分别对应的优先级,依次执行该多个调用slot接受到的调用。
以图4中的扩展门铃寄存器1为例,假设调用slot10至调用slot17的优先级依次升高。当扩展门铃寄存器1中调用slot11和调用slot17皆接受到处理器核32-1的调用时,HCI31优先执行调用slot17接受到的调用。
在一种可能的实现方式中,每个调用slot对应的优先级可以是固定的。在另一种可能的实现方式中,每个调用slot对应的优先级也可以是动态变化的。示例性的,可以根据每个调用slot接受到调用的时间为每个调用slot分配优先级,例如,越早接受到调用的调用slot的优先级越高,越晚接受到调用的调用slot的优先级越低。
在一种可能的实现方式中,当HCI31还包括协议寄存器时,协议门铃寄存器中的多个调用slot也可以对应有优先级。HCI31按照协议门铃寄存器中多个调用slot分别对应的优先级,依次执行各调用slot接受的调用。
仲裁方案二
在另一种可能的实现方式中,HCI31也可以轮询扩展门铃寄存器中的多个调用slot。以图4中的扩展门铃寄存器1为例,HCI31可以从扩展门铃寄存器1中的起始调用slot开始,依次轮询扩展门铃寄存器1中的多个调用slot。
其中,轮询可以理解为HCI31按顺序查询门铃寄存器1中各个调用slot是否接受到调用,例如HCI31可以按照调用slot10至调用slot17的方向依次查询各个调用slot,待查询到调用slot17后返回查询调用slot10,并继续循环查询各个调用slot,直至查询到任一调用slot接受到调用。
起始调用slot可以是HCI31上一次轮询扩展门铃寄存器1时最后查询的调用slot的下一个调用slot。例如,HCI31上一次轮询扩展门铃寄存器1时最后查询了调用slot12,则在本次轮询扩展门铃寄存器1时,可以将调用slot13作为起始调用slot,并按照由调用slot13至调用slot17的方向依次查询各个调用slot。需要指出的是,在首次查询到调用slot17之后,将会返回到调用slot10,并继续循环查询调用slot10至调用slot17,对此不再赘述。
HCI31在轮询扩展门铃寄存器1时,在确定任一调用slot接受到调用后(如该任一调用slot为1电平),则HCI31可以执行该任一调用slot接受到的调用。例如,HCI31在轮询扩展门铃寄存器1的过程中,确定调用slot15接受到调用,则HCI31执行调用slot15接受到的调用。
可以理解,HCI31在执行完调用slot15接受到的调用之后,便可以继续下一次轮询扩展门铃寄存器1。在下一次轮询扩展门铃寄存器1时,可以将调用slot15的下一个调用slot,也就是调用slot16作为起始调用slot。
仲裁方案三
以上仲裁方案一和仲裁方案二是针对一个扩展门铃寄存器内部多个调用slot之间的仲裁方案。可以理解,不同的扩展门铃寄存器也可能同时接受到调用,因此还需要进行扩展 门铃器之间的仲裁。
在一种可能的实现方式中,HCI31中的多个扩展门铃寄存器也可以对应有优先级,HCI31还可以在多个扩展门铃寄存器接受到调用时,根据优先级从高到低的顺序依次执行多个扩展门铃寄存器接受的调用。
例如图4中,扩展门铃寄存器1至扩展门铃寄存器8的优先级依次升高。当扩展门铃寄存器8和扩展门铃寄存器7都接受到调用时,HCI31优先执行扩展门铃寄存器8接受的调用。
在一种可能的实现方式中,HCI31还包括协议门铃寄存器时,协议门铃寄存器的优先级高于扩展门铃寄存器。
可以理解,本申请实施例所提供的仲裁方案三可以与上述仲裁方案一或仲裁方案二相结合。示例性的,本申请实施例所提供的仲裁方案一与仲裁方案三相结合的仲裁方案可以如图6所示。
其中,每个扩展门铃寄存器包括8个调用slot。协议门铃寄存器的优先级最高,且协议门铃寄存器中从调用slot00到调用slot031的优先级依次升高。扩展门铃寄存器1至扩展门铃寄存器N的优先级依次升高,且每个扩展门铃寄存器内调用slotn0至调用slotn7的优先级依次升高,n表示扩展门铃寄存器的编号,n的取值为1至N。在此情况下,全体调用slot的优先级可以按照图6中箭头所示方向逐渐降低。
当全体调用slot中存在多个调用slot接受到调用时,HCI31可以按照图6中箭头所示的优先级顺序,依次执行多个调用slot接受到的调用。其中,上述接受到调用的多个slot既可以属于同一个门铃寄存器,也可以属于不同的门铃寄存器。
又例如,当仲裁方案二与仲裁方案三结合时,所得到的仲裁方案可以如图7所示。扩展门铃寄存器1至扩展门铃寄存器N分别对应有优先级,例如,扩展门铃寄存器1至扩展门铃寄存器N的优先级依次升高。
HCI31可以按照仲裁方案二分别轮询扩展门铃寄存器1至扩展门铃寄存器N。当在任一时刻,只有一个扩展门铃寄存器轮询到调用时,则执行该扩展门铃寄存器接受的调用。当在任一时刻,存在多个扩展门铃寄存器轮询到调用时,则优先执行从优先级较高的扩展门铃寄存器中轮询到的调用。
在一种可能的实现方式中,HCI31中还可以包括协议门铃寄存器,在此情况下,协议门铃寄存器可以配置有最高的优先级。HCI31也可以采用仲裁方案二轮询协议门铃寄存器中的多个调用slot。当在任一时刻,协议门铃寄存器和其它任一扩展门铃寄存器皆轮询到调用时,优先执行从协议门铃寄存器轮询到的调用。
仲裁方案四
可以理解,HCI31还可以对N个扩展门铃寄存器中的全体调用slot进行轮询。在HCI31还包括协议门铃寄存器的情况下,该全体调用slot还可以包括协议门铃寄存器中的调用slot。示例性的,本申请实施例所提供的仲裁方案四可以如图8所示。其中,每个扩展门铃寄存器包括8个,协议门铃寄存器包括32个调用slot,全体调用slot包括N个扩展门铃寄存器中的8N个调用slot,以及协议门铃寄存器中的32个调用slot。
HCI31可以从起始调用slot开始,依次轮询全体调用slot。其中,轮询可以理解为HCI31按顺序依次查询每个调用slot。例如图8中的箭头所示,HCI31可以按照从协议门铃寄存 器中的调用slot031至扩展门铃寄存器1中的调用slot10的顺序,依次查询各个调用slot是否接受到调用。待查询到调用slot10后,返回查询调用slot031,并继续循环查询各个调用slot,直至查询到任一调用slot接受到调用。
起始调用slot可以是HCI31上一次轮询全体调用slot时,最后查询的调用slot的下一个调用slot。例如,HCI31上一次轮询全体调用slot时最后查询了调用slotN7,则在本次轮询全体调用slot时可以将调用slotN7的下一个调用slot,也就是调用slotN6作为起始调用slot。需要指出的是,在首次查询到调用slot10之后,将会返回到调用slot031,并继续循环查询调用slot031至调用slot10,对此不再赘述。
HCI31在确定任一调用slot接受到调用后,执行该任一调用slot接受到的调用。例如,HCI31在确定调用slot030接受到调用,则HCI31执行调用slot030接受到的调用。可以理解,HCI31在执行完调用slot030接受到的调用之后,便可以继续下一次轮询全体调用slot。在下一次轮询全体调用slot时,可以将调用slot030的下一个调用slot,也就是调用slot029作为起始调用slot。
仲裁方案五
在一种可能的实现方式中,当全体调用slot中存在多个调用slot接受到调用时,HCI31还可以根据该多个调用slot分别接受到调用的时间先后顺序,依次执行上述多个调用slot分别接受到的调用。其中,上述多个接受到调用的调用slot既可以属于同一个门铃寄存器,也可以属于不同的门铃寄存器,全体调用slot的含义与仲裁方案四类似,对此不再赘述。
具体来说,HCI31可以为接受到调用的调用slot分配对应的时间戳,HCI31进而可以根据不同的调用slot对应的时间戳进行仲裁。一般来说,时间戳较早的调用slot具有较高的权重(优先级),HCI31可以优先执行时间戳较早的调用slot接收到的调用。例如,调用slotN17先于调用slot00接受到调用,则HCI31为slotN17分配的权重高于为slot00分配的权重,HCI31将优先执行slotN17接受的调用。
在一种可能的实现方式中,有可能存在多个调用slot同时接受调用,在此情况下还可以对该多个调用slot进行轮询。具体来说,全体调用slot中的每个调用slot皆对应有排列次序,该排列次序等效于HCI31的查询顺序,如图9中箭头所示。
当存在多个调用slot同时接受到调用时,HCI31还可以优先执行第一调用slot接受到的调用,其中,该第一调用slot为上述多个调用slot中,与起始调用slot的排列次序最为接近的调用slot,该起始调用slot为HCI最后执行的调用对应的调用slot的下一个调用slot。需要指出的是,按照图9所示的排列次序,调用slot10的下一个调用slot为调用slot031。
例如,假设N为大于2的整数,HIC31执行调用slotN1接受的调用后,确定当前调用slot031、调用slot20(位于扩展门铃寄存器2)和调用slot17的权重皆为最大权重。在此情况下,起始调用slot为调用slotN1的下一个调用slot,也就是调用slotN0。
根据图9所示的排列次序,对比调用slot031、调用slot20和调用slot17分别与调用slotN0之间间隔的调用slot的数量可见,调用slot20为其中最靠近调用slotN0的调用slot,即调用slot20为第一调用slot。因此,HCI31将执行调用slot20所接受的调用。
可以理解,HCI31执行完调用slot20所接受的调用后,调用slot031和调用slot17的权重为最大权重。此时,调用slot17为起始调用slot,进而可以确定调用slot17为第一调用slot,HCI31便可以执行调用slot17接受的调用。
HCI31执行完调用slot17接受的调用后,仅剩调用slot031的权重为最大权重,因此 HCI31便可以继续执行调用slot031接受的调用。
基于相同的技术构思,本申请实施例还提供一种UFS控制方法,该方法可以应用于本申请实施例所提供的任一种处理器。示例性的,该处理器主要包括第一处理器核、第二处理器核、主机控制器寄存器HCI和服务交付子系统SDS,其中,HCI包括第一扩展门铃寄存器和第二扩展门铃寄存器。本方法主要包括:第一处理器核可以通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息;第二处理器核可以通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息。
需要指出的是,本申请实施例中处理器可以包括多个处理器核,上述第一处理器核可以是该多个处理器核中的任一处理器核,上述第二处理器核可以是上述多个处理器核中除该第一处理器核之外的任一处理器核。HCI还可以包括多个扩展门铃寄存器,且该多个扩展门铃寄存器与上述多个处理器核一一对应,其中,上述第一扩展门铃寄存器可以是与第一处理器核对应的扩展门铃寄存器,第二扩展门铃寄存器可以是与第二处理器核对应的扩展门铃寄存器。
为了提高中断反馈效率,在一种可能的实现方式中,HCI还包括第一扩展反馈寄存器和第二扩展反馈寄存器。在此情况下,第一处理器核通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息之后,HCI可以在SDS完成执行第一指令信息后,通过第一扩展反馈寄存器向第一处理器核反馈第一中断信息;第二处理器核通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息之后,HCI可以在SDS完成执行第二指令信息后,通过第二扩展反馈寄存器向第二处理器核反馈第二中断信息。
为了使第一处理器核和第二处理器核能够灵活控制中断信息的反馈方式,在一种可能的实现方式中,HCI还可以包括第一反馈开关寄存器和第二反馈开关寄存器,在此情况下,第一处理器核可以通过第一反馈开关寄存器,调用HCI开启或关闭第一扩展反馈寄存器;第二处理器核可以通过第二反馈开关寄存器,调用HCI开启或关闭第二扩展反馈寄存器。
为了适配于第一扩展门铃寄存器和第二扩展门铃寄存器,在一种可能的实现方式中,第一扩展门铃寄存器可以与内存中第一扩展存储空间对应,第二扩展门铃寄存器可以与内存中的第二扩展存储空间对应。在此情况下,第一处理器核通过第一扩展门铃寄存器调用HCI向SDS提供第一指令信息时,第一处理器核可以向第一扩展存储空间写入第一指令信息;HCI可以从第一扩展存储空间读取第一指令信息,并将该第一指令信息提供给SDS;第二处理器核通过第二扩展门铃寄存器调用HCI向SDS提供第二指令信息时,第二处理器核可以向第二扩展存储空间写入第二指令信息;HCI可以从第二扩展存储空间读取第二指令信息,并将第二指令信息提供给SDS。
为了兼容UFS协议,在一种可能的实现方式中,处理器可以包括多个处理器核,该多个处理器核包括上述第一处理器核和上述第二处理器核,HCI还可以包括协议门铃寄存器,内存还可以包括与该协议门铃寄存器对应的协议存储空间。在此情况下,HCI可以通过协议门铃寄存器接收多个处理器核中任一处理器核的调用;HCI可以基于任一处理器核的调用,从协议存储空间读取该任一处理器核写入的指令信息,并将读取到的指令信息提供给SDS。
可以理解,HCI需要借助于第一扩展存储空间的地址信息和第二扩展空间的地址信息才能够读取第一指令信息和第二指令信息,有鉴于此,在一种可能的实现方式中,第一扩 展存储空间的地址和第二扩展存储空间的地址依次连续排列于协议存储空间的地址之后,HCI还包括协议地址寄存器,协议地址寄存器用于存储协议存储空间的地址信息。在此情况下,HCI向SDS提供第一指令信息时,HCI可以根据协议地址寄存器中存储的协议存储空间的地址信息,计算得到第一扩展存储空间的地址信息;根据第一扩展存储空间的地址信息,从第一扩展存储空间中读取第一指令信息,并将第一指令信息提供给SDS。HCI向SDS提供第二指令信息时,HCI可以根据协议地址寄存器中存储的协议存储空间的地址信息,计算得到第二扩展存储空间的地址信息;根据第二扩展存储空间的地址信息,从第二扩展存储空间中读取第二指令信息,并将第二指令信息提供给SDS。
在另一种可能的实现方式中,HCI还可以包括第一扩展地址寄存器和第二扩展地址寄存器,其中,第一扩展地址寄存器用于存储第一扩展存储空间的地址信息,第二扩展地址寄存器用于存储第二扩展存储空间的地址信息。在此情况下,HCI向SDS提供第一指令信息时,HCI可以根据第一扩展地址寄存器中第一扩展存储空间的地址信息,从第一扩展存储空间中读取第一指令信息,并将第一指令信息提供给SDS;HCI向SDS提供第二指令信息时,HCI可以根据第二扩展地址寄存器中第二扩展存储空间的地址信息,从第二扩展存储空间中读取第二指令信息,并将第二指令信息提供给SDS。
为了使第一处理器核和第二处理器核能够更加灵活地控制指令信息的执行情况,在一种可能的实现方式中,HCI还可以包括第一清除寄存器和第二清除寄存器。在此情况下,第一处理器核可以通过第一清除寄存器,调用HCI指示SDS停止执行第一指令信息;第二处理器核可以通过第二清除寄存器,调用HCI指示SDS停止执行第二指令信息。
通过上述对门铃寄存器的扩展,即在HCI中增设扩展门铃寄存器,目前UFS协议所规定的仲裁方案在本申请实施例提供的处理器中的执行效果并不理想。有鉴于此,本申请实施例还提供以下几种与处理器相适配的仲裁方案,在处理器工作过程中,可以采用以下任一种仲裁方案确定接下来所执行的调用,示例性的:
仲裁方案一
第一扩展门铃寄存器可以包括多个调用slot,且多个调用slot对应有优先级,每个调用slot皆可以接受调用。在此情况下,HCI在第一扩展门铃寄存器中存在多个调用slot接受到调用时,可以根据接受到调用的多个调用slot分别对应的优先级,依次执行上述多个调用slot接受到的调用。
仲裁方案二
第一扩展门铃寄存器可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,HCI可以从第一扩展门铃寄存器中的起始调用slot开始,依次轮询第一扩展门铃寄存器的多个调用slot;在确定任一调用slot接受到调用后,执行该任一调用slot接受到的调用;将该任一调用slot的下一个调用slot作为起始调用slot,并继续依次轮询第一扩展门铃寄存器的多个调用slot。
仲裁方案三
第一扩展门铃寄存器的优先级高于第二扩展门铃寄存器的优先级。在此情况系下,HCI在从第一扩展门铃寄存器和第二扩展门铃寄存器皆接受到调用时,可以先执行第一扩展门铃寄存器接受到的调用,再执行第二扩展门铃寄存器接受到的调用。
应理解,仲裁方案三针对扩展门铃寄存器之间的仲裁,而仲裁方案一和仲裁方案二针对扩展门铃寄存器内部多个调用slot之间的仲裁。因此仲裁方案三能够与仲裁方案一或仲 裁方案二相互结合。
仲裁方案四
第一扩展门铃寄存器和第二扩展门铃寄存器皆可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,HCI可以从起始调用slot开始,依次轮询全体调用slot,该全体调用slot包括第一扩展门铃寄存器和第二扩展门铃寄存器中的调用slot;HCI在确定任一调用slot接受到调用后,执行该任一调用slot接受到的调用;HCI以该任一调用slot的下一个调用slot作为起始调用slot,继续依次轮询全体调用slot。
仲裁方案五
第一扩展门铃寄存器和第二扩展门铃寄存器皆可以包括多个调用slot,每个调用slot皆可以接受调用。在此情况下,当全体调用slot中存在多个调用slot接受到调用时,HCI可以根据该多个调用slot分别接受到调用的时间先后顺序,依次执行该多个调用slot分别接受到的调用,上述全体调用slot可以包括第一扩展门铃寄存器和第二扩展门铃寄存器中的调用slot。
在一种可能的实现方式中,全体调用slot中的每个调用slot皆可以对应有排列次序,在此情况下,当存在多个调用slot同时接受到调用时,HCI可以优先执行第一调用slot接受到的调用,其中,该第一调用slot可以是上述多个调用slot中,与起始调用slot的排列次序最为接近的调用slot,该起始调用slot可以是HCI最后执行的调用对应的调用slot的下一个调用slot。
为了使第一处理器核和第二处理器核能够更加灵活地控制下发指令信息的具体方式,在一种可能的实现方式中,HCI还可以包括第一门铃开关寄存器和第二门铃开关寄存器在此情况下,第一处理器核可以通过第一门铃开关寄存器,调用HCI开启或关闭第一扩展门铃寄存器;第二处理器核可以通过第二门铃开关寄存器,调用HCI开启或关闭第二扩展门铃寄存器。
基于相同的技术构思,本申请实施例还提供一种计算机系统,该计算机系统主要包括如上述任一实施例所提供的处理器,和UFS外设,且该处理器中的SDS与UFS外设耦合。示例性的,该计算机系统可以是个人电脑、手机、平板等电子设备,也可以是电脑主板等模块(或模组)。UFS外设可以是闪存、存储卡等等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的保护范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (33)
- 一种处理器,其特征在于,包括:第一处理器核、第二处理器核、主机控制器寄存器HCI和服务交付子系统SDS,其中,所述HCI包括第一扩展门铃寄存器和第二扩展门铃寄存器;所述第一处理器核,用于通过所述第一扩展门铃寄存器调用所述HCI向所述SDS提供第一指令信息;所述第二处理器核,用于通过所述第二扩展门铃寄存器调用所述HCI向所述SDS提供第二指令信息。
- 根据权利要求1所述的处理器,其特征在于,所述处理器包括多个处理器核,所述第一处理器核为所述多个处理器核中的任一处理器核,所述第二处理器核为所述多个处理器核中除所述第一处理器核之外的任一处理器核;所述HCI包括多个扩展门铃寄存器,且所述多个扩展门铃寄存器与所述多个处理器核一一对应,其中,所述第一扩展门铃寄存器为与所述第一处理器核对应的扩展门铃寄存器,所述第二扩展门铃寄存器为与所述第二处理器核对应的扩展门铃寄存器。
- 根据权利要求1或2所述的处理器,其特征在于,所述HCI还包括第一扩展反馈寄存器和第二扩展反馈寄存器;所述HCI用于:在所述SDS完成执行所述第一指令信息后,通过所述第一扩展反馈寄存器向所述第一处理器核反馈第一中断信息;在所述SDS完成执行所述第二指令信息后,通过所述第二扩展反馈寄存器向所述第二处理器核反馈第二中断信息。
- 根据权利要求3所述的处理器,其特征在于,所述HCI还包括第一反馈开关寄存器和第二反馈开关寄存器;所述第一处理器核还用于:通过所述第一反馈开关寄存器,调用所述HCI开启或关闭所述第一扩展反馈寄存器;所述第二处理器核还用于:通过所述第二反馈开关寄存器,调用所述HCI开启或关闭所述第二扩展反馈寄存器。
- 根据权利要求1至4中任一项所述的处理器,其特征在于,所述第一扩展门铃寄存器与内存中第一扩展存储空间对应,所述第二扩展门铃寄存器与所述内存中的第二扩展存储空间对应;所述第一处理器核,具体用于向所述第一扩展存储空间写入所述第一指令信息;所述HCI,用于:从所述第一扩展存储空间读取所述第一指令信息,并将所述第一指令信息提供给所述SDS;所述第二处理器核,具体用于向所述第二扩展存储空间写入所述第二指令信息;所述HCI,还用于:从所述第二扩展存储空间读取所述第二指令信息,并将所述第二指令信息提供给所述SDS。
- 根据权利要求5所述的处理器,其特征在于,所述处理器包括多个处理器核,所 述多个处理器核包括所述第一处理器核和所述第二处理器核,所述HCI还包括协议门铃寄存器,所述内存还包括与所述协议门铃寄存器对应的协议存储空间;所述HCI还用于:通过所述协议门铃寄存器接收所述多个处理器核中任一处理器核的调用;基于所述任一处理器核的调用,从所述协议存储空间读取所述任一处理器核写入的指令信息,并将读取到的指令信息提供给所述SDS。
- 根据权利要求6所述的处理器,其特征在于,所述第一扩展存储空间的地址和所述第二扩展存储空间的地址依次连续排列于所述协议存储空间的地址之后,所述HCI还包括协议地址寄存器,所述协议地址寄存器用于存储所述协议存储空间的地址信息;所述HCI具体用于:根据所述协议地址寄存器中所述协议存储空间的地址信息,计算得到所述第一扩展存储空间的地址信息,并根据所述第一扩展存储空间的地址信息从所述第一扩展存储空间中读取所述第一指令信息;根据所述协议地址寄存器中所述协议存储空间的地址信息,计算得到所述第二扩展存储空间的地址信息,并根据所述第二扩展存储空间的地址信息从所述第二扩展存储空间中读取所述第二指令信息。
- 根据权利要求5或6所述的处理器,其特征在于,所述HCI还包括第一扩展地址寄存器和第二扩展地址寄存器,所述第一扩展地址寄存器用于存储所述第一扩展存储空间的地址信息,所述第二扩展地址寄存器用于存储所述第二扩展存储空间的地址信息;所述HCI具体用于:根据所述第一扩展地址寄存器中所述第一扩展存储空间的地址信息,从所述第一扩展存储空间中读取所述第一指令信息;根据所述第二扩展地址寄存器中所述第二扩展存储空间的地址信息,从所述第二扩展存储空间中读取所述第二指令信息。
- 根据权利要求1至8中任一项所述的处理器,其特征在于,所述HCI还包括第一清除寄存器和第二清除寄存器;所述第一处理器核,还用于:通过所述第一清除寄存器,调用所述HCI指示所述SDS停止执行所述第一指令信息;所述第二处理器核,还用于:通过所述第二清除寄存器,调用所述HCI指示所述SDS停止执行所述第二指令信息。
- 根据权利要求1至9中任一项所述的处理器,其特征在于,所述第一扩展门铃寄存器包括多个调用slot,且所述多个调用slot对应有优先级,所述调用slot用于接受调用;所述HCI用于:在所述第一扩展门铃寄存器中存在多个调用slot接受到调用时,根据接受到调用的所述多个调用slot分别对应的优先级,依次执行所述多个调用slot接受到的调用。
- 根据权利要求1至9中任一项所述的处理器,其特征在于,所述第一扩展门铃寄存器包括多个调用slot,所述调用slot用于接受调用;所述HCI用于:从所述第一扩展门铃寄存器中的起始调用slot开始,依次轮询所述第一扩展门铃寄存器的多个调用slot;在确定任一调用slot接受到调用后,执行所述任一调用slot接受到的调用;将所述任一调用slot的下一个调用slot作为所述起始调用slot,并继续依次轮询所述第一扩展门铃寄存器的多个调用slot。
- 根据权利要求1至11中任一项所述的处理器,其特征在于,所述第一扩展门铃寄存器的优先级高于所述第二扩展门铃寄存器的优先级;所述HCI用于:在从所述第一扩展门铃寄存器和所述第二扩展门铃寄存器皆接受到调用时,先执行所述第一扩展门铃寄存器接受到的调用,再执行所述第二扩展门铃寄存器接受到的调用。
- 根据权利要求1至9中任一项所述的处理器,其特征在于,所述第一扩展门铃寄存器和所述第二扩展门铃寄存器皆包括多个调用slot,所述调用slot用于接受调用;所述HCI用于:从起始调用slot开始,依次轮询全体调用slot,所述全体调用slot包括所述第一扩展门铃寄存器和所述第二扩展门铃寄存器中的调用slot;在确定任一调用slot接受到调用后,执行所述任一调用slot接受到的调用;以所述任一调用slot的下一个调用slot作为所述起始调用slot,继续依次轮询所述全体调用slot。
- 根据权利要求1至9中任一项所述的处理器,其特征在于,所述第一扩展门铃寄存器和所述第二扩展门铃寄存器皆包括多个调用slot,所述调用slot用于接受调用;所述HCI用于:当全体调用slot中存在多个调用slot接受到调用时,根据所述多个调用slot分别接受到调用的时间先后顺序,依次执行所述多个调用slot分别接受到的调用,所述全体调用slot包括所述第一扩展门铃寄存器和所述第二扩展门铃寄存器中的调用slot。
- 根据权利要求14所述的处理器,其特征在于,所述全体调用slot中的每个调用slot皆对应有排列次序;所述HCI还用于:当存在多个调用slot同时接受到调用时,优先执行第一调用slot接受到的调用,所述第一调用slot为所述多个调用slot中,与起始调用slot的排列次序最为接近的调用slot,所述起始调用slot为所述HCI最后执行的调用对应的调用slot的下一个调用slot。
- 根据权利要求1至15中任一项所述的处理器,其特征在于,所述HCI还包括第一门铃开关寄存器和第二门铃开关寄存器;所述第一处理器核还用于:通过所述第一门铃开关寄存器,调用所述HCI开启或关闭所述第一扩展门铃寄存器;所述第二处理器核还用于:通过所述第二门铃开关寄存器,调用所述HCI开启或关闭所述第二扩展门铃寄存器。
- 一种UFS控制方法,其特征在于,应用于处理器,所述处理器包括第一处理器核、第二处理器核、主机控制器寄存器HCI和服务交付子系统SDS,其中,所述HCI包括第一扩展门铃寄存器和第二扩展门铃寄存器,所述方法包括:所述第一处理器核通过所述第一扩展门铃寄存器调用所述HCI向所述SDS提供第一指令信息;所述第二处理器核通过所述第二扩展门铃寄存器调用所述HCI向所述SDS提供第二 指令信息。
- 根据权利要求17所述的方法,其特征在于,所述处理器包括多个处理器核,所述第一处理器核为所述多个处理器核中的任一处理器核,所述第二处理器核为所述多个处理器核中除所述第一处理器核之外的任一处理器核;所述HCI包括多个扩展门铃寄存器,且所述多个扩展门铃寄存器与所述多个处理器核一一对应,其中,所述第一扩展门铃寄存器为与所述第一处理器核对应的扩展门铃寄存器,所述第二扩展门铃寄存器为与所述第二处理器核对应的扩展门铃寄存器。
- 根据权利要求17或18所述的方法,其特征在于,所述HCI还包括第一扩展反馈寄存器和第二扩展反馈寄存器;所述第一处理器核通过所述第一扩展门铃寄存器调用所述HCI向所述SDS提供第一指令信息之后,还包括:所述HCI在所述SDS完成执行所述第一指令信息后,通过所述第一扩展反馈寄存器向所述第一处理器核反馈第一中断信息;所述第二处理器核通过所述第二扩展门铃寄存器调用所述HCI向所述SDS提供第二指令信息之后,还包括:所述HCI在所述SDS完成执行所述第二指令信息后,通过所述第二扩展反馈寄存器向所述第二处理器核反馈第二中断信息。
- 根据权利要求19所述的方法,其特征在于,所述HCI还包括第一反馈开关寄存器和第二反馈开关寄存器,所述方法还包括:所述第一处理器核通过所述第一反馈开关寄存器,调用所述HCI开启或关闭所述第一扩展反馈寄存器;所述第二处理器核通过所述第二反馈开关寄存器,调用所述HCI开启或关闭所述第二扩展反馈寄存器。
- 根据权利要求17至20中任一项所述的方法,其特征在于,所述第一扩展门铃寄存器与内存中第一扩展存储空间对应,所述第二扩展门铃寄存器与所述内存中的第二扩展存储空间对应;所述第一处理器核通过所述第一扩展门铃寄存器调用所述HCI向所述SDS提供第一指令信息,包括:第一处理器核向所述第一扩展存储空间写入所述第一指令信息;所述HCI从所述第一扩展存储空间读取所述第一指令信息,并将所述第一指令信息提供给所述SDS;所述第二处理器核通过所述第二扩展门铃寄存器调用所述HCI向所述SDS提供第二指令信息,包括:所述第二处理器核向所述第二扩展存储空间写入所述第二指令信息;所述HCI从所述第二扩展存储空间读取所述第二指令信息,并将所述第二指令信息提供给所述SDS。
- 根据权利要求21所述的方法,其特征在于,所述处理器包括多个处理器核,所述多个处理器核包括所述第一处理器核和所述第二处理器核,所述HCI还包括协议门铃寄存器,所述内存还包括与所述协议门铃寄存器对应的协议存储空间,所述方法还包括:所述HCI通过所述协议门铃寄存器接收所述多个处理器核中任一处理器核的调用;所述HCI基于所述任一处理器核的调用,从所述协议存储空间读取所述任一处理器核写入的指令信息,并将读取到的指令信息提供给所述SDS。
- 根据权利要求22所述的方法,其特征在于,所述第一扩展存储空间的地址和所述第二扩展存储空间的地址依次连续排列于所述协议存储空间的地址之后;所述HCI还包括协议地址寄存器,所述协议地址寄存器用于存储所述协议存储空间的地址信息;所述HCI向所述SDS提供第一指令信息,包括:所述HCI根据所述协议地址寄存器中所述协议存储空间的地址信息,计算得到所述第一扩展存储空间的地址信息;所述HCI根据所述第一扩展存储空间的地址信息,从所述第一扩展存储空间中读取所述第一指令信息,并将所述第一指令信息提供给所述SDS;所述HCI向所述SDS提供第二指令信息,包括:所述HCI根据所述协议地址寄存器中所述协议存储空间的地址信息,计算得到所述第一扩展存储空间的地址信息;所述HCI根据所述第一扩展存储空间的地址信息,从所述第二扩展存储空间中读取所述第二指令信息,并将所述第二指令信息提供给所述SDS。
- 根据权利要求21或22所述的方法,其特征在于,所述HCI还包括第一扩展地址寄存器和第二扩展地址寄存器,所述第一扩展地址寄存器用于存储所述第一扩展存储空间的地址信息,所述第二扩展地址寄存器用于存储所述第一扩展存储空间的地址信息;所述HCI向所述SDS提供第一指令信息,包括:所述HCI根据所述第一扩展地址寄存器中所述第一扩展存储空间的地址信息,从所述第一扩展存储空间中读取所述第一指令信息,并将所述第一指令信息提供给所述SDS;所述HCI向所述SDS提供第二指令信息,包括:所述HCI根据所述第二扩展地址寄存器中所述第二扩展存储空间的地址信息,从所述第二扩展存储空间中读取所述第二指令信息,并将所述第二指令信息提供给所述SDS。
- 根据权利要求17至24中任一项所述的方法,其特征在于,所述HCI还包括第一清除寄存器和第二清除寄存器,所述方法还包括:所述第一处理器核通过所述第一清除寄存器,调用所述HCI指示所述SDS停止执行所述第一指令信息;所述第二处理器核通过所述第二清除寄存器,调用所述HCI指示所述SDS停止执行所述第二指令信息。
- 根据权利要求17至25中任一项所述的方法,其特征在于,所述第一扩展门铃寄存器包括多个调用slot,且所述多个调用slot对应有优先级,所述调用slot用于接受调用,所述方法还包括:所述HCI在所述第一扩展门铃寄存器中存在多个调用slot接受到调用时,根据接受到调用的所述多个调用slot分别对应的优先级,依次执行所述多个调用slot接受到的调用。
- 根据权利要求17至25中任一项所述的方法,其特征在于,所述第一扩展门铃寄存器包括多个调用slot,所述调用slot用于接受调用,所述方法还包括:所述HCI从所述第一扩展门铃寄存器中的起始调用slot开始,依次轮询所述第一扩展门铃寄存器的多个调用slot;在确定任一调用slot接受到调用后,执行所述任一调用slot接受到的调用;将所述任一调用slot的下一个调用slot作为所述起始调用slot,并继续依次轮询所述第一扩展门铃寄存器的多个调用slot。
- 根据权利要求17至27中任一项所述的方法,其特征在于,所述第一扩展门铃寄存器的优先级高于所述第二扩展门铃寄存器的优先级,所述方法还包括:所述HCI在从所述第一扩展门铃寄存器和所述第二扩展门铃寄存器皆接受到调用时,先执行所述第一扩展门铃寄存器接受到的调用,再执行所述第二扩展门铃寄存器接受到的调用。
- 根据权利要求17至25中任一项所述的方法,其特征在于,所述第一扩展门铃寄存器和所述第二扩展门铃寄存器皆包括多个调用slot,所述调用slot用于接受调用;所述方法还包括:所述HCI从起始调用slot开始,依次轮询全体调用slot,所述全体调用slot包括所述第一扩展门铃寄存器和所述第二扩展门铃寄存器中的调用slot;所述HCI在确定任一调用slot接受到调用后,执行所述任一调用slot接受到的调用;所述HCI以所述任一调用slot的下一个调用slot作为所述起始调用slot,继续依次轮询所述全体调用slot。
- 根据权利要求17至25中任一项所述的方法,其特征在于,所述第一扩展门铃寄存器和所述第二扩展门铃寄存器皆包括多个调用slot,所述调用slot用于接受调用,所述方法还包括:当全体调用slot中存在多个调用slot接受到调用时,所述HCI根据所述多个调用slot分别接受到调用的时间先后顺序,依次执行所述多个调用slot分别接受到的调用,所述全体调用slot包括所述第一扩展门铃寄存器和所述第二扩展门铃寄存器中的调用slot。
- 根据权利要求30所述的方法,其特征在于,所述全体调用slot中的每个调用slot皆对应有排列次序,所述方法还包括:当存在多个调用slot同时接受到调用时,所述HCI优先执行第一调用slot接受到的调用,所述第一调用slot为所述多个调用slot中,与起始调用slot的排列次序最为接近的调用slot,所述起始调用slot为所述HCI最后执行的调用对应的调用slot的下一个调用slot。
- 根据权利要求17至31中任一项所述的方法,其特征在于,所述HCI还包括第一门铃开关寄存器和第二门铃开关寄存器,所述方法还包括:所述第一处理器核通过所述第一门铃开关寄存器,调用所述HCI开启或关闭所述第一扩展门铃寄存器;所述第二处理器核通过所述第二门铃开关寄存器,调用所述HCI开启或关闭所述第二扩展门铃寄存器。
- 一种计算机系统,其特征在于,包括如权利要求1至16中任一项所述的处理器,和UFS外设;所述处理器中的SDS与所述UFS外设耦合。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/106320 WO2022021372A1 (zh) | 2020-07-31 | 2020-07-31 | 一种处理器、ufs控制方法及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116235139A true CN116235139A (zh) | 2023-06-06 |
CN116235139B CN116235139B (zh) | 2024-07-30 |
Family
ID=80036946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080104532.3A Active CN116235139B (zh) | 2020-07-31 | 2020-07-31 | 一种处理器、ufs控制方法及计算机系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230176774A1 (zh) |
EP (1) | EP4184304A4 (zh) |
CN (1) | CN116235139B (zh) |
WO (1) | WO2022021372A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180368192A1 (en) * | 2017-06-20 | 2018-12-20 | Intel Corporation | Offloading mac/link layer functions |
CN109582614A (zh) * | 2013-06-26 | 2019-04-05 | 科内克斯实验室公司 | 针对远程存储器访问的nvm express控制器 |
CN110032332A (zh) * | 2017-11-30 | 2019-07-19 | 三星电子株式会社 | 存储设备和包括存储设备的电子设备 |
CN111221476A (zh) * | 2020-01-08 | 2020-06-02 | 深圳忆联信息系统有限公司 | 提升ssd性能的前端命令处理方法、装置、计算机设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853957B2 (en) * | 2005-04-15 | 2010-12-14 | Intel Corporation | Doorbell mechanism using protection domains |
US8589613B2 (en) * | 2010-06-02 | 2013-11-19 | Intel Corporation | Method and system to improve the operations of an integrated non-transparent bridge device |
US9348537B2 (en) * | 2013-09-10 | 2016-05-24 | Qualcomm Incorporated | Ascertaining command completion in flash memories |
CN104268105B (zh) * | 2014-09-23 | 2017-06-30 | 天津国芯科技有限公司 | 处理器局部总线互斥存取的扩展结构及操作方法 |
KR20170032502A (ko) * | 2015-09-14 | 2017-03-23 | 삼성전자주식회사 | 스토리지 장치 및 그것의 인터럽트 발생 방법 |
US10379745B2 (en) * | 2016-04-22 | 2019-08-13 | Samsung Electronics Co., Ltd. | Simultaneous kernel mode and user mode access to a device using the NVMe interface |
-
2020
- 2020-07-31 CN CN202080104532.3A patent/CN116235139B/zh active Active
- 2020-07-31 WO PCT/CN2020/106320 patent/WO2022021372A1/zh unknown
- 2020-07-31 EP EP20947671.2A patent/EP4184304A4/en active Pending
-
2023
- 2023-01-31 US US18/162,555 patent/US20230176774A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582614A (zh) * | 2013-06-26 | 2019-04-05 | 科内克斯实验室公司 | 针对远程存储器访问的nvm express控制器 |
US20180368192A1 (en) * | 2017-06-20 | 2018-12-20 | Intel Corporation | Offloading mac/link layer functions |
CN110032332A (zh) * | 2017-11-30 | 2019-07-19 | 三星电子株式会社 | 存储设备和包括存储设备的电子设备 |
CN111221476A (zh) * | 2020-01-08 | 2020-06-02 | 深圳忆联信息系统有限公司 | 提升ssd性能的前端命令处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116235139B (zh) | 2024-07-30 |
EP4184304A4 (en) | 2023-09-13 |
US20230176774A1 (en) | 2023-06-08 |
EP4184304A1 (en) | 2023-05-24 |
WO2022021372A1 (zh) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3702462A (en) | Computer input-output system | |
JP4861339B2 (ja) | スイッチマトリックス経由のデータ転送を改善するフロー制御方法 | |
AU598857B2 (en) | Move-out queue buffer | |
CN101231619A (zh) | 一种基于非连续页的动态内存管理方法 | |
US10705986B2 (en) | Flash interface controller and operation command processing method | |
CN110716691B (zh) | 调度方法、装置、闪存设备和系统 | |
US9390033B2 (en) | Method and system for communicating with non-volatile memory via multiple data paths | |
US20130111090A1 (en) | Queue arbitration using non-stalling request indication | |
US20080301381A1 (en) | Device and method for controlling commands used for flash memory | |
US20210073162A1 (en) | Data processing apparatus and operation method thereof | |
WO2022160628A1 (zh) | 命令处理装置、方法、电子设备以及计算机可读存储介质 | |
CN116235139B (zh) | 一种处理器、ufs控制方法及计算机系统 | |
CN116089049B (zh) | 基于异步并行i/o请求的进程同步调度方法、装置以及设备 | |
CN115658326B (zh) | 用于管理存储空间的装置及方法、计算设备、芯片 | |
US9122565B2 (en) | Memory controller and memory control method | |
CN115878333A (zh) | 进程组间的一致性判断方法、装置及设备 | |
CN105723317B (zh) | 用于与非易失性存储器通信的方法和系统 | |
US7908421B2 (en) | Universal serial bus endpoint context caching | |
Jensen | A distributed function computer for real-time control | |
CN113127210A (zh) | 一种分布式系统的存储管理方法、装置及存储介质 | |
CN118363900B (zh) | 一种具备扩展性和灵活性的数据流加速设备及方法 | |
CN115599705B (zh) | 用于管理存储空间的装置及方法、计算设备、芯片 | |
CN118656032A (zh) | 存储器读任务的处理方法、装置、电子设备及存储介质 | |
KR880000462B1 (ko) | 멀티프로세서 시스템에 있어서의 데이터전송장치 | |
JPS5858707B2 (ja) | アクセス制御装置 |
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 |