查明闪存中的命令完成的制作方法_3

文档序号:9794035阅读:来源:国知局
照门铃寄存器30和未完结请求变量来确定完成的请求(框92)。针对每个完成的请求执行子例程(框94),其中读取响应码(框96),处置任何错误(框98),并且向上层(例如,在第一实例中发出请求的软件)通知请求完成(框100)。当所有完成的请求都已在框94处被处理时,未完结请求变量的对应比特被清除(框101),并且随后主机软件20移除锁并退出(框102),从而导致请求完成上下文结束(框104)。发送请求上下文66和请求完成上下文68两者中锁的存在由指定锁定序列突出显示(框106)。
[0038]与发送请求上下文66和请求完成上下文68的过程形成对比,本公开的诸方面允许消除锁,并且减轻了伴随缺陷。就此,图4解说了包括命令完成寄存器(UTRLCNR) 32(有时也被称为完成通知寄存器)的主机10’。注意,在大多数其他请求中,主机10’具有等同于图1的主机10的元件。如同门铃寄存器30那样,命令完成寄存器32基于硬件且具有与由主机控制器16处置的时隙数目相等的比特数目。即,使用命令完成寄存器32允许硬件解决方案来替代锁。通过使用硬件解决方案,发送和完成请求可在任何点开始。使多个上下文并发地操作的能力提高了操作效率,尤其是对于多核处理器。
[0039]就此,图5提供了发送请求上下文108和请求完成上下文110。发送请求上下文108开始(框112)且主机软件20准备事务数据(框114)。主机软件20设置门铃寄存器30(框116)且发送请求结束(框118)。由于不需要为未完结请求设置软件变量,因此不存在关于中断发生的担忧。
[0040]继续参照图5,请求完成上下文110开始(框120)。最初,硬件清除门铃寄存器30并设置命令完成寄存器32(框122)。中断发生(框124)。主机软件20读取命令完成寄存器32(框126)以查明哪些任务被完成。针对每个完成的任务开始子例程(框128),其中读取响应码(框130),处置任何错误(框132),并且主机软件20清除命令完成寄存器32(框134)。在主机软件20清除命令完成寄存器32之后,向上层(例如,发出请求的软件)通知请求完成(框136)。在进行清除和通知之后,命令完成寄存器32中对应于该比特的时隙可按照需要或定义被保留。当所有完成的请求已被处理时(框128),请求完成上下文110结束(框138)。与锁禁用中断的时间段(由图3中的106突出显示)形成对比,框139突出显示了中断可在任何点发生,并且具体而言可在常规系统强加锁的时间期间发生。如上所述,消除锁改善了性能,并且添加新硬件(即,命令完成寄存器32)被视为性能改善的可接受折衷。
[0041]根据本文中所公开的诸方面的查明闪存中的命令完成可设在或集到任何基于处理器的设备中。不作为限定的示例包括机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器、以及便携式数字视频播放器。
[0042]就此,图6解说了可采用如图4中所解说的主机10’和设备12的基于处理器的系统140的示例。在这一示例中,基于处理器的系统140包括一个或多个中央处理单元(CPU) 142,其各自包括一个或多个处理器144。(诸)CPU 142可以是主设备,并且包括主机10’。(诸)CPU142可具有耦合至(诸)处理器144以用于对临时存储的数据进行快速访问的高速缓存存储器146XPU 142耦合至系统总线148。如众所周知的,(诸)CPU 142通过在系统总线148上交换地址、控制、和数据信息来与这些其他设备通信。例如,(诸)CPU 142可向可包括设备12的存储器系统150传达总线事务请求。尽管未在图6中解说,但可提供多个系统总线148,其中每个系统总线148构成不同的织构。
[0043]其他主设备和从设备可被连接到系统总线148。如图6中所解说的,作为示例,这些设备可包括可具有多个存储器单元(未具体解说)的存储器系统150、一个或多个输入设备152、一个或多个输出设备154、一个或多个网络接口设备156、以及一个或多个显示器控制器158。(诸)输入设备152可包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备154可包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(诸)网络接口设备156可以是被配置成允许往来于网络160的数据交换的任何设备。网络160可以是任何类型的网络,包括但不限于:有线或无线网络、私有或公共网络、局域网(LAN)、广域网(WLAN)和因特网。(诸)网络接口设备156可被配置成支持所期望的任何类型的通信协议。
[0044](诸)CPU142还可被配置成通过系统总线148访问(诸)显示器控制器158以控制发送给一个或多个显示器162的信息。(诸)显示器控制器158经由一个或多个视频处理器164向(诸)显示器162发送要显示的信息,视频处理器164将要显示的信息处理成适于(诸)显示器162的格式。(诸)显示器162可包括任何类型的显示器,包括但不限于:阴极射线管(CRT)、液晶显示器(IXD)、等离子显示器等。
[0045]本领域技术人员将进一步领会,结合本文所公开的诸方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其它处理设备执行的指令、或这两者的组合。作为示例,本文中描述的设备可用在任何电路、硬件组件、集成电路(1C)、或IC芯片中。本文所公开的存储器可以是任何类型和大小的存储器,且可被配置成存储所需的任何类型的信息。为清楚地解说这种可互换性,以上已经以其功能性的形式一般地描述了各种解说性组件、框、模块、电路和步骤。此类功能性如何被实现取决于具体应用、设计选择和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
[0046]结合本文中公开的诸方面描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文中描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
[0047]本文所公开的诸方面可被实施在硬件和存储在硬件中的指令中,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(R0M)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、⑶-ROM,或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1