管理不对准存储器组件的重新映射的存储器子系统的制作方法

文档序号:32313033发布日期:2022-11-23 13:27阅读:86来源:国知局
管理不对准存储器组件的重新映射的存储器子系统的制作方法
管理不对准存储器组件的重新映射的存储器子系统
1.分案申请信息
2.本技术是申请日为2020年8月26日、申请号为“202010868968.1”、发明名称为“管理不对准存储器组件的重新映射的存储器子系统”的发明专利申请的分案申请。
技术领域
3.本发明的实施例大体来说涉及一种存储器子系统,且更具体来说涉及一种管理不对准存储器组件的重新映射的存储器子系统。


背景技术:

4.存储器子系统可包含存储数据的一或多个存储器组件。举例来说,存储器组件可以是非易失性存储器组件及易失性存储器组件。通常,主机系统可利用存储器子系统来将数据存储在存储器组件处且从所述存储器组件检索数据。


技术实现要素:

5.在一个方面中,本技术案提供一种系统,所述系统包括:存储器组件,其包括多个扇区;及处理装置,其与所述存储器组件操作地耦合以实行包括以下步骤的操作:接收存取所述多个扇区中的选定扇区的请求,所述选定扇区与扇区编号相关联;确定与所述选定扇区对应的虚拟块,所述虚拟块与不对准因数及不对准计数器相关联;确定所述不对准计数器是否满足阈值准则;响应于所述不对准计数器满足所述阈值准则,通过将所述扇区编号移位达所述不对准因数产生更新的扇区编号,及使用所述更新的扇区编号对所述选定扇区实行所述存取;及响应于所述不对准计数器不满足所述阈值准则,更新所述不对准计数器,及使用所述扇区编号对所述选定扇区实行所述存取。
6.在另一方面中,本技术案进一步提供一种方法,所述方法包括:接收存取多个扇区中的选定扇区的请求,所述选定扇区与扇区编号相关联;确定与所述选定扇区对应的虚拟块,所述虚拟块与不对准因数及不对准计数器相关联;确定所述不对准计数器是否满足阈值准则;响应于所述不对准计数器满足所述阈值准则,通过将所述扇区编号移位达所述不对准因数产生更新的扇区编号,及使用所述更新的扇区编号对所述选定扇区实行所述存取;及响应于所述不对准计数器不满足所述阈值准则,更新所述不对准计数器,及使用所述扇区编号对所述选定扇区实行所述存取。
7.在又一方面中,本技术案进一步提供一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使得所述处理装置实行包括以下步骤的操作:接收存取多个扇区中的选定扇区的请求,所述选定扇区与扇区编号相关联;确定与所述选定扇区对应的虚拟块,所述虚拟块与不对准因数及不对准计数器相关联;确定所述不对准计数器是否满足阈值准则;响应于所述不对准计数器满足所述阈值准则,通过将所述扇区编号移位达所述不对准因数产生更新的扇区编号,及使用所述更新的扇区编号对所述选定扇区实行所述存取;及响应于所述不对准计数器不满足所述阈值准则,更新所述不对准计数器,及使
用所述扇区编号对所述选定扇区实行所述存取。
附图说明
8.将从下文所给出的详细说明及从本发明的各种实施例的附图更充分地理解本发明。然而,图式不应被视为将本发明限制于具体实施例,而是仅用于解释及理解。
9.图1图解说明根据本发明的一些实施例的包含存储器子系统的实例性计算环境。
10.图2是根据本发明的一些实施例的管理不对准存储器组件的重新映射的实例性方法的流程图。
11.图3是根据本发明的一些实施例的更新图2中的操作250处的不对准计数器的实例性方法的流程图。
12.图4是根据本发明的一些实施例的管理不对准存储器组件的重新映射的实例性方法的流程图。
13.图5是本发明的实施例可在其中操作的实例性计算机系统的框图。
具体实施方式
14.本发明的各方面涉及管理不对准存储器组件的重新映射的存储器子系统。存储器子系统可以是存储装置、存储器模块或存储装置与存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。通常,主机系统可利用包含一或多个存储器组件(在后文中也被称为“存储器装置”)的存储器子系统。主机系统可提供数据以存储在存储器子系统处且可请求从存储器子系统检索数据。
15.常规存储器子系统可由于主机装置所使用的逻辑地址与存储器装置所使用的逻辑地址之间不对准而遭受性能降级。此不对准可能是由于主机装置使用与存储器装置内部设定的第一逻辑地址不同的起始地址。如果主机所使用的逻辑地址以扇区(例如,大小为512个字节)表达,那么常规存储器子系统可潜在地将512字节扇区内部映射到大于一个扇区的逻辑单元(例如,4kb)。
16.举例来说,一些常规存储器子系统使用老旧分区工具来使用过时的分区方案配置存储分区表。举例来说,一些常规存储器子系统使用软盘分区方案(自软盘导出)。此致使存储装置中的第一可用扇区为扇区#63。然而,存储装置可被组织并对准到虚拟页。虚拟页中的每一者可为4千字节(kb)或其乘数。使用老旧分区工具致使分区的第一扇区位于32,256个字节(即,63
×
512b)之后,即在起始扇区(例如,扇区0)之后的31.5kb。举例来说,如果存储装置的粒度为4kb的页,那么来自常规存储器子系统的第一次存取将以不对准方式在页#7处发生。
17.此外,由于现代文件系统使用2kb或4kb的数据粒度,因此极有可能为了存取4kb数据而对存储装置进行的每一次文件系统存取会由于分区表不对准而导致存取底层存储装置的至少两个部分页。举例来说,当具有4kb虚拟页大小的系统接收到读取4kb数据的请求时,不对准的分区表(例如,31.5kb的分区表大小)将导致在4kb的扇区#63(=31.5kb)处实行所述请求。内部闪存转换层(ftl)将读取页#7的最后512b及来自页#8的3.5kb。因此,利用两次nand读取存取实现所述请求。相比之下,当具有4kb虚拟页大小的系统接收到读取4kb数据的请求时,对准的分区表(例如,2mb的分区表大小)将使得4kb的扇区#4096(=2mb)处
实行所述请求。内部闪存转换层(ftl)将从页#512读取4kb。因此,利用一次nand读取存取实现所述请求。因此,不对准的分区表导致即使仅请一个数据页内部存储媒体也会以不对准方式存取至少两个物理页。
18.本发明的各方面通过具有检测分区不对准并重新定位逻辑扇区以防止由于不对准的分区表而造成性能损失的存储器子系统来解决以上及其它缺陷。存储器子系统可按照组织在扇区(例如,大小为512个字节)中的线性数据阵列检测存储器组件且管理作为数据块的虚拟页中的扇区的重新定位。举例来说,虚拟页中的每一者的虚拟页大小可以是4kb。存储器组件也可被分割成包含虚拟页的虚拟块(例如,大小为128mb)。
19.存储器子系统包括针对每一虚拟块维护不对准因数及不对准计数器的重新映射组件。每当接收到存取虚拟块中的扇区的请求时,重新映射组件确定不对准计数器是否满足阈值准则以确定是否应用不对准因数。举例来说,阈值准则可以是不对准计数器大于预定阈值。在此实施例中,当不对准计数器大于预定阈值时不对准计数器满足阈值准则,且当不对准计数器不大于预定阈值时不满足阈值准则。当重新映射组件确定不对准计数器满足阈值准则时,重新映射组件通过将扇区编号移位达不对准因数来产生更新的扇区编号,并使用更新的扇区编号对选定扇区实行存取。相比之下,当重新映射组件确定不对准计数器不满足阈值准则时,重新映射组件更新不对准计数器并使用扇区编号对选定扇区实行存取。为更新不对准计数器,重新映射组件将不对准因数与扇区的地址不对准进行比较。重新映射组件在不对准因数等于扇区的地址不对准时递增不对准计数器,且在不对准因数不等于扇区的地址不对准时将不对准计数器复位。当不对准因数不等于扇区的地址不对准时,重新映射组件也通过将不对准因数设定为选定扇区的不对准来更新不对准因数。
20.通过针对每一虚拟块维护不对准因数及不对准计数器,重新映射组件检测错误配置的分区模型并对逻辑扇区进行重新映射。此允许存储器子系统减小实现请求(例如,读取及写入存取)所需的存取次数,此能进一步提高存储器子系统的性能。相比而言,性能可提高到常规存储器子系统性能的两倍。除性能增益之外,通过减小存取存储器组件的次数,重新映射组件可将存储器组件的寿命延长到常规存储器子系统的寿命预期的两倍。存储器子系统所提供的额外技术益处是在存储器组件内解决不对准的分区表问题而无需在系统级上实施改变。
21.图1图解说明根据本发明的一些实施例的包含存储器子系统110的实例性计算环境100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或上述装置的组合。
22.存储器子系统110可以是存储装置、存储器模块或者存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、闪存驱动器、通用串行总线(usb)闪存驱动器、嵌入式多媒体控制器(emmc)驱动器、通用闪存存储(ufs)驱动器及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小引出线dimm(so-dimm)及非易失性双列直插式存储器模块(nvdimm)。
23.计算环境100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1图解说明耦合到一个存储器子系统110的主机系统120的一个实例。举例来说,主机系统120使用存储器子系统110将数据写入到存储器子系统110及从存储器子系统110读取数据。如本文中所使用,“耦合到”通
常是指组件之间的连接,所述连接可以是间接通信连接或直接通信连接(例如,无介入性组件)、有线连接或无线连接,包含例如电接、光学、磁性等连接。
24.主机系统120可以是计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置、嵌入式计算机(例如,车辆、工业装备或联网商业装置中所包含的嵌入式计算机),或包含存储器及处理装置的此类计算装置。主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行先进技术附接(sata)接口、外围组件互连快速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm快速(nvme)接口来存取存储器组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。
25.存储器装置可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)。
26.非易失性存储器装置(例如,存储器装置130)的实例包含与非(nand)型闪存存储器。存储器装置130中的每一者可包含例如单电平单元(slc)或多电平单元(mlc)(例如,三电平单元(tlc)或四电平单元(qlc))等存储器单元的一或多个阵列。在一些实施例中,特定存储器组件可包含存储器单元的slc部分及mlc部分、tlc部分、或qlc部分。存储器单元中的每一者可存储由主机系统120使用的数据的一或多个位。此外,存储器装置130的存储器单元可被分群成存储器页或存储器块,所述存储器页或存储器块可指代存储器组件的用于存储数据的单位。举例来说,存储器装置130中的存储器单元可被分群成虚拟存储器块(例如,虚拟块)。虚拟块中的每一者可包括若干虚拟存储器页(例如,虚拟页)。虚拟页中的每一者可包括存储器装置130的若干扇区。
27.尽管描述了非易失性存储器组件(例如,nand型闪存存储器),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、磁性随机存取存储器(mram)、或非(nor)闪存存储器、电可擦除可编程只读存储器(eeprom)及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可与可堆叠交叉栅格数据存取阵列结合基于块电阻的改变来实行位存储。另外,与诸多基于闪存的存储器相比,交叉点非易失性存储器可实行写入原位操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
28.存储器子系统控制器115可与存储器装置130进行通信以实行操作,例如在存储器装置130处读取数据、写入数据或擦除数据及其它此类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。存储器子系统控制器115可以是微控制器、特殊用途逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它适合的处理器。
29.存储器子系统控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器(处理装置)117。在所图解说明的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,所述嵌入式存储器经配置以存储用于实行控制存储器子系统110的操作(包含把控存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程及
例程的指令。
30.在一些实施例中,本地存储器119可包含存存储储器指针、所提取的数据等的存储器寄存器。本地存储器119也可包含用于存储微码的只读存储器(rom)。虽然图1中的实例性存储器子系统110已被图解说明为包含存储器子系统控制器115,但在本发明的另一实施例中,存储器子系统110可不包含存储器子系统控制器115,而是可依靠外部控制(例如,由外部主机或处理器或由与存储器子系统分离的控制器提供)。
31.通常,存储器子系统控制器115可从主机系统120接收命令或操作并可将命令或操作转换成指令或恰当命令以达成对存储器装置130的所期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、无用单元收集操作、错误检测及错误校正码(ecc)操作、加密操作、高速缓冲操作及地址逻辑块地址和与存储器装置130相关联的物理块地址之间的转化。存储器子系统控制器115可进一步包含用以经由物理主机接口与主机系统120通信的主机接口电路系统。主机接口电路系统可将从主机系统120接收到的命令转换成命令指令以存取存储器装置130,且将与存储器装置130相关联的响应转换成用于主机系统120的信息。
32.存储器子系统110也可包含未图解说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓冲存储器或缓冲器(例如,dram)及地址电路系统(例如,行解码器及列解码器),所述地址电路系统可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
33.在一些实施例中,存储器装置130包含与存储器子系统控制器115结合操作以对存储器装置130的一或多个存储器单元执行操作的本地媒体控制器135。
34.存储器子系统110包含重新映射组件113,所述重新映射组件113可检测分区不对准及对逻辑扇区进行重新映射以改进实现请求(例如,读取及写入存取)所需的存取次数。在一些实施例中,存储器子系统控制器115包含重新映射组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),所述处理器117经配置以实行存储在本地存储器119中以执行本文中所描述的操作的指令。在一些实施例中,重新映射组件113是主机系统120、应用或操作系统的一部分。
35.重新映射组件113可使用针对存储器装置130中的存储器单元的每一虚拟块所维护的不对准因数及不对准计数器来对具有不对准的分区表的存储器装置130实行重新映射。每当接收到存取虚拟块中的扇区的请求时,重新映射组件113确定虚拟块的不对准计数器是否大于预定阈值以确定是否应用虚拟块的不对准因数。当重新映射组件113确定不对准计数器大于预定阈值时,重新映射组件113通过将扇区编号移位达不对准因数来产生更新的扇区编号并使用更新的扇区编号对选定扇区实行存取。相比之下,当重新映射组件113确定不对准计数器不大于预定阈值时,重新映射组件113更新不对准计数器并使用扇区编号对选定扇区实行存取。为更新不对准计数器,重新映射组件113将不对准因数与扇区的地址不对准进行比较。重新映射组件113在不对准因数等于扇区的地址不对准时递增不对准计数器且在不对准因数不等于扇区的地址不对准时将不对准计数器复位。重新映射组件113还通过在不对准因数不等于扇区的地址不对准时将不对准因数设定为选定扇区的不对准来更新不对准因数。关于重新映射组件113的操作的进一步细节在下文予以描述。
36.图2是根据本发明的一些实施例的管理不对准存储器组件的重新映射的实例性方
法200的流程图。方法200可由处理逻辑实行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的重新映射组件113实行。尽管展示为特定的顺序或次序,但除非另有规定,否则可修改过程的次序。因此,所图解说明的实施例应被理解仅是实例,且可以不同的次序实行所图解说明的过程,且可并行实行一些过程。另外,各种实施例中可省略一或多个过程。因此,并不是每一实施例中皆需要所有的过程。可存在其它过程流程。
37.在操作210处,处理装置接收存取存储器组件中的选定扇区的请求。存储器组件可包含一或多个扇区。存储器组件中的每一扇区可以是大小为512字节的数据块。选定扇区可与扇区编号相关联。可使用扇区编号识别选定扇区。在一个实施例中,存取选定扇区的请求包含扇区编号。
38.在操作210处,处理装置可从主机系统120接收存取选定扇区的请求。存取选定扇区的请求可以是读取存取或写入存取。
39.然后,处理装置确定与选定扇区对应的虚拟块(参见操作220)。虚拟块可与不对准因数及不对准计数器相关联。在一个实施例中,存储器装置130中的存储器单元可被分群成虚拟存储器块(例如,虚拟块)。可使用虚拟块数目来识别虚拟块中的每一者。在一个实施例中,处理装置基于逻辑块寻址(lba)确定与选定扇区相关联的虚拟块。虚拟块也可分别与不对准因数及不对准计数器相关联。在一个实施例中,处理装置在不对准表中存储与虚拟块相关联的不对准因数及不对准计数器作为元数据。不对准表可存储在重新映射组件113或本地存储器119中。
40.在操作230处,处理装置确定不对准计数器是否满足阈值准则。在一个实例中,当不对准计数器大于预定阈值时满足阈值准则。预定阈值可以是内部设定的。预定阈值可因应用而异。预定阈值也可以是可配置的。在一个实施例中,预定阈值可以是8位计数(介于0到255的范围内)。
41.响应于确定不对准计数器满足阈值准则,如在操作240处所展示,处理装置通过将扇区编号移位达不对准因数产生更新的扇区编号并使用更新的扇区编号对选定扇区实行存取。在一个实例中,不对准计数器满足阈值准则(例如,不对准计数器大于预定阈值)向处理装置指示可不再递增不对准计数器,使得将虚拟块中的每一次存取移位达不对准因数。在一个实施例中,处理装置通过将扇区编号增加不对准因数来将扇区编号移位达不对准因数。
42.此外,如在操作250处所展示,响应于确定不对准计数器不满足阈值准则(例如,不对准计数器不大于预定阈值),处理装置更新不对准计数器且使用扇区编号对选定扇区实行存取。
43.图3是根据本发明的一些实施例的在图2中的操作250处更新不对准计数器的实例性方法的流程图。图3中的方法可由处理逻辑实行,所述处理逻辑可包括硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图3中的方法由图1的重新映射组件113实行。尽管展示为特定的顺序或次序,但除非另有规定,否则可修改过程的次序。因此,所图解说明的实施例应被理解为仅是实例,且可以不同的次序实行所图解说明的过程,且
可并行实行一些过程。另外,各种实施例中可省略一或多个过程。因此,并不是每一实施例中皆需要所有的过程。可存在其它过程流程。
44.处理装置确定选定扇区的不对准是否等于不对准因数,如在操作310中所展示。选定扇区的不对准可基于主机起始地址与由处理装置内部设定的逻辑起始地址之间的地址不对准。
45.响应于确定选定扇区的不对准等于不对准因数,在操作320处处理装置递增不对准计数器。
46.此外,响应于确定选定扇区的不对准不等于不对准因数,在操作330处处理装置将不对准计数器复位。在一个实施例中,响应于确定选定扇区的不对准不等于不对准因数,处理装置进一步通过将不对准因数设定为选定扇区的不对准更新不对准因数。
47.图4是根据本发明的一些实施例的管理不对准存储器组件的重新映射的实例性方法的流程图。方法400可由处理逻辑实行,所述处理逻辑可包括硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的重新映射组件113实行。尽管展示为特定的顺序或次序,但除非另有规定,否则可修改过程的次序。因此,所图解说明的实施例应被理解为仅是实例,且可以不同次序实行所图解说明的过程,且可并行实行一些过程。另外,各种实施例中可省略一或多个过程。因此,并不是每一实施例中皆需要所有的过程。可存在其它过程流程。
48.在操作410处,处理装置接收存取存储器组件中的选定扇区的请求。选定扇区可与扇区编号相关联。处理装置可从主机系统120接收存取选定扇区的请求。存取选定扇区的请求可以是读取存取或写入存取。在一个实施例中,存取选定扇区的请求包含扇区编号。
49.如操作420中所展示,处理装置确定与选定扇区对应的虚拟块且确定与虚拟块相关联的不对准计数器是否满足阈值准则。举例来说,处理装置可确定不对准计数器是否大于预定阈值。除不对准计数器之外,虚拟块也可与虚拟块数目及不对准因数相关联。
50.响应于操作420处确定不对准计数器满足阈值准则(例如,不对准计数器大于预定阈值),处理装置通过将扇区编号移位达不对准因数产生更新的扇区编号(参见操作430)。在一个实施例中,处理装置通过将扇区编号增加不对准因数来将扇区编号移位达不对准因数。处理装置使用更新的扇区编号对选定扇区实行存取,如操作440中所展示。
51.响应于在操作420处确定不对准计数器不满足阈值准则(例如,不对准计数器不大于预定阈值),在操作450处处理装置确定选定扇区是否与虚拟块中的虚拟页大小对准。存储器组件中的虚拟块中的每一者可包括虚拟存储器页(例如,虚拟页)。虚拟页中的每一者可包括存储器装置130的一或多个扇区。虚拟页中的每一者可具有相同的大小。虚拟页的大小被称为虚拟页大小。虚拟块、虚拟页及扇区可指代存储器装置130的用于存储数据的不同单位。
52.在操作460处,处理装置响应于在操作450处确定选定扇区与虚拟块中的虚拟页大小对准而使用扇区编号对选定扇区实行存取。
53.处理装置响应于在操作450处确定选定扇区与虚拟块中的虚拟页大小不对准而确定选定扇区的不对准是否等于不对准因数(参见操作470)。选定扇区的不对准可基于主机起始地址与由处理装置内部设定的逻辑起始地址之间的地址不对准。
54.在操作480处,响应于在操作470处确定选定扇区的不对准等于不对准因数,处理装置递增不对准计数器,且在操作460处,处理装置使用扇区编号对选定扇区实行存取。
55.响应于在操作470处确定选定扇区的不对准不等于不对准因数,在操作490处,处理装置通过将不对准因数设定为选定扇区的不对准且将不对准计数器复位来更新不对准因数。然后在操作460处,处理装置使用扇区编号对选定扇区实行存取。
56.实例
57.实例1是一种系统,所述系统包括:存储器组件,其包括多个扇区;及处理装置,与所述存储器组件操作地耦合以实行包括以下步骤的操作:接收存取所述多个扇区中的选定扇区的请求,所述选定扇区与扇区编号相关联;确定与所述选定扇区对应的虚拟块,所述虚拟块与不对准因数及不对准计数器相关联;确定所述不对准计数器是否满足阈值准则;响应于所述不对准计数器满足所述阈值准则,通过将所述扇区编号移位达所述不对准因数产生更新的扇区编号,及使用所述更新的扇区编号对所述选定扇区实行所述存取;及响应于所述不对准计数器不满足所述阈值准则,更新所述不对准计数器,及使用所述扇区编号对所述选定扇区实行所述存取。
58.在实例2中,实例1中更新所述不对准计数器的操作任选地包括:确定所述选定扇区的不对准是否等于所述不对准因数;响应于所述选定扇区的所述不对准等于所述不对准因数,递增所述不对准计数器,及响应于所述选定扇区的所述不对准不等于所述不对准因数,将所述不对准计数器复位。
59.在实例3中,实例2中的操作任选地包括,响应于所述选定扇区的所述不对准不等于所述不对准因数,将所述不对准因数设定为所述选定扇区的所述不对准。
60.在实例4中,实例2中所述选定扇区的所述不对准任选地包括基于主机起始地址与由所述处理装置内部设定的逻辑起始地址之间的地址不对准的选定扇区不对准。
61.在实例5中,实例2的操作任选地包括确定所述选定扇区是否与所述虚拟块中的虚拟页大小对准;及响应于所述选定扇区与所述虚拟页大小对准,将所述不对准计数器维持在当前计数并使用所述扇区编号对所述选定扇区实行所述存取。
62.在实例6中,实例2的通过将所述扇区编号移位达所述不对准因数产生更新的扇区编号的操作任选地包括:将所述扇区编号增加所述不对准因数。
63.在实例7中,实例1中的存取请求任选地包括读取存取或写入存取。
64.在实例8中,实例1的操作任选地包括在不对准表中存储分别与多个虚拟块相关联的多个不对准因数及多个不对准计数器。
65.实例9是一种方法,所述方法包括:接收存取多个扇区中的选定扇区的请求,所述选定扇区与扇区编号相关联;确定与所述选定扇区对应的虚拟块,所述虚拟块与不对准因数及不对准计数器相关联;确定所述不对准计数器是否满足阈值准则;响应于所述不对准计数器满足所述阈值准则,通过将所述扇区编号移位达所述不对准因数产生更新的扇区编号,及使用所述更新的扇区编号对所述选定扇区实行所述存取;及响应于所述不对准计数器不满足所述阈值准则,更新所述不对准计数器,及使用所述扇区编号对所述选定扇区实行所述存取。
66.在实例10中,实例9中更新所述不对准计数器的所述操作任选地包括:确定所述选定扇区的不对准是否等于所述不对准因数;响应于所述选定扇区的所述不对准等于所述不
对准因数,递增所述不对准计数器,及响应于所述选定扇区的所述不对准不等于所述不对准因数,将所述不对准计数器复位。
67.在实例11中,实例10的操作任选地包括响应于所述选定扇区的所述不对准不等于所述不对准因数,将所述不对准因数设定为所述选定扇区的所述不对准。
68.在实例12中,实例10中选定扇区的不对准任选地是基于主机起始地址与由所述处理装置内部设定的逻辑起始地址之间的地址不对准。
69.在实例13中,实例10的操作任选地包括确定所述选定扇区是否与所述虚拟块中的虚拟页大小对准;及响应于所述选定扇区与所述虚拟页大小对准,将所述不对准计数器维持在当前计数并使用所述扇区编号对所述选定扇区实行所述存取。
70.在实例14中,实例10中将所述扇区编号移位达不对准因数的操作任选地包括:将所述扇区编号增加所述不对准因数。
71.在实例15中,实例9的存取请求任选地包括读取存取或写入存取。
72.在实例16中,实例9的操作进一步包括在不对准表中存储分别与多个虚拟块相关联的多个不对准因数及多个不对准计数器。
73.实例17是一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行使得所述处理装置实行包括以下步骤的操作:接收存取多个扇区中的选定扇区的请求,所述选定扇区与扇区编号相关联;确定与所述选定扇区对应的虚拟块,所述虚拟块与不对准因数及不对准计数器相关联;确定所述不对准计数器是否满足阈值准则;响应于所述不对准计数器满足所述阈值准则,通过将所述扇区编号移位达所述不对准因数产生更新的扇区编号,及使用所述更新的扇区编号对所述选定扇区实行所述存取;及响应于所述不对准计数器不满足所述阈值准则,更新所述不对准计数器,及使用所述扇区编号对所述选定扇区实行所述存取。
74.在实例18中,实例17的更新不对准计数器的操作任选地包括确定所述选定扇区的不对准是否等于所述不对准因数;响应于所述选定扇区的所述不对准等于所述不对准因数,递增所述不对准计数器,及响应于所述选定扇区的所述不对准不等于所述不对准因数,将所述不对准计数器复位。
75.在实例19中,实例18的操作任选地包括:响应于所述选定扇区的所述不对准不等于所述不对准因数,将所述不对准因数设定为所述选定扇区的所述不对准。
76.在实例20中,实例18的操作任选地包括:确定所述选定扇区是否与所述虚拟块中的虚拟页大小对准;及响应于所述选定扇区与所述虚拟页大小对准,将所述不对准计数器维持在当前计数并使用所述扇区编号对所述选定扇区实行所述存取。
77.图5图解说明计算机系统500的实例性机器,可在所述计算机系统500内执行一组指令集以使得所述机器实行本文中所论述的方法中的任何一或多者。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),计算机系统500包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于实行控制器的操作(例如,以执行操作系统来实行与图1的重新映射组件113对应的操作)。在替代实施方案中,可将所述机器连接(例如,网络连接)至lan、内联网、外联网及/或因特网中的其它机器。所述机器可在客户端-服务器网络环境中的服务器或客户端机器的能力内操作以作为一对等(或分布式)网络环境中的对等机器、或作为云端计算基础设施或环境中的服务器或客户端机器。
78.所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、web器具、服务器、网络路由器、交换机或桥接器或能够执行指定将由所述机器采取的动作的一组指令(顺序的或其它)的任何机器。此外,虽然图解说明单个机器,但术语“机器”也应视为包含个别地或联合地执行一组指令(或多组指令)以实行本文中所论述的方法中的任何一或多者的任何机器集合。
79.实例性计算机系统500包含处理装置502、主存储器504(例如,只读存储器(rom)、闪存存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rdram等)、静态存储器506(例如,闪存存储器、静态随机存取存储器(sram)等)及数据存储系统518,所述装置彼此经由总线530进行通信。
80.处理装置502表示一或多个一般用途处理装置(例如,微处理器、中央处理单元等)。更确切来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或者实施其它指令集的处理器或实施若干指令集的组合的处理器。处理装置502还可以是一或多个特殊用途处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置502经配置以执行指令526从而实行本文中所论述的操作及步骤。计算机系统500可进一步包含经由网络520进行通信的网络接口装置508。
81.数据存储系统518可包含机器可读存储媒体524(也被称为计算机可读媒体),所述机器可读存储媒体524上存储有体现本文中所描述的方法或功能中的任何一或多者的一组或多组指令526或软件。指令526也可在由计算机系统500执行期间完全地或至少部分地驻存于主存储器504及/或处理装置502内,主存储器504与处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器子系统110。
82.在一个实施例中,指令526包含实施与重新映射组件(例如,图1的重新映射组件113)对应的功能性的指令。虽然机器可读存储媒体524在实例性实施例中被展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一组或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应视为包含能够存储或编码一组指令以由机器执行且使得机器实行本发明的方法中的任何一或多者的任何媒体。因此,术语“机器可读存储媒体”应视为包含(但并不限于)固态存储器、光学媒体及磁性媒体。
83.已在算法及对计算机存储器内的数据位的操作的符号表示方面呈现前述详细说明的一些部分。这些算法说明及表示是由数据处理领域的技术人员使用来最有效地将其工作的实质传达给其它所属领域的技术人员的方式。在此且通常,将算法视为达到所期望结果的有条理操作顺序。所述操作是需要物理操控物理量的操作。通常(但未必),这些量呈能够存储、组合、比较及以其它方式加以操控的电信号或磁信号的形式。已证明,主要出于常用原因,有些时候将这些信号称作位、值、元素、符号、字元、项、数字等是方便的。
84.然而应记住,所有这些术语及类似术语皆与恰当物理量相关联,且仅为应用于这些量的方便标签。本发明可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置操控在计算机系统的寄存器及存储器内以物理(电子)量表示的数据且将所述数据变换成其它数据,所述其它数据类似地在计算机系统存储器或寄存器或其它此类信息存储系统内以物理量表示。
85.本发明还涉及用于实行本文中的操作的设备。此设备可针对预期目的而专门构造,或此设备可包含一般用途计算机,所述一般用途计算机由存储在计算机中的计算机程序来选择性地激活或重新配置。此计算机程序可存储在计算机可读存储媒体中,例如(但并不限于)任何类型的磁盘(包含软盘、光盘、cd-rom及磁光盘)、唯读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适合于存储电子指令的任何类型的媒体,所述媒体各自耦合到计算机系统总线。
86.本文中所呈现的算法及显示器并不与任何特定计算机或其它设备固有地相关。根据本文中的教示各种一般用途系统可与程序一起使用,或可证明构造用以实行所述方法的更专门化设备是方便的。用于各种这些系统的结构将与以下说明中所陈述的一样。另外,本发明并非参考任何特定编程语言而描述。应了解,可使用各种可编程语言来实施本文中所描述的本发明教示。
87.本发明可提供为计算机程序产品或软件,所述计算机程序产品或软件可包含上面存储有指令的机器可读媒体,所述指令可用以对计算机系统(或其它电子装置)进行编程以实行根据本发明的过程。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如唯读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。
88.在前述说明书中,已参考本发明的具体实例性实施例描述本发明的实施例。显然,可对本发明做出各种修改,而这并不背离随附权利要求书中所陈述的本发明的实施例的较宽广精神及范围。因此,应将本说明书及图式视为具有说明性意义而非限制性意义。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1