HK1210296B - Extended utilization area for a memory device - Google Patents
Extended utilization area for a memory device Download PDFInfo
- Publication number
- HK1210296B HK1210296B HK15110890.3A HK15110890A HK1210296B HK 1210296 B HK1210296 B HK 1210296B HK 15110890 A HK15110890 A HK 15110890A HK 1210296 B HK1210296 B HK 1210296B
- Authority
- HK
- Hong Kong
- Prior art keywords
- access
- storage device
- predefined
- profiles
- predefined access
- Prior art date
Links
Description
本申请是于2009年1月30日提交的、题为“存储设备的扩展利用区域”的中国专利申请200980106241.1的分案申请。This application is a divisional application of Chinese patent application 200980106241.1, filed on January 30, 2009, entitled “Extended Utilization Area of Storage Device”.
技术领域Technical Field
本发明总体上涉及存储设备。特别地,本发明涉及提供用于大容量存储设备的运行时配置的系统、方法和设备。The present invention relates generally to storage devices and, more particularly, to systems, methods, and devices for providing runtime configuration of mass storage devices.
背景技术Background Art
在涉及数字数据处理和/或数据通信的典型环境中,出于例如为了读取、写入、修改、删除或改变驻留在存储设备上的数据的属性的各种原因而调用存储设备。这些操作(下文中被称为存储器“访问”操作)的目标可以是根据调用具体存储器访问操作的应用程序的需要来访问变化的数据块。例如,应用可以要求从存储设备上的随机地址、相同地址或连续地址访问小数据块。类似地,相同或不同的应用可以要求从存储设备上的随机地址、相同地址或连续地址访问大数据块。可以访问存储设备的不同应用的例子包括文件系统、不同的数据库、内核读取代码页面,以及使用该存储设备的其它应用。In a typical environment involving digital data processing and/or data communication, a storage device is called for various reasons, such as to read, write, modify, delete, or change the attributes of data residing on the storage device. The target of these operations (hereinafter referred to as memory "access" operations) can be to access changing data blocks as needed by the application program that called the specific memory access operation. For example, an application can require access to small data blocks from random addresses, the same address, or consecutive addresses on the storage device. Similarly, the same or different applications can require access to large data blocks from random addresses, the same address, or consecutive addresses on the storage device. Examples of different applications that can access a storage device include a file system, different databases, a kernel reading code pages, and other applications that use the storage device.
经常的情况是大容量存储设备被优化用于具有特定存储器访问特性的一种应用或所定义的一组应用。该优化例如可能需要优化与存储设备相关联的数据吞吐量、使用期限和/或功率消耗。由于该固定的优化策略,当将存储设备放置到具有新的访问需求的不同环境中时,它可能无法在新环境的要求下优化地执行。在优化这样的存储设备方面缺乏灵活性可能部分是由于致使这些存储设备不能适应用于多种访问操作的优化功能性的固有限制所引起的。然而,在其它情况下,推选优化存储设备用于定义的并因此受限的一组应用的原因在于简化设计并且实现成本节约。另外,对存储设备来说通常非常难以预测必需但尚未确定的未来应用需要的访问要求。Frequent situation is that mass storage device is optimized for a kind of application or defined group of application with specific memory access characteristic.This optimization for example may need to optimize the data throughput, service life and/or power consumption associated with storage device.Due to this fixed optimization strategy, when storage device is placed in the different environments with new access demand, it may not be possible to perform optimally under the requirement of the new environment.Aspect optimizing such storage device, lacking flexibility may be partly due to causing these storage devices to be unable to adapt to the inherent limitation of the optimization functionality that is used for multiple access operations.Yet, in other cases, the reason that selects optimized storage device to be used for defined and therefore limited group of application is to simplify design and realize cost saving.In addition, usually very difficult to predict the access requirement that necessary but as yet undetermined future application needs concerning storage device.
发明内容Summary of the Invention
因此,提供了一种方法、系统和存储设备,用于通过允许大容量存储设备的运行时配置来克服现有技术系统的缺陷。在本发明的一个实施例中,提供了一种用于配置对存储设备的访问的方法。该方法包括:接收用于激活与所述存储设备相关联的一个或多个访问简档的一个或多个命令,以及根据至少一个所述访问简档来配置对所述存储设备的访问。所述访问简档可以对应于访问的随机和连续模式中的至少一个。所述访问简档可以进一步对应于读取、写入、擦除和修改属性操作中的至少一个。Therefore, a method, system, and storage device are provided for overcoming the shortcomings of prior art systems by enabling runtime configuration of mass storage devices. In one embodiment of the present invention, a method for configuring access to a storage device is provided. The method includes receiving one or more commands for activating one or more access profiles associated with the storage device, and configuring access to the storage device based on at least one of the access profiles. The access profiles may correspond to at least one of a random and a sequential mode of access. The access profiles may further correspond to at least one of a read, write, erase, and modify attribute operation.
在本发明的另一实施例中,一个或多个访问简档适于:适应对所述存储设备的相同地址的重复访问请求。在另一实施例中,一个或多个访问简档适于:产生与所述存储设备相关联的优化性能。此外,可以根据以下中的至少一个来优化性能:与所述存储设备相关联的数据吞吐量、使用期限和功率消耗。In another embodiment of the present invention, one or more access profiles are adapted to accommodate repeated access requests to the same address of the storage device. In another embodiment, one or more access profiles are adapted to produce optimized performance associated with the storage device. Furthermore, performance can be optimized based on at least one of: data throughput, lifespan, and power consumption associated with the storage device.
在本发明的另一实施例中,一个或多个所接收到的命令包括:用于指定与所述命令相对应的优选访问简档的元数据部分。此外,可以根据所述访问简档来利用特定的存储位置。在一个实施例中,所述特定的存储位置可以包括所述存储设备的具有特殊特性的部分。例如,它可以包括:物理存储器的更耐久和性能有效的部分,或者利用特定存储技术的存储器的一部分。在另一实施例中,所述特定的存储位置可以包括分离的物理存储芯片。In another embodiment of the present invention, one or more received commands include a metadata portion specifying a preferred access profile corresponding to the command. Furthermore, specific storage locations may be utilized based on the access profile. In one embodiment, the specific storage location may include a portion of the storage device with specialized characteristics. For example, it may include a more durable and performance-efficient portion of physical memory, or a portion of memory utilizing a specific storage technology. In another embodiment, the specific storage location may include a separate physical memory chip.
在本发明的另一实施例中,一个或多个访问简档与所述存储设备的一个或多个分区相关联。但是,在另一实施例中,对所述存储设备的配置适于并行地用于两个或多个并行访问简档。在一个实施例中,根据用于eMMC的JESD 84标准来执行这样的配置。该配置可以进一步包括:指定访问优先级别,以便解决对存储资源的同时访问冲突。在本发明的另一实施例中,所述存储设备被用于对大容量存储器和系统存储器实现这二者都起作用。在另一实施例中,缺省的访问简档可以用于在加电时配置所述存储设备。In another embodiment of the present invention, one or more access profiles are associated with one or more partitions of the storage device. However, in another embodiment, the storage device is configured to be used in parallel for two or more concurrent access profiles. In one embodiment, such configuration is performed in accordance with the JESD 84 standard for eMMC. The configuration may further include specifying access priority levels to resolve conflicts in simultaneous access to storage resources. In another embodiment of the present invention, the storage device is configured to function both as a mass storage device and as a system memory. In another embodiment, a default access profile may be used to configure the storage device at power-up.
本发明的另一方面涉及存储设备,该存储设备包括:用于存储与所述存储设备相关联的一个或多个预定义的访问简档的一个或多个寄存器。该存储设备还包括:接收装置,所述接收装置用于接收用于激活与所述存储设备相关联的一个或多个访问简档的一个或多个命令;以及配置装置,所述配置装置用于根据至少一个所述预定义的访问简档来配置对所述存储设备的访问。在另一实施例中,当前活动的访问简档可以驻留在指定的存储寄存器中。在另一实施例中,可以利用所述访问简档的新版本来更新一个或多个所述预定义的访问简档。Another aspect of the present invention relates to a storage device comprising one or more registers for storing one or more predefined access profiles associated with the storage device. The storage device further comprises receiving means for receiving one or more commands for activating one or more access profiles associated with the storage device, and configuring means for configuring access to the storage device according to at least one of the predefined access profiles. In another embodiment, the currently active access profile may reside in a designated storage register. In another embodiment, one or more of the predefined access profiles may be updated with a new version of the access profile.
在本发明的另一实施例中,公开了一种体现在计算机可读介质上的计算机程序产品。该计算机程序产品包括:用于接收用于激活与所述存储设备相关联的一个或多个访问简档的一个或多个命令的计算机代码;以及用于根据至少一个所述访问简档来配置对所述存储设备的访问的计算机代码。在另一实施例中,公开了一种用于访问存储设备的系统。该系统包括:用于接收用于激活与所述存储设备相关联的一个或多个访问类型的一个或多个命令的实体;以及用于根据至少一个所述访问简档来配置对所述存储设备的访问的实体。在另一实施例中,公开了一种用于访问存储设备的系统。该系统包括:用于根据对所述存储设备的访问需要来发布一个或多个命令的主机;以及用于接收所述命令并且根据至少一个或多个访问简档来配置对所述存储设备的访问的实体。In another embodiment of the present invention, a computer program product embodied on a computer-readable medium is disclosed. The computer program product includes: computer code for receiving one or more commands for activating one or more access profiles associated with the storage device; and computer code for configuring access to the storage device based on at least one of the access profiles. In another embodiment, a system for accessing a storage device is disclosed. The system includes: an entity for receiving one or more commands for activating one or more access types associated with the storage device; and an entity for configuring access to the storage device based on at least one of the access profiles. In another embodiment, a system for accessing a storage device is disclosed. The system includes: a host for issuing one or more commands based on access needs to the storage device; and an entity for receiving the commands and configuring access to the storage device based on at least one or more access profiles.
本领域的技术人员将理解,以上讨论的各种实施例或其部分可以以各种方式来组合,从而创建本发明所涵盖的进一步的实施例。Those skilled in the art will appreciate that the various embodiments discussed above, or portions thereof, can be combined in various ways to create further embodiments encompassed by the present invention.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1图示了可以在其内实现本发明的各种实施例的示例性电子设备的立体图。FIG1 illustrates a perspective view of an exemplary electronic device within which various embodiments of the present invention may be implemented.
图2图示了可以被包括在图1的电子设备中的电路的示例性示意表示。FIG. 2 illustrates an exemplary schematic representation of circuitry that may be included in the electronic device of FIG. 1 .
图3图示了本发明的示例性实施例的流程图。FIG3 illustrates a flow chart of an exemplary embodiment of the present invention.
图4图示了本发明的另一示例性实施例的流程图。FIG4 illustrates a flow chart of another exemplary embodiment of the present invention.
图5图示了根据本发明的实施例的示例性设备。FIG5 illustrates an exemplary apparatus according to an embodiment of the present invention.
具体实施方式DETAILED DESCRIPTION
在下面的描述中,出于解释和非限制的目的,阐述了细节和描述以便提供对本发明的透彻理解。然而,对本领域技术人员将显而易见的是,本发明可以在脱离这些细节和描述的其它实施例中实施。In the following description, for purposes of explanation and non-limiting, details and descriptions are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be implemented in other embodiments that depart from these details and descriptions.
通过在不同的使用情况下使用系统中分离的存储设备已经在常规上解决了配置存储设备用于在不同环境中使用的问题。例如,系统可以利用与系统存储设备分离的大容量存储设备来适应不同的存储器访问命令。The problem of configuring storage devices for use in different environments has been conventionally solved by using separate storage devices in the system for different use cases. For example, a system can utilize a large capacity storage device separate from the system storage device to accommodate different memory access commands.
本发明的各种实施例公开了用于使得能够根据特定的存储器访问简档来进行存储设备的运行时配置的方法、系统和设备。该配置可以被实现用于存储设备的一部分、存储设备的分区或者甚至存储设备上一个单个的存储位置。由于访问存储设备的系统知道或者能够确定存储器访问需要的类型(例如,它是读取、写入、擦除、修改属性、随机还是连续操作),因此它可以发布用于根据被最优化/最适合于特定访问命令的访问简档来配置存储设备的命令。这样的访问简档例如可以适于优化与存储设备的特定使用相关联的数据吞吐量、使用期限和/或功率消耗。另外,根据本发明的实施例,可以定义缺省的访问简档,以便当例如设备或系统在初始自举时配置存储设备。在提供用于潜在的未来修改的开始点的同时,可以预先选择这样的缺省简档来适应对该存储设备最可能的访问需要。该简档可以保持有效,直到存储设备掉电,或者根据本发明的实施例,它可以由另一简档来替换。Various embodiments of the present invention disclose methods, systems, and devices for enabling runtime configuration of a storage device according to a specific memory access profile. This configuration can be implemented for a portion of a storage device, a partition of a storage device, or even a single storage location on a storage device. Because the system accessing the storage device knows or can determine the type of memory access required (e.g., whether it is a read, write, erase, modify attribute, random, or sequential operation), it can issue commands to configure the storage device according to an access profile that is optimized/most suitable for a specific access command. Such an access profile can, for example, be adapted to optimize data throughput, lifespan, and/or power consumption associated with a specific use of the storage device. In addition, according to embodiments of the present invention, a default access profile can be defined to configure the storage device when, for example, a device or system is initially booted. While providing a starting point for potential future modifications, such a default profile can be pre-selected to accommodate the most likely access needs for the storage device. This profile can remain in effect until the storage device loses power, or, according to embodiments of the present invention, it can be replaced by another profile.
根据本发明的实施例,关于存储器访问的性质和类型的信息允许存储设备按照最适合于特定访问命令的方式来组织自身,从而导致改进的性能和更高的可靠性。这些改进大体上是由于消除了正常与常规存储器访问方法相关联的背景操作和不必要的数据融合所导致的。尽管随机和连续存储器访问模式均有效,但是本发明的各种实施例的技术在优化连续存储器访问操作方面可能更有效,其中背景处理和数据融合更丰富。这些优化进一步扩展了贮存设备的生命,并且导致减少了设备的能量消耗。According to embodiments of the present invention, information about the nature and type of memory access allows the storage device to organize itself in a manner that is most suitable for a particular access command, resulting in improved performance and higher reliability. These improvements are generally due to the elimination of background operations and unnecessary data fusion normally associated with conventional memory access methods. Although both random and continuous memory access modes are effective, the techniques of various embodiments of the present invention may be more effective in optimizing continuous memory access operations, where background processing and data fusion are richer. These optimizations further extend the life of the storage device and result in reduced energy consumption of the device.
本发明的实施例进一步使得能够将同一存储设备利用为大容量贮存存储器和系统存储器这二者,因而不需要在现有技术的系统中所利用的分离的存储设备。例如,使用单个eMMC存储器可以适应系统的所有非易失性存储需要,其中操作系统映像、用户数据和其它参数可以被存储在同一设备上。类似地,在要求非常高密度大容量贮存设备(例如,以若干千兆字节的量级)的多媒体应用中,恰好同一存储设备可以用于存储各种类型的用户应用、操作系统和其它系统数据文件。预计该合并会进一步激励采用具有更高产量的标准化存储设备,并且最终导致更低成本的存储设备。这样划算的单个存储设备的出现特别有益于开发尺寸和成本约束最为重要的移动设备。Embodiments of the present invention further enable the use of the same storage device as both bulk storage memory and system memory, thereby eliminating the need for separate storage devices as used in prior art systems. For example, the use of a single eMMC memory can accommodate all non-volatile storage needs of a system, where operating system images, user data, and other parameters can be stored on the same device. Similarly, in multimedia applications that require very high-density bulk storage devices (e.g., on the order of several gigabytes), the same storage device can be used to store various types of user applications, operating systems, and other system data files. It is expected that this merger will further encourage the adoption of standardized storage devices with higher yields and ultimately lead to lower-cost storage devices. The emergence of such a cost-effective single storage device is particularly beneficial for the development of mobile devices where size and cost constraints are most important.
根据本发明的一个实施例,如图5所示,存储设备500可以包括物理存储器502,其具有用于容纳预定义的访问简档的一个或多个寄存器504,所述预定义的访问简档用于优化存储设备。存储设备500可以进一步包括接收装置510,其适于通过通信接口512来接收用于激活特定访问简档的一个或多个命令。为了促进对本实施例的理解,接收装置510被图示为包括控制器508的分离部分。然而,应当理解,接收装置510和控制器508还可以被实现为单个实体。在接收到一个或多个命令时,控制器508可以根据驻留在存储寄存器504中的一个或多个访问简档来配置存储设备500。可以通过接口506来进行在控制器508和物理存储器502之间的通信。According to one embodiment of the present invention, as shown in Figure 5, storage device 500 may include physical memory 502, which has one or more registers 504 for accommodating predefined access profiles, and the predefined access profiles are used to optimize the storage device. Storage device 500 may further include receiving means 510, which is suitable for receiving one or more commands for activating a specific access profile through a communication interface 512. In order to facilitate understanding of this embodiment, receiving means 510 is illustrated as a separate part comprising a controller 508. However, it should be understood that receiving means 510 and controller 508 can also be implemented as a single entity. When receiving one or more commands, controller 508 can configure storage device 500 according to one or more access profiles residing in storage register 504. Communication between controller 508 and physical memory 502 can be carried out through interface 506.
通过示例和非限制性的方式,一个预定义的访问简档可以是突发模式简档,其促进了大数据块的高速传送,并且在这样的传送之前或之后向主机提供“准备好”的指示。为了使传送时间最小化,所需要的闪速存储管理操作可以在方便的时间发生在该传送之后,例如,在没有发生其它活动或存储器访问操作时。访问简档的另一例子包括随机模式简档,其使得能够对设备上的短随机存储位置进行快速访问。根据本发明实施例的存储设备可以进一步包括用于容纳当前活动的访问简档的另一寄存器。该简档(其可以是所支持的预定义简档中的任何一个)支配对存储设备的当前访问操作。例如,这样的寄存器可以包括缺省简档,在主机系统的自举和/或存储设备的加电期间激活了该缺省简档。该活动的简档可以保持有效,直到存储设备掉电,或者根据本发明的实施例,它可以由另一简档来替换。通过利用驻留在第一组寄存器上的预定义简档之一来替换当前活动的简档寄存器的内容,实现了根据本发明的存储设备的运行时配置能力。因此,当需要新类型的存储器访问时,可以发布命令来激活适当的简档。该命令可以激活预定义的访问简档中的任何一个,包括但不限于缺省简档。By way of example and not limitation, one predefined access profile may be a burst mode profile, which facilitates high-speed transfers of large data blocks and provides a "ready" indication to the host before or after such transfers. To minimize transfer time, required flash memory management operations may occur at a convenient time after the transfer, for example, when no other activity or memory access operations are occurring. Another example of an access profile includes a random mode profile, which enables fast access to short, random memory locations on the device. A storage device according to an embodiment of the present invention may further include another register for containing a currently active access profile. This profile (which may be any of the supported predefined profiles) governs current access operations to the storage device. For example, such a register may include a default profile that is activated during booting of the host system and/or powering up of the storage device. This active profile may remain in effect until the storage device is powered down, or, according to an embodiment of the present invention, it may be replaced by another profile. By replacing the contents of the currently active profile register with one of the predefined profiles residing on the first set of registers, the runtime configuration capability of the storage device according to the present invention is achieved. Therefore, when a new type of memory access is required, a command can be issued to activate the appropriate profile. The command can activate any one of the predefined access profiles, including but not limited to the default profile.
根据另一实施例,各种访问简档可以被更新或上传到存储设备上。例如,现有的访问简档可以被扩充(或者完全用新版本来替换),以便添加或移除特定的特征和功能性。替代地或者附加地,可以将整个新的访问简档上传到存储设备,从而增加可准备好用于配置存储设备的可用访问简档的数目。通过举例而非限制的方式,访问简档可以被实现为二进制文件,该二进制文件进一步包括用于实现访问简档所需要的逻辑。如此,访问简档可以被认为是负责以优化的方式来处理特定访问需要的存储设备固件的一部分。According to another embodiment, various access profiles can be updated or uploaded to the storage device. For example, an existing access profile can be expanded (or completely replaced with a new version) to add or remove specific features and functionality. Alternatively or additionally, an entirely new access profile can be uploaded to the storage device, thereby increasing the number of available access profiles that can be readily used to configure the storage device. By way of example and not limitation, the access profile can be implemented as a binary file that further includes the logic required to implement the access profile. In this way, the access profile can be considered to be a part of the storage device firmware responsible for handling specific access needs in an optimized manner.
图1和图2示出了可以在其内实现本发明的实施例的一个代表性电子设备12。然而,应当理解,本发明并不旨在被限制成一种特定类型的设备。事实上,本发明的各种实施例可以容易地适于在包括或访问存储设备的任何独立或嵌入式系统中使用。图1和图2的电子设备12包括壳体30、具有液晶显示器形式的显示器32、键板34、扩音器36、耳机38、电池40、红外端口42、天线44、根据一个实施例的具有UICC形式的智能卡46、读卡器48、无线电接口电路52、编解码器电路54、控制器56和存储器58。各个电路和元件均是本领域公知的所有类型,例如诺基亚的移动电话系列。Figures 1 and 2 illustrate a representative electronic device 12 within which embodiments of the present invention may be implemented. However, it should be understood that the present invention is not intended to be limited to one particular type of device. In fact, various embodiments of the present invention may be readily adapted for use in any standalone or embedded system that includes or accesses a storage device. The electronic device 12 of Figures 1 and 2 includes a housing 30, a display 32 in the form of a liquid crystal display, a keypad 34, a loudspeaker 36, an earpiece 38, a battery 40, an infrared port 42, an antenna 44, a smart card 46 in the form of a UICC according to one embodiment, a card reader 48, a radio interface circuit 52, a codec circuit 54, a controller 56, and a memory 58. The various circuits and components are all of a type well known in the art, such as Nokia's range of mobile phones.
图3是图示了根据本发明实施例的存储设备的运行时配置能力的示例流程图。如图3所示,当在步骤100中自举系统时,在步骤102,根据本发明实施例的存储设备根据缺省简档来组织自身。图3中所使用的示例性缺省简档对存储设备进行配置以便适应从存储设备读取大连续数据。在步骤104中,系统读取大量的连续数据,其例如可以包括主机设备的操作系统。在完成大读取操作时,在步骤106中,系统进入空闲状态。由于在空闲状态期间大多数存储器访问操作很可能涉及短随机读取/写入操作,因此在步骤108中,存储设备被命令激活用于读取/写入短随机数据的访问简档。在步骤110中,系统要求大连续读取/写入。通过举例而非限制的方式,当系统被连接到外部大容量贮存设备时可能出现这种需要。这样的大容量贮存设备可以例如包括独立存储设备,诸如USB存储器,或者包括一个或多个大容量贮存组件的PC或其它电子设备。预计到去往/来自外部存储设备的大数据传送,在步骤112中,根据本发明实施例的存储设备接收用于激活访问简档的命令,该访问简档被优化用于读取/写入大连续数据。在步骤114中,系统进行大连续读取/写入传送的至少一部分。虽然大数据访问操作可以在没有进一步中断的情况下完成,但是在一个示例性实施例中,本发明的系统可能需要以短随机I/O访问周期来访问存储设备,如步骤116中所图示的。根据本发明的一个实施例,在步骤118中,存储设备可以接收命令,以便中止其当前的访问简档(其针对读取/写入长连续数据),并且激活被优化用于读取/写入短随机数据的备选访问简档。当系统在步骤120中完成了短存储器访问操作时,在步骤122中,存储设备可以接收后续命令,以便回复到用于读取/写入大连续数据的访问简档。然后,在步骤124中,该系统可以重新开始读取/写入大连续数据。FIG3 is an example flow chart illustrating the runtime configuration capabilities of a storage device according to an embodiment of the present invention. As shown in FIG3 , when the system is bootstrapped in step 100, in step 102, the storage device according to an embodiment of the present invention organizes itself according to a default profile. The exemplary default profile used in FIG3 configures the storage device to accommodate reading large sequential data from the storage device. In step 104, the system reads a large amount of sequential data, which may include, for example, the operating system of the host device. Upon completion of the large read operation, in step 106, the system enters an idle state. Since most memory access operations during the idle state are likely to involve short random read/write operations, in step 108, the storage device is instructed to activate an access profile for reading/writing short random data. In step 110, the system requests a large sequential read/write. By way of example and not limitation, this need may arise when the system is connected to an external mass storage device. Such a mass storage device may, for example, include a standalone storage device such as a USB memory device, or a PC or other electronic device including one or more mass storage components. In anticipation of large data transfers to/from an external storage device, in step 112, a storage device according to an embodiment of the present invention receives a command to activate an access profile optimized for reading/writing large, sequential data. In step 114, the system performs at least a portion of the large, sequential read/write transfer. While the large data access operation can be completed without further interruption, in one exemplary embodiment, the system of the present invention may need to access the storage device using short, random I/O access cycles, as illustrated in step 116. According to one embodiment of the present invention, in step 118, the storage device may receive a command to suspend its current access profile (which is optimized for reading/writing long, sequential data) and activate an alternate access profile optimized for reading/writing short, random data. When the system completes the short memory access operation in step 120, in step 122, the storage device may receive a subsequent command to revert to the access profile optimized for reading/writing large, sequential data. Then, in step 124, the system may resume reading/writing large, sequential data.
如上所述,如图3所示的本发明示例实施例在进行短I/O访问操作的同时中止了大数据传送。然而,在一些应用中,并行地进行两个或更多存储器访问操作可能是有利的。为此,图4图示了本发明的替代实施例,根据该实施例可以并行地实现两个或更多的存储器访问操作(及其相应的访问简档)。在图4中,步骤200至216表示与图3中它们的对应部分类似的操作。具体地,当在步骤200中自举时,在步骤202中,依照本发明实施例的存储设备根据缺省简档来组织自身。图4中所使用的示例性缺省简档对存储设备进行配置以便适应从存储设备读取大连续数据。在步骤204中,系统读取大量连续数据,其例如可以包括主机设备的操作系统。在完成了大读取操作时,在步骤206中,系统进入空闲状态。由于在空闲状态期间大多数存储器访问操作很可能涉及短随机读取/写入操作,因此在步骤208中,存储设备被命令来激活用于读取/写入短随机数据的访问简档。然后,在步骤210中,系统可能要求访问大连续读取/写入。该需要可能例如出现在对去往/来自外部存储设备的大数据传送进行准备时。在步骤212中,根据本发明实施例的存储设备接收命令,以便激活被优化用于读取/写入大连续数据的访问简档。当在步骤216中出现对存储设备的短读取/写入访问周期的系统需要之前,系统在步骤214中进行至少一部分大连续读取/写入传送。相比于根据图3的本发明的示例实施例,在步骤220中,通过命令根据本发明实施例的存储设备来激活用于读取/写入短随机数据的并行访问简档,根据图4的本实施例适应于两种存储器访问模式。因此,虽然在步骤218中系统继续读取/写入大连续数据,但是它可以在步骤222中同时(或者以交替的方式)进行短存储器访问操作。As described above, the exemplary embodiment of the present invention, as shown in FIG3 , suspends large data transfers while performing short I/O access operations. However, in some applications, performing two or more memory access operations in parallel may be advantageous. To this end, FIG4 illustrates an alternative embodiment of the present invention, according to which two or more memory access operations (and their corresponding access profiles) can be implemented in parallel. In FIG4 , steps 200 to 216 represent operations similar to their counterparts in FIG3 . Specifically, when bootstrapping in step 200, in step 202, the storage device according to the embodiment of the present invention organizes itself according to a default profile. The exemplary default profile used in FIG4 configures the storage device to adapt to reading large continuous data from the storage device. In step 204, the system reads a large amount of continuous data, which may, for example, include the operating system of the host device. Upon completion of the large read operation, in step 206, the system enters an idle state. Since most memory access operations during the idle state are likely to involve short random read/write operations, in step 208, the storage device is commanded to activate an access profile for reading/writing short random data. Then, in step 210, the system may require access to a large continuous read/write. This need may, for example, occur when preparing for a large data transfer to/from an external storage device. In step 212, a storage device according to an embodiment of the present invention receives a command to activate an access profile optimized for reading/writing large continuous data. Before the system needs for a short read/write access cycle to the storage device in step 216, the system performs at least a portion of the large continuous read/write transfer in step 214. Compared to the example embodiment of the present invention according to FIG3, in step 220, a parallel access profile for reading/writing short random data is activated by commanding the storage device according to an embodiment of the present invention, and the present embodiment according to FIG4 is adapted to two memory access modes. Therefore, although the system continues to read/write large continuous data in step 218, it can simultaneously (or in an alternating manner) perform short memory access operations in step 222.
虽然仅关于两个同时的访问简档描述了根据图4的本发明实施例,但是应当理解,可以执行类似的操作来允许并行地实现不止两个访问简档。存储器访问简档的一个具体的并行实现可以按照与当前JEDEC JC64 eMMC版本4.3(JESD84)兼容的格式来实现。JEDECeMMC是包括存储器和控制器设备的标准化大容量贮存设备。控制器处理与存储器相关联的块管理功能,诸如逻辑块分配和耗损均衡(wear leveling)。在存储器和主机设备之间的通信还由控制器根据标准协议来处理。除了其它信号之外,该协议还定义了双向命令信号、CMD,其用于设备初始化以及在主机和存储设备之间的命令的传送。更具体地,CMD23(SET_BLOCK_COUNT(设置_块_计数))定义了块的数目(读取/写入)以及用于块读取/写入命令的可靠的写入器参数(写入)。CMD23包括32比特变元字段,其中,比特15至0被分配用于为相应的读取/写入命令来设置块的数目,并且比特30至16被指定为填充比特。根据本发明的一个实施例,这些填充比特可以用于为存储设备指定不同的访问简档。通过举例而非限制的方式,一个简档可以被定义为突发简档模式,该模式与快速连续的数据访问模式相对应。当处在突发简档模式中时,存储设备在接收到所有数据之后立即可以指示“出口忙”,并且将传送模式设置成“传送状态”,从而促进主机更快地执行后续访问。另外,虽然与第一访问简档相对应的命令仍在执行,但是存储设备还可以使得主机能够发送与不同访问简档相对应的附加命令。如此,建立了在I/O操作中的并行程度。此外,可以定义访问优先级别以便解决访问冲突(其中两个或更多个简档并行运行,并且要求同时对同一存储资源进行访问)。这样的存储资源的例子包括RAM缓冲器、闪速总线和其它存储资源。Although the embodiment of the present invention according to FIG. 4 is described only with respect to two simultaneous access profiles, it should be understood that similar operations can be performed to allow more than two access profiles to be implemented in parallel. A specific parallel implementation of the memory access profile can be implemented in a format compatible with the current JEDEC JC64 eMMC version 4.3 (JESD84). JEDEC eMMC is a standardized mass storage device that includes a memory and a controller device. The controller handles block management functions associated with the memory, such as logical block allocation and wear leveling. Communication between the memory and the host device is also handled by the controller according to a standard protocol. Among other signals, the protocol defines a bidirectional command signal, CMD, which is used for device initialization and the transmission of commands between the host and the storage device. More specifically, CMD23 (SET_BLOCK_COUNT) defines the number of blocks (read/write) and reliable writer parameters (write) for block read/write commands. CMD23 includes a 32-bit argument field, where bits 15 to 0 are allocated to set the number of blocks for the corresponding read/write command, and bits 30 to 16 are designated as padding bits. According to one embodiment of the present invention, these padding bits can be used to specify different access profiles for the storage device. By way of example and not limitation, one profile can be defined as a burst profile mode, which corresponds to a rapid, continuous data access mode. When in burst profile mode, the storage device can immediately indicate "exit busy" after receiving all data and set the transfer mode to "transfer state," thereby facilitating faster subsequent access by the host. In addition, while the command corresponding to the first access profile is still executing, the storage device can also enable the host to send additional commands corresponding to different access profiles. In this way, the degree of parallelism in I/O operations is established. In addition, access priority levels can be defined to resolve access conflicts (where two or more profiles run in parallel and require simultaneous access to the same storage resource). Examples of such storage resources include RAM buffers, flash buses, and other storage resources.
根据本发明的另一实施例,与媒体设备相关联的访问简档可以适于包括与存储设备的不同分区相关联的不同控制和/或设置简档。这样的分区可以包括存储设备的逻辑或物理分区。例如,一个分区可以被配置用于随机读取/写入操作,而另一分区可以被配置以便提供顺序访问。According to another embodiment of the present invention, the access profile associated with the media device can be adapted to include different control and/or setting profiles associated with different partitions of the storage device. Such partitions can include logical or physical partitions of the storage device. For example, one partition can be configured for random read/write operations, while another partition can be configured to provide sequential access.
根据本发明的另一实施例,存储器访问(例如,I/O读取/写入)命令可以被配置以便包括用于指定与该访问命令相对应的优选访问简档的元数据部分。例如,根据本发明的系统可以识别出一个地址正在被连续和频繁地更新,并且因此,它可以为该存储器命令设置合适的访问简档。取决于其内部实现和能力,存储设备可以将这样持续和特定的访问操作映射到具有特殊特性的物理存储器的特定部分。例如,该映射可以针对物理存储器的更持久和性能有效的部分、利用了特定存储技术的存储器的一部分,或者针对被更为适当地设计用于这样的重复访问操作的分离的物理芯片。因而,存储设备固件可以根据本发明实施例的访问简档请求来采取措施,并且以不同的方式来处理I/O操作。According to another embodiment of the present invention, a memory access (e.g., I/O read/write) command can be configured to include a metadata portion for specifying a preferred access profile corresponding to the access command. For example, a system according to the present invention can recognize that an address is being continuously and frequently updated, and therefore, it can set an appropriate access profile for the memory command. Depending on its internal implementation and capabilities, the storage device can map such continuous and specific access operations to specific portions of physical memory with special characteristics. For example, the mapping can be to a more persistent and performance-efficient portion of physical memory, a portion of memory that utilizes a specific storage technology, or to a separate physical chip that is more appropriately designed for such repeated access operations. Thus, the storage device firmware can take action based on the access profile requests of an embodiment of the present invention and handle I/O operations in different ways.
本发明的各种实施例同样可应用于嵌入式存储设备,诸如NAND,大容量存储器,XiP和类似设备,以及可装卸存储卡。Various embodiments of the present invention are also applicable to embedded memory devices such as NAND, mass storage, XiP and similar devices, as well as removable memory cards.
在一般的方法步骤或过程的情境下描述了在此描述的各种实施例,这可以由计算机程序产品在一个实施例中实现,计算机程序产品体现在计算机可读介质中,包括诸如程序代码的在联网环境中由计算机执行的计算机可执行指令。计算机可读介质可以包括可装卸和非可装卸贮存设备,包括但不限于:只读存储器(ROM)、随机访问存储器(RAM)、压缩盘(CD)、数字多用途盘(DVD)等。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。与数据结构相关联的计算机可执行指令以及程序模块表示用于执行在此公开的方法的步骤的程序代码的例子。这样的可执行指令或关联数据结构的特定顺序表示用于实现在这样的步骤或过程中描述的功能的相应动作的例子。The various embodiments described herein are described in the context of general method steps or processes, which can be implemented in one embodiment by a computer program product embodied in a computer-readable medium and including computer-executable instructions, such as program code, that are executed by a computer in a networked environment. Computer-readable media may include removable and non-removable storage devices, including but not limited to read-only memory (ROM), random access memory (RAM), compact disks (CDs), digital versatile disks (DVDs), etc. Generally, program modules may include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. Computer-executable instructions associated with data structures and program modules represent examples of program code for performing the steps of the methods disclosed herein. A specific sequence of such executable instructions or associated data structures represents an example of corresponding actions for implementing the functions described in such steps or processes.
已经出于说明和描述的目的呈现了实施例的前述描述。前述描述并不旨在穷举或将本发明的实施例限制成所公开的确切形式,并且鉴于以上教导,修改和变化是可能的或者可以从各种实施例的实施中获取。选择和描述在此所讨论的实施例是为了解释各种实施例的原理和性质及其实际应用,以便使得本领域技术人员能够在各种实施例中并且利用如适于预期的特定使用的各种修改来利用本发明。可以在方法、装置、模块、系统和计算机程序产品的所有可能的组合中组合在此所描述的实施例的特征。The foregoing description of the embodiments has been presented for the purposes of illustration and description. The foregoing description is not intended to be exhaustive or to limit the embodiments of the invention to the exact form disclosed, and in view of the above teachings, modifications and variations are possible or can be obtained from the implementation of the various embodiments. The embodiments discussed herein are selected and described in order to explain the principles and properties of the various embodiments and their practical application, so as to enable those skilled in the art to utilize the present invention in various embodiments and with various modifications as are suitable for the intended specific use. The features of the embodiments described herein may be combined in all possible combinations of methods, devices, modules, systems, and computer program products.
Claims (51)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/039,672 US8307180B2 (en) | 2008-02-28 | 2008-02-28 | Extended utilization area for a memory device |
| US12/039,672 | 2008-02-28 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1210296A1 HK1210296A1 (en) | 2016-04-15 |
| HK1210296B true HK1210296B (en) | 2019-11-08 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12417022B2 (en) | Extended utilization area for a memory device | |
| JP2011513823A5 (en) | ||
| CN113946278A (en) | Data reading method and device in host efficiency acceleration mode | |
| HK1210296B (en) | Extended utilization area for a memory device | |
| HK40009715A (en) | Extended utilization area for a memory device | |
| HK40009715B (en) | Extended utilization area for a memory device |