CN100530071C - Storage apparatus comprising read-write cache and cache implementation method - Google Patents
Storage apparatus comprising read-write cache and cache implementation method Download PDFInfo
- Publication number
- CN100530071C CN100530071C CNB2007101768047A CN200710176804A CN100530071C CN 100530071 C CN100530071 C CN 100530071C CN B2007101768047 A CNB2007101768047 A CN B2007101768047A CN 200710176804 A CN200710176804 A CN 200710176804A CN 100530071 C CN100530071 C CN 100530071C
- Authority
- CN
- China
- Prior art keywords
- read
- cache
- write
- processor
- program
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000008569 process Effects 0.000 claims description 12
- 239000000725 suspension Substances 0.000 claims description 6
- 230000004044 response Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种包括读写缓存的存储设备和一种存储设备中的读写缓存实现方法。本发明将读缓存和写缓存分离,即由不同的处理器分别对读缓存和写缓存进行访问控制,即读缓存直接挂接在主处理器下,从而能够提高主处理器对读缓存的处理效率,且由于主处理器能够支持较大的内存空间,从而保证了读缓存能够具有较大容量,进而由于读缓存具有较大容量而能够进一步提高主处理器对读缓存的处理效率;写缓存挂接在I/O处理器下,由I/O处理器的配套电池供电电路实现对写缓存的持续供电,且写缓存不需要与读缓存分享I/O处理器所能够支持的有限内存空间,因而由于写缓存容量的提高而能够提高主处理器对写缓存的处理效率。
The invention discloses a storage device including a read-write cache and a method for realizing the read-write cache in the storage device. The present invention separates the read cache and the write cache, that is, the access control of the read cache and the write cache is performed by different processors, that is, the read cache is directly connected to the main processor, so that the processing of the read cache by the main processor can be improved Efficiency, and because the main processor can support a larger memory space, thereby ensuring that the read cache can have a larger capacity, and because the read cache has a larger capacity, the processing efficiency of the main processor for the read cache can be further improved; write cache Mounted under the I/O processor, the I/O processor's supporting battery power supply circuit realizes continuous power supply to the write cache, and the write cache does not need to share the limited memory space that the I/O processor can support with the read cache , thus the processing efficiency of the main processor on the write cache can be improved due to the increase of the write cache capacity.
Description
技术领域 technical field
本发明涉及缓存技术,特别涉及一种包括读写缓存的存储设备、以及一种存储设备中的读写缓存实现方法。The invention relates to cache technology, in particular to a storage device including a read-write cache and a method for realizing the read-write cache in the storage device.
背景技术 Background technique
在存储设备中,缓存是必不可少的存储介质(通常为一块或多块内存),能够加速存储设备中的主处理器对磁盘组的访问速度,从而对于存储设备总体性能的提升有非常大的帮助。In storage devices, cache is an indispensable storage medium (usually one or more blocks of memory), which can accelerate the access speed of the main processor in the storage device to the disk group, thus greatly improving the overall performance of the storage device. s help.
需要说明的是,此处提及的存储设备中的缓存,物理位置和介质类型不同于计算机系统CPU内部自带的缓存。It should be noted that the physical location and media type of the cache in the storage device mentioned here are different from the internal cache of the CPU of the computer system.
根据访问的类型,缓存可分为读缓存和写缓存两种。其中,对于存储设备来说,写缓存中的数据不能丢失,以避免用户数据的丢失;而读缓存中的数据丢失则不会丢失用户数据。因此,在存储设备中,必须考虑在系统突然断电的情况下,对写缓存数据所在的内存进行持续供电。According to the type of access, cache can be divided into read cache and write cache. Wherein, for the storage device, the data in the write cache cannot be lost to avoid the loss of user data; while the data in the read cache is lost, the user data will not be lost. Therefore, in the storage device, it must be considered to provide continuous power supply to the memory where the write cache data is located in the case of a sudden power failure of the system.
图1为现有一种写缓存供电方案的示意图。如图1所示,存储设备中包括主处理器、读缓存和写缓存、以及磁盘组。FIG. 1 is a schematic diagram of an existing write cache power supply solution. As shown in FIG. 1 , a storage device includes a main processor, a read cache and a write cache, and a disk group.
其中,读缓存用于缓存主处理器从磁盘组读取的数据;写缓存用于缓存主处理器待写入到磁盘组的数据。Wherein, the read cache is used for caching the data read by the main processor from the disk group; the write cache is used for caching the data to be written by the main processor to the disk group.
主处理器中承载了应用程序和驱动程序、用于实现对读缓存进行读访问控制的读缓存程序、用于实现对写缓存进行写访问控制的写缓存程序、用于对磁盘组进行读写访问控制的读写处理程序;读缓存和写缓存均挂接在主处理器下,由主处理器统一管理,即由主处理器对读缓存和写缓存进行访问控制,磁盘组也挂接在主处理器下,实现数据的存储。The main processor hosts application programs and drivers, a read cache program for implementing read access control to the read cache, a write cache program for implementing write access control for the write cache, and a read and write program for the disk group Read and write processing program for access control; the read cache and write cache are both attached to the main processor and managed by the main processor, that is, the main processor controls access to the read cache and write cache, and the disk group is also attached to the Under the main processor, data storage is realized.
如图1所示的存储设备外接一UPS,由外接的UPS对整个系统供电。该方案实现简单,但是在对写缓存的持续供电的同时,对读缓存和系统其他部分也进行了持续供电,而读缓存和系统其他部分并不需要持续供电,从而造成了资源浪费。而且,UPS本身的成本很高,从而使得实现该方案需要较高的硬件成本。The storage device shown in FIG. 1 is externally connected to a UPS, and the external UPS supplies power to the entire system. This solution is simple to implement, but while the write cache is continuously powered, the read cache and other parts of the system are also continuously powered, and the read cache and other parts of the system do not need continuous power supply, resulting in waste of resources. Moreover, the cost of the UPS itself is very high, so that the implementation of this solution requires high hardware costs.
图2为现有另一种写缓存供电方案的示意图。如图2所示,存储设备中包括:主处理器、输入/输出(I/O)处理器、读缓存、写缓存、以及磁盘组。FIG. 2 is a schematic diagram of another existing write cache power supply solution. As shown in FIG. 2 , the storage device includes: a main processor, an input/output (I/O) processor, a read cache, a write cache, and a disk group.
其中,读缓存用于缓存主处理器从磁盘组读取的数据;写缓存用于缓存主处理器待写入到磁盘组的数据。Wherein, the read cache is used for caching the data read by the main processor from the disk group; the write cache is used for caching the data to be written by the main processor to the disk group.
I/O处理器挂接在主处理器下;主处理器中承载了应用程序和驱动程序;The I/O processor is mounted under the main processor; the main processor carries applications and drivers;
I/O处理器中承载了用于实现对读缓存进行读访问控制的读缓存程序、用于实现对写缓存进行写访问控制的写缓存程序、以及用于对磁盘组进行读写访问控制的读写处理程序;读缓存和写缓存均挂接在I/O处理器下,由I/O处理器统一管理,即由I/O处理器在主处理器的控制下对读缓存和写缓存进行访问控制,磁盘组也挂接在I/O处理器下,实现数据的存储。The I/O processor carries the read cache program for implementing read access control on the read cache, the write cache program for implementing write access control over the write cache, and the program for implementing read and write access control on the disk group Read and write processing program; both the read cache and write cache are attached to the I/O processor and managed by the I/O processor, that is, the I/O processor controls the read cache and write cache under the control of the main processor. For access control, the disk group is also mounted under the I/O processor to realize data storage.
如图2所示的存储设备中,与I/O处理器配套的电池在为I/O处理器供电的同时,也为读缓存和写缓存供电。In the storage device shown in FIG. 2 , the battery matched with the I/O processor supplies power for the read cache and the write cache while supplying power to the I/O processor.
相比如图1所示的第一种方案,在如图2所示的方案中利用电池实现对写缓存的供电,降低了存储设备的实现成本,但却存在以下问题:Compared with the first solution shown in Figure 1, in the solution shown in Figure 2, the battery is used to supply power to the write cache, which reduces the implementation cost of the storage device, but there are the following problems:
1)读缓存和写缓存均通过I/O处理器挂接在主处理器下,即远离了主处理器,对于读写命中后的处理效率比如图1所示的第一种方案要低;1) Both the read cache and the write cache are mounted under the main processor through the I/O processor, that is, they are far away from the main processor, and the processing efficiency after the read and write hits is lower than that of the first solution shown in Figure 1;
2)通常情况下,I/O处理器能够支持的内存空间(即由电池持续供电的内存空间)大小比较有限,远远小于主处理器所能够支持的内存空间,因而限制了挂接在I/O处理器下的读缓存和写缓存的容量;而读缓存和写缓存的读写效率高低与其容量有直接的关系。2) Usually, the memory space that the I/O processor can support (that is, the memory space that is continuously powered by the battery) is relatively limited in size, which is far smaller than the memory space that the main processor can support. The capacity of the read cache and write cache under the /O processor; the read and write efficiency of the read cache and write cache is directly related to its capacity.
3)该方案中也是对读缓存和写缓存同时持续供电,而读缓存并不需要持续供电,从而造成了资源浪费。3) In this solution, the read cache and the write cache are continuously powered at the same time, but the read cache does not need continuous power supply, thus causing a waste of resources.
可见,上述如图2所示的方案中虽然降低了成本,但由于读缓存占用了由电池持续供电的部分内存空间,因而使得作为写缓存的由电池持续供电的内存空间较小,因而使得对读写缓存的读写处理效率较低。It can be seen that although the cost is reduced in the solution shown in Figure 2 above, since the read cache occupies part of the memory space continuously powered by the battery, the memory space continuously powered by the battery as the write cache is smaller, thus making the memory space continuously powered by the battery smaller. The read and write processing efficiency of the read and write cache is low.
发明内容 Contents of the invention
有鉴于此,本发明提供了一种包括读写缓存的存储设备、以及一种存储设备中的读写缓存实现方法,能够在以较低成本实现为写缓存持续供电的前提下,提高对读写缓存的读写处理效率。In view of this, the present invention provides a storage device including a read-write cache, and a method for implementing a read-write cache in the storage device, which can improve read-write performance on the premise of realizing continuous power supply for the write cache at a lower cost. The read and write processing efficiency of the write cache.
本发明提供的一种包括读写缓存的存储设备,包括:主处理器、输入/输出I/O处理器、电池、读缓存、写缓存和磁盘组,A storage device including a read-write cache provided by the present invention includes: a main processor, an input/output I/O processor, a battery, a read cache, a write cache, and a disk group,
所述读缓存和所述I/O处理器挂接在所述主处理器下,所述写缓存和所述磁盘组挂接在所述I/O处理器下;The read cache and the I/O processor are connected under the main processor, and the write cache and the disk group are connected under the I/O processor;
所述主处理器,用于对所述读缓存进行访问控制;The main processor is configured to perform access control on the read cache;
所述I/O处理器,用于在所述主处理器的控制下对所述写缓存进行访问控制;The I/O processor is configured to perform access control on the write cache under the control of the main processor;
所述电池为所述写缓存供电。The battery supplies power to the write cache.
本发明提供的一种缓存储设备中的缓存实现方法,将读缓存和输入/输出I/O处理器挂接在主处理器下,将写缓存和磁盘组挂接在所述I/O处理器下,由电池为所述写缓存供电,该方法包括:A cache implementation method in a cache storage device provided by the present invention, the read cache and the input/output I/O processor are mounted under the main processor, and the write cache and the disk group are mounted under the I/O processing Under the device, the write cache is powered by a battery, and the method includes:
所述主处理器对所述读缓存进行访问控制,且所述I/O处理器在所述主处理器的控制下对所述写缓存进行访问控制。The main processor performs access control on the read cache, and the I/O processor performs access control on the write cache under the control of the main processor.
所述主处理器针对读请求对所述读缓存进行访问控制,且所述I/O处理器在所述主处理器的控制下针对读请求对所述写缓存进行访问控制,并包括如下步骤:The main processor performs access control on the read cache for read requests, and the I/O processor performs access control on the write cache for read requests under the control of the main processor, and includes the following steps :
主处理器中的读缓存程序从读缓存中读取应用程序下发的读请求所对应的数据,并判断对读缓存是否全部读命中,如果是,则读缓存程序向应用程序返回全部命中的数据,并结束流程;The read cache program in the main processor reads the data corresponding to the read request issued by the application program from the read cache, and judges whether all reads hit the read cache. If so, the read cache program returns all hits to the application program. data, and end the process;
否则,读缓存程序将读命中的部分数据向应用程序返回,并重新构建表示对读缓存未命中部分的读请求下发到I/O处理器。Otherwise, the read cache program returns part of the read hit data to the application program, and reconstructs a read request representing the miss part of the read cache and sends it to the I/O processor.
所述主处理器中包括缓冲器buffer,所述应用程序下发的读请求中包括buffer指针;The main processor includes a buffer buffer, and the read request issued by the application program includes a buffer pointer;
所述读缓存程序向应用程序返回读命中的数据包括:读缓存程序利用所述buffer指针直接将读命中的数据返回到所述buffer中。The read cache program returning the read hit data to the application program includes: the read cache program directly returns the read hit data to the buffer by using the buffer pointer.
在重新构建表示对读缓存未命中部分的读请求下发到I/O处理器之后,所述对读请求进行访问控制进一步包括:After reconstructing the read request representing the miss part of the read cache and sending it to the I/O processor, the access control of the read request further includes:
I/O处理器中的写缓存程序接收来自读缓存程序对读缓存未命中部分的读请求并读取所述写缓存并读取写缓存,判断对写缓存是否全部读命中,如果是,则向应用程序返回读命中的数据;The write cache program in the I/O processor receives the read request from the read cache program to the read cache miss part and reads the write cache and reads the write cache, and judges whether all read hits are made to the write cache, and if so, then Return the read hit data to the application;
否则,将表示对写缓存读取未命中部分的读请求下发到读写处理程序由读写处理程序从磁盘中读取接收到的对写缓存未命中部分的读请求所对应的数据,并向所述应用程序返回读命中的数据,然后结束流程。Otherwise, send the read request representing the read miss part of the write cache to the read-write handler, and the read-write handler reads the received data corresponding to the read request for the miss part of the write cache from the disk, and The data of the read hit is returned to the application program, and then the process ends.
所述主处理器中包括缓冲器buffer;The main processor includes a buffer buffer;
所述读缓存程序重新构建并下发的读请求中包括buffer指针,所述写缓存程序向应用程序返回数据包括:写缓存程序利用所述buffer指针将读命中数据直接返回到所述buffer;The read request reconstructed and issued by the read cache program includes a buffer pointer, and the write cache program returns data to the application program including: the write cache program uses the buffer pointer to directly return the read hit data to the buffer;
和/或,所述写缓存程序重新构建并下发的读请求中包括buffer指针,所述读写处理程序向应用程序返回数据包括:读写处理程序利用所述buffer指针将命中的数据直接返回到所述buffer。And/or, the read request reconstructed and issued by the write cache program includes a buffer pointer, and the read and write processing program returns data to the application program including: the read and write processing program directly returns the hit data by using the buffer pointer to the buffer.
所述主处理器针对写请求对所述读缓存进行访问控制,且所述I/O处理器在所述主处理器的控制下针对写请求对所述写缓存进行访问控制,并包括如下步骤:The main processor performs access control on the read cache for write requests, and the I/O processor performs access control on the write cache for write requests under the control of the main processor, and includes the following steps :
主处理器中的读缓存程序接收应用程序下发的写请求,根据所述写请求读取所述的读缓存;The read cache program in the main processor receives the write request issued by the application program, and reads the read cache according to the write request;
在对读缓存全部未命中后,主处理器的读缓存程序将应用程序下发的写请求下发给所述I/O处理器;在对读缓存完全命中或部分命中后,主处理器的读缓存程序申请内存空间,将命中部分对应的写请求数据复制到申请到的内存空间中,并对读缓存命中部分设置标记,挂起后续对命中部分的访问,并将应用程序下发的写请求下发到所述I/O处理器;After all misses in the read cache, the read cache program of the main processor sends the write request sent by the application program to the I/O processor; after the read cache is completely hit or partially hit, the main processor's The read cache program applies for memory space, copies the write request data corresponding to the hit part to the applied memory space, sets a mark on the hit part of the read cache, suspends subsequent access to the hit part, and sends the write request sent by the application sending the request to the I/O processor;
I/O处理器将对应写请求数据写入写缓存、或者磁盘组;The I/O processor writes the corresponding write request data into the write cache or the disk group;
在I/O处理器写操作成功后,读缓存程序将申请到的内存空间中的写请求数据替换读缓存中对应位置的数据,并取消挂起;在I/O处理器写操作失败后,将申请到的内存空间中的写请求数据丢弃,并取消挂起。After the I/O processor write operation is successful, the read cache program replaces the data in the corresponding position in the read cache with the write request data in the applied memory space, and cancels the suspension; after the I/O processor write operation fails, Discard the write request data in the applied memory space and cancel the suspension.
所述将申请到的内存空间中的数据替换读缓存中对应位置的写请求数据、或将申请到的内存空间中的写请求数据丢弃之后,该方法进一步包括:释放所述申请的内存空间。After the data in the applied memory space is replaced with the write request data in the corresponding position in the read cache, or the write request data in the applied memory space is discarded, the method further includes: releasing the applied memory space.
所述申请内存空间包括:申请主处理器中的临时buffer。The applying for memory space includes: applying for a temporary buffer in the main processor.
由上述技术方案可见,本发明将读缓存和写缓存分离,即由不同的处理器分别对读缓存和写缓存进行访问控制,即读缓存直接挂接在主处理器下,从而能够提高主处理器对读缓存的处理效率,且由于主处理器能够支持较大的内存空间,从而保证了读缓存能够具有较大容量,进而由于读缓存具有较大容量而能够进一步提高主处理器对读缓存的处理效率;写缓存挂接在I/O处理器下,由I/O处理器的配套电池供电电路实现对写缓存的持续供电,且写缓存不需要与读缓存分享I/O处理器所能够支持的有限内存空间,因而由于写缓存容量的提高而能够提高主处理器对写缓存的处理效率。It can be seen from the above technical solution that the present invention separates the read cache and the write cache, that is, different processors respectively perform access control on the read cache and the write cache, that is, the read cache is directly attached to the main processor, thereby improving the performance of the main processing. The processing efficiency of the processor to the read cache, and because the main processor can support a larger memory space, thereby ensuring that the read cache can have a larger capacity, and because the read cache has a larger capacity, the main processor can further improve the performance of the read cache. The processing efficiency is high; the write cache is connected to the I/O processor, and the supporting battery power supply circuit of the I/O processor realizes the continuous power supply for the write cache, and the write cache does not need to share the power of the I/O processor with the read cache. The limited memory space that can be supported, thus the processing efficiency of the main processor for the write cache can be improved due to the increase of the write cache capacity.
而且,由电池为写缓存持续供电,从而保证了对写缓存持续供电的实现成本较低,电池并不为不需要持续供电的读缓存和系统其他部分供电,因而还节省了供电资源。Moreover, the write cache is continuously powered by the battery, thereby ensuring a low cost of realizing continuous power supply to the write cache, and the battery does not supply power to the read cache and other parts of the system that do not need continuous power supply, thus saving power supply resources.
附图说明 Description of drawings
图1为现有一种写缓存供电方案的示意图。FIG. 1 is a schematic diagram of an existing write cache power supply solution.
图2为现有另一种写缓存供电方案的示意图。FIG. 2 is a schematic diagram of another existing write cache power supply solution.
图3为本发明实施例中存储设备的结构示意图。FIG. 3 is a schematic structural diagram of a storage device in an embodiment of the present invention.
图4为本发明中读写缓存实现方法对读请求的处理流程示意图。FIG. 4 is a schematic diagram of a processing flow of a read request by a read-write cache implementation method in the present invention.
图5为本发明中读写缓存实现方法对写请求的处理流程示意图。FIG. 5 is a schematic diagram of a processing flow of a write request by a method for implementing a read-write cache in the present invention.
具体实施方式 Detailed ways
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and examples.
图3为本发明实施例中存储设备的结构示意图。如图3所示,本实施例所提供的包括读缓存和写缓存的存储设备中,包括:主处理器、I/O处理器、电池、读缓存、写缓存和磁盘组。FIG. 3 is a schematic structural diagram of a storage device in an embodiment of the present invention. As shown in FIG. 3 , the storage device including the read cache and the write cache provided by this embodiment includes: a main processor, an I/O processor, a battery, a read cache, a write cache, and a disk group.
与如图2所示现有方案的不同之处在于,读缓存和I/O处理器挂接在主处理器下,写缓存和磁盘组挂接在所述I/O处理器下,即读缓存和写缓存分别挂接在不同的处理器下。The difference from the existing solution shown in FIG. 2 is that the read cache and the I/O processor are mounted under the main processor, and the write cache and the disk group are mounted under the I/O processor. The cache and write cache are attached to different processors respectively.
这样,主处理器,用于对读缓存进行访问控制。In this way, the main processor is used to control access to the read cache.
I/O处理器,用于在主处理器的控制下对写缓存进行访问控制。The I/O processor is used to control access to the write cache under the control of the main processor.
电池为写缓存持续供电(例如通过电池供电电路实现持续供电)。也就是说,在存储设备的外接电源断开时,I/O处理器所配套的电池可通过供电电路给写缓存持续供电,保证写缓存能够在存储设备外接电源断开的一段时间内不丢失数据,在存储设备的外接电源恢复以使得存储设备重新启动后,写缓存中的数据仍然有效。The battery provides continuous power for the write cache (for example, through a battery-powered circuit). That is to say, when the external power supply of the storage device is disconnected, the battery supporting the I/O processor can continuously supply power to the write cache through the power supply circuit, so as to ensure that the write cache will not be lost for a period of time when the external power supply of the storage device is disconnected. After the external power supply of the storage device is restored to restart the storage device, the data in the write cache is still valid.
可见,上述存储设备中,将读缓存和写缓存分离,即由不同的处理器分别对读缓存和写缓存进行访问控制,读缓存靠近主处理器,即读缓存直接挂接在主处理器下,从而能够提高主处理器对读缓存的处理效率,且由于主处理器能够支持较大的内存空间,从而保证了读缓存能够具有较大容量,进而由于读缓存具有较大容量而能够进一步提高主处理器对读缓存的处理效率;写缓存挂接在I/O处理器下,由I/O处理器的配套电池供电电路实现对写缓存的持续供电,且写缓存不需要与读缓存分享I/O处理器所能够支持的有限内容空间,因而由于写缓存容量的提高而能够提高主处理器对写缓存的处理效率。It can be seen that in the above storage devices, the read cache and write cache are separated, that is, different processors control the access to the read cache and write cache respectively, and the read cache is close to the main processor, that is, the read cache is directly attached to the main processor. , so that the processing efficiency of the main processor on the read cache can be improved, and since the main processor can support a larger memory space, the read cache can be guaranteed to have a larger capacity, and the read cache can be further improved due to the larger capacity The processing efficiency of the main processor for the read cache; the write cache is mounted under the I/O processor, and the supporting battery power supply circuit of the I/O processor realizes the continuous power supply for the write cache, and the write cache does not need to be shared with the read cache The limited content space supported by the I/O processor can improve the processing efficiency of the main processor for the write cache due to the increase in the write cache capacity.
而且,由电池为写缓存持续供电,从而保证了对写缓存持续供电的实现成本较低,电池并不为不需要持续供电的读缓存和系统其他部分供电,因而还节省了供电资源,能够在最低硬件成本的情况下最大化发挥缓存的性能优势。Moreover, the battery provides continuous power supply for the write cache, thereby ensuring a low cost of realizing continuous power supply for the write cache, and the battery does not supply power for the read cache and other parts of the system that do not need continuous power supply, thus saving power resources and being able to Maximize the performance advantages of the cache with the lowest hardware cost.
本发明实施例中,考虑到读写缓存间的关联,除了将读缓存与写缓存相分离之外,还进一步提供了读请求和写请求过程中如何处理读缓存写缓存关联的处理方式。In the embodiment of the present invention, considering the association between read and write caches, in addition to separating the read cache from the write cache, it further provides a processing method for how to deal with the association between the read cache and the write cache during the process of the read request and the write request.
对于读请求的处理过程,上述关联主要体现在:如果读请求所对应的数据已缓存在写缓存中,则可以直接从写缓存读取,而无需从磁盘组中读取,从而提高读效率。For the processing of read requests, the above association is mainly reflected in: if the data corresponding to the read request has been cached in the write cache, it can be read directly from the write cache without reading from the disk group, thereby improving the read efficiency.
具体来说,本实施例中存储设备的主处理器包括:应用程序、驱动程序和读缓存程序,即主处理器中承载了应用程序和驱动程序、用于实现对读缓存进行读访问控制的读缓存程序。Specifically, the main processor of the storage device in this embodiment includes: an application program, a driver program, and a read cache program. Read cache program.
应用程序,用于向驱动程序下发读请求。The application program is used to issue a read request to the driver.
驱动程序,用于根据接收到的读请求,驱动读缓存程序从读缓存中读取该读请求对应的数据。The driver program is configured to drive the read cache program to read data corresponding to the read request from the read cache according to the received read request.
读缓存程序,用于从读缓存中读取读请求对应的数据,并判断对读缓存是否全部读命中,如果是,即应用程序下发的读请求所对应的全部数据均已缓存在读缓存中,则向应用程序返回读命中的全部数据、以及读请求成功的响应,不涉及与写缓存的关联;否则,在部分命中的情况下,即应用程序下发的读请求所对应的部分数据已缓存在读缓存中,重新构建一个或多个表示对读缓存未命中部分的读请求(如果未命中部分数据的内存空间连续,则可以只构建一个读请求,否则,较佳地可构建多个读请求),下发到I/O处理器,在全未命中或读缓存禁止访问的情况下,即应用程序下发的读请求所对应的全部数据均未缓存在读缓存中,直接重新构建一个或多个表示对读缓存未命中部分的读请求,下发到I/O处理器。The read cache program is used to read the data corresponding to the read request from the read cache, and judge whether all read hits are made to the read cache. If yes, all the data corresponding to the read request sent by the application has been cached in the read cache , then all the data hit by the read and the successful response of the read request will be returned to the application program without any association with the write cache; otherwise, in the case of a partial hit, that is, part of the data corresponding to the read request issued by the Cache in the read cache, rebuild one or more read requests representing the miss part of the read cache (if the memory space of the miss part data is continuous, you can only construct one read request, otherwise, it is better to construct multiple read requests request), and send it to the I/O processor. In the case of all misses or the read cache prohibits access, that is, all the data corresponding to the read request sent by the application is not cached in the read cache, and directly rebuild a or Multiple read requests representing read cache misses are sent to the I/O processor.
I/O处理器中包括:读写处理程序和写缓存程序,即I/O处理器中承载了用于实现对写缓存进行写访问控制的写缓存程序、以及用于对磁盘组进行读写访问控制的读写处理程序。其中,读写处理程序是对现有I/O处理器中包括的一些其它与写缓存程序连接的相关程序总称,在此不做详细描述。The I/O processor includes: a read-write processing program and a write cache program, that is, the I/O processor carries a write cache program for realizing write access control to the write cache, and a write cache program for reading and writing to the disk group. Read and write handlers for access control. Wherein, the read/write processing program is a general term for some other related programs connected with the write cache program included in the existing I/O processor, and will not be described in detail here.
写缓存程序,用于根据接收到的对读缓存未命中部分的读请求(接收自主处理器的读缓存程序的读请求)读取写缓存,判断对写缓存是否全部读命中,如果是,即下发的读请求所对应的全部数据均已缓存在写缓存中,则向应用程序返回读命中的数据、以及读请求成功的响应,否则,向应用程序返回读命中的部分数据,并再次重新构建一个或多个表示对写缓存未命中部分的读请求,下发到读写处理程序。The write cache program is used to read the write cache according to the received read request to the read cache miss part (the read request received from the read cache program of the main processor), and judge whether all read hits are made to the write cache, and if so, that is All the data corresponding to the sent read request has been cached in the write cache, then return the read hit data and the response of the read request success to the application program, otherwise, return part of the read hit data to the application program, and retry Construct one or more read requests representing the miss part of the write cache, and send them to the read and write handlers.
读写处理程序,用于根据接收到的对写缓存未命中部分的读请求(接收自I/O处理器中的写缓存程序的读请求),从磁盘组中读取对写缓存未命中部分的读请求对应的数据,并向应用程序返回命中的数据,同时还返回读请求成功的响应。The read and write processing program is used to read the miss part of the write cache from the disk group according to the received read request for the miss part of the write cache (received from the read request of the write cache program in the I/O processor) The data corresponding to the read request, and return the hit data to the application program, and also return the response of the successful read request.
实际应用中,主处理器中还可包括一缓冲器(buffer),用于存储返回给应用程序的数据,并提供给应用程序。这样,应用程序下发的读请求中可包括一buffer指针(即buffer在内存中的地址信息),而读缓存程序、写缓存程序、读写处理程序,均可以传递和使用主处理器中应用程序下发的读请求所带的buffer指针,将向应用程序返回的数据直接返回到buffer中。In practical application, the main processor may also include a buffer (buffer), which is used to store the data returned to the application program and provide it to the application program. In this way, the read request issued by the application program can include a buffer pointer (that is, the address information of the buffer in the memory), and the read cache program, write cache program, and read-write processing program can all be transferred and used by the application in the main processor. The buffer pointer carried by the read request issued by the program returns the data returned to the application program directly into the buffer.
这种情况下,读缓存程序、和/或写缓存程序、和/或读写处理程序,均可把返回数据直接返回到buffer中,以实现数据的快速返回,避免数据在各个程序之间重复传递。更进一步,为了提高数据返回的效率,还可以通过DMA等方式实现数据返回。In this case, the read cache program, and/or write cache program, and/or read/write processing program can directly return the returned data to the buffer, so as to realize the fast return of data and avoid duplication of data between programs transfer. Furthermore, in order to improve the efficiency of data return, the data return can also be realized by means of DMA or the like.
对于写请求的处理过程,关联主要体现在:如果待写入的数据刚好也缓存在读缓存中,必须同步更新磁盘组和读缓存中的相同数据。在写入操作未完成之前,为了防止从读缓存中读出的数据(未经写操作的更新)与待写入的数据不符,需要将对读缓存中该部分对应数据的访问挂起,待写请求完成后再允许对该部分数据的访问。For the processing of write requests, the association is mainly reflected in: if the data to be written is also cached in the read cache, the same data in the disk group and the read cache must be updated synchronously. Before the write operation is completed, in order to prevent the data read from the read cache (updated without write operation) from inconsistent with the data to be written, it is necessary to suspend the access to the corresponding data in the read cache. Access to that portion of the data is allowed after the write request is complete.
具体来说,主处理器中仍可以包括:应用程序、驱动程序、读缓存程序。Specifically, the main processor may still include: an application program, a driver program, and a read cache program.
应用程序,用于向驱动程序下发写请求。The application program is used to issue a write request to the driver.
驱动程序,用于将应用程序下发的写请求下发到读缓存程序。The driver is used to send the write request sent by the application to the read cache program.
读缓存程序,用于根据写请求读取所述的读缓存,并判断对读缓存是否全部未命中,如果是,即待写入的数据并未缓存在读缓存中,则将接收到的由应用程序下发的写请求下发给I/O处理器;否则,待写入数据的全部或部分刚好也缓存在读缓存中,则申请内存空间,例如申请临时buffer,将命中部分对应的写请求数据复制到申请到的临时buffer,而暂不替换读缓存中对应位置的原有数据(待后续写操作成功后再将原有数据替换为新写入的临时buffer中的写请求数据),并挂起对读缓存中命中部分的访问,然后将由应用程序下发的写请求下发到I/O处理器;在接收到来自I/O处理器的表示写操作成功的响应信息后,将临时buffer中的写请求数据替换读缓存中对应位置的数据,并释放申请的临时buffer。The read cache program is used to read the read cache according to the write request, and determine whether all the read caches are missed. If so, that is, the data to be written is not cached in the read cache, then the received The write request issued by the program is sent to the I/O processor; otherwise, all or part of the data to be written happens to be cached in the read cache, then apply for memory space, such as applying for a temporary buffer, and will hit part of the corresponding write request data Copy to the requested temporary buffer, but do not replace the original data in the corresponding position in the read cache (after the subsequent write operation is successful, replace the original data with the write request data in the newly written temporary buffer), and hang Access to the hit part in the read cache, and then send the write request issued by the application to the I/O processor; after receiving the response information from the I/O processor indicating that the write operation is successful, the temporary buffer The write request data in replaces the data in the corresponding position in the read cache, and releases the requested temporary buffer.
I/O处理器中仍可包括:读写处理程序和写缓存程序。The I/O processor may still include: a read/write processing program and a write cache program.
写缓存程序根据接收到的写请求向写缓存写入对应的写请求数据,在写操作成功后向读缓存程序返回写请求成功的响应,即将数据写入到写缓存中。The write cache program writes the corresponding write request data into the write cache according to the received write request, and returns a successful write request response to the read cache program after the write operation is successful, that is, writes the data into the write cache.
实际应用中,也可以不将数据先写入到写缓存而是直接写入到磁盘组中。这种情况下,写缓存程序通过读写处理程序向磁盘组中写入对应的写请求数据,在写操作成功后向读缓存程序返回表示写操作成功的响应信息;主处理器中的读缓存程序将对应位置的原有数据替换为其申请的临时buffer中的写请求数据,并向应用程序返回写请求完成的响应。In practical applications, data may not be written into the write cache first but directly written into the disk group. In this case, the write cache program writes the corresponding write request data to the disk group through the read and write processing program, and returns a response message indicating that the write operation is successful to the read cache program after the write operation is successful; the read cache in the main processor The program replaces the original data at the corresponding location with the write request data in the temporary buffer it applied for, and returns a response to the application program to complete the write request.
在写操作失败后,写缓存程序或读写处理程序向读缓存程序返回表示写操作失败的响应信息。这样,由于写请求对应的写操作失败,因而主处理器中的读缓存程序不将对应位置的原有数据替换为其申请的临时buffer中的写请求数据,而是在接收到所述表示写操作失败的响应信息后,丢弃申请到的临时buffer中的写请求数据并释放该临时buffer,并向应用程序返回写请求完成的响应。After the write operation fails, the write cache program or the read/write handler returns a response message indicating the write operation failure to the read cache program. In this way, because the write operation corresponding to the write request fails, the read cache program in the main processor does not replace the original data at the corresponding position with the write request data in the temporary buffer it applied for, but After the response information of operation failure, discard the write request data in the applied temporary buffer and release the temporary buffer, and return the response of the write request completion to the application program.
可见,上述存储设备中,主处理器和I/O处理器的协同处理,能够进一步提高读效率,且保证在写操作的过程中能够及时更新读缓存中的对应数据。It can be seen that in the above storage device, the cooperative processing of the main processor and the I/O processor can further improve the read efficiency and ensure that the corresponding data in the read cache can be updated in time during the write operation.
以上是对本发明实施例中存储设备的详细说明,下面,再对本发明实施例中的读写缓存实现方法进行说明。The above is a detailed description of the storage device in the embodiment of the present invention. Next, the implementation method of the read-write cache in the embodiment of the present invention will be described.
本发明实施例中的读写缓存实现方法中,先将读缓存和输入/输出I/O处理器挂接在主处理器下、将写缓存和磁盘组挂接在所述I/O处理器下,并由I/O处理器的电池为写缓存供电,该方法包括:In the implementation method of the read-write cache in the embodiment of the present invention, the read cache and the input/output I/O processor are first attached to the main processor, and the write cache and the disk group are attached to the I/O processor. , and the write cache is powered by the battery of the I/O processor, the method includes:
主处理器对所述读缓存进行访问控制,且I/O处理器在主处理器的控制下对写缓存进行访问控制。The main processor performs access control on the read cache, and the I/O processor performs access control on the write cache under the control of the main processor.
其中,访问控制包括对读请求的访问控制和对写请求的访问控制,本发明实施例分别针对读请求和写请求提供了对应的处理方式,以保证读缓存和写缓存间的关联。Wherein, access control includes access control for read requests and access control for write requests, and embodiments of the present invention provide corresponding processing methods for read requests and write requests, so as to ensure the association between read cache and write cache.
图4为本发明中读写缓存实现方法对读请求的处理流程示意图。如图4所示,本实施例中读写缓存实现方法对读请求的处理流程包括:FIG. 4 is a schematic diagram of a processing flow of a read request by a read-write cache implementation method in the present invention. As shown in FIG. 4, the processing flow of the read request by the read-write cache implementation method in this embodiment includes:
步骤401,主处理器中的读缓存程序根据应用程序下发的读请求从读缓存中读取读请求对应的数据。In step 401, the read cache program in the main processor reads data corresponding to the read request from the read cache according to the read request issued by the application program.
步骤402,主处理器中的读缓存程序判断对读缓存是否全部读命中,如果是,则执行步骤403,否则,执行步骤404。In step 402 , the read cache program in the main processor judges whether all reads in the read cache are hit, if yes, execute step 403 , otherwise, execute step 404 .
步骤403,读缓存全部读命中,因而主处理器中的读缓存程序直接向应用程序返回全部命中的数据,不涉及与写缓存的关联,并执行步骤409。Step 403 , all the reads in the read cache are hit, so the read cache program in the main processor directly returns all hit data to the application program without any association with the write cache, and step 409 is executed.
步骤404,读缓存未全部命中或禁止访问,主处理器中的读缓存程序将读命中的部分数据向应用程序返回,并重新构建一个或多个表示对读缓存未命中部分的读请求下发到I/O处理器,并继续执行步骤405。Step 404, the read cache is not all hit or access is prohibited, the read cache program in the main processor returns part of the data that is read to the application program, and reconstructs one or more read requests that represent the part that is not hit by the read cache to the I/O processor, and proceed to step 405.
本步骤中重新构建的读请求中可以包括buffer指针。The read request reconstructed in this step may include a buffer pointer.
步骤405,I/O处理器中的写缓存程序根据接收到的对读缓存未命中部分的读请求,读取写缓存中对应的数据,并判断对写缓存是否全部读命中,如果是,则执行步骤406,否则执行步骤407。Step 405, the write cache program in the I/O processor reads the corresponding data in the write cache according to the received read request for the read cache miss part, and judges whether all the read caches are hit, if yes, then Go to step 406, otherwise go to step 407.
步骤406,写缓存中刚好缓存了读请求所对应的数据,即写缓存全部读命中,I/O处理器中的写缓存程序直接将命中的数据向应用程序返回,并执行步骤409。Step 406 , the data corresponding to the read request is just cached in the write cache, that is, all reads in the write cache are hit, and the write cache program in the I/O processor directly returns the hit data to the application program, and executes step 409 .
步骤407,写缓存未全部读命中(全部未命中或者部分未命中),由I/O处理器中的写缓存程序再次重新构建一个或多个表示对写缓存未命中部分的读请求并下发,然后执行步骤408。Step 407, the write cache is not all read hits (all misses or partial misses), and the write cache program in the I/O processor rebuilds one or more read requests representing the miss part of the write cache and sends them out , and then execute step 408.
与之前所述同理,本步骤中重新构建的读请求中也可以包括buffer指针。Similar to the previous description, the read request reconstructed in this step may also include a buffer pointer.
步骤408,I/O处理器中的读写处理程序根据接收自写缓存程序的对读缓存未命中部分的读请求,从磁盘组读取对应的数据并向应用程序返回,并执行步骤409。Step 408 , the read/write processing program in the I/O processor reads the corresponding data from the disk group and returns to the application program according to the read request received from the write cache program for the read cache miss portion, and executes step 409 .
步骤409,主处理器中的读缓存程序向应用程序返回读请求完成的响应。In step 409, the read cache program in the main processor returns a read request completion response to the application program.
至此,本流程结束。So far, this process ends.
由上述流程可见,如果读请求所对应的数据已缓存在写缓存中,则可以直接从写缓存读取,而无需再次下发读请求以从磁盘组中读取,从而能够提高读效率。It can be seen from the above process that if the data corresponding to the read request has been cached in the write cache, it can be read directly from the write cache without sending a read request again to read from the disk group, thereby improving the read efficiency.
为了进一步提高读效率,上述流程中可以采用如下方式来具体实现:In order to further improve the reading efficiency, the above process can be implemented in the following ways:
在步骤401,主处理器的读缓存程序接收到的读请求中可以包括一buffer指针;In step 401, a buffer pointer may be included in the read request received by the read cache program of the main processor;
如果对读缓存全部读命中,则在步骤403,读缓存可以将全部命中的数据直接返回到主处理器的buffer中;If all read hits are made to the read cache, then in step 403, the read cache can directly return all hit data to the buffer of the main processor;
如果对读缓存未全部读命中,则在步骤404,主处理器的读缓存程序重新构建的读请求中也可以包括buffer指针。If there are not all read hits to the read cache, then at step 404, the read request reconstructed by the read cache program of the main processor may also include the buffer pointer.
这样,在步骤405,写缓存程序接收到的读请求中也包括buffer指针。In this way, in step 405, the read request received by the write cache program also includes the buffer pointer.
如果写缓存程序对写缓存全部读命中,则在步骤406,写缓存可以将全部读命中的数据直接返回到主处理器的buffer中;If the write cache program hits all the reads in the write cache, then in step 406, the write cache can directly return the data of all read hits to the buffer of the main processor;
如果对写缓存未全部读命中,先将部分命中的数据返回到主处理器的buffer中;等待后续步骤读取了当前未命中的部分数据、再将新读取的数据返回到主处理器的buffer中。If there are not all read hits to the write cache, first return part of the hit data to the buffer of the main processor; wait for the subsequent steps to read part of the data that is currently not hit, and then return the newly read data to the main processor in buffer.
在步骤407,I/O处理器的写缓存程序重新构建的读请求中也可以包括buffer指针。In step 407, the read request reconstructed by the write cache program of the I/O processor may also include a buffer pointer.
这样,在步骤408,I/O处理器的读写处理程序接收到的读请求中则包括buffer指针。在步骤408,读写处理程序在从磁盘组中读取了对应的数据后,通过DMA等快速方式直接将数据返回到主处理器的buffer中,以提高数据返回的效率;In this way, in step 408, the read request received by the read and write processing program of the I/O processor includes the buffer pointer. In step 408, after the read-write processing program reads the corresponding data from the disk group, the data is directly returned to the buffer of the main processor by DMA and other fast methods, so as to improve the efficiency of data return;
图5为本发明中读写缓存实现方法对写请求的处理流程示意图。如图5所示,本实施例中读写缓存实现方法对写请求的处理流程包括:FIG. 5 is a schematic diagram of a processing flow of a write request by a method for implementing a read-write cache in the present invention. As shown in FIG. 5, the processing flow of the write request by the read-write cache implementation method in this embodiment includes:
步骤501,主处理器中的读缓存程序接收应用程序下发的写请求,根据写请求读取读缓存。
步骤502,主处理器中的读缓存程序判断对读缓存是否全部未命中,如果是,则执行步骤504,否则,执行步骤503。
步骤503,读缓存完全命中或部分命中,主处理器的读缓存程序申请内存空间,将命中部分对应的写请求数据复制到申请到的内存空间中,而暂不替换写缓存中对应位置的原有数据,同时,读缓存程序对读缓存命中部分所在内存空间设置表示挂起的标记,然后将后续对命中部分的访问挂起,等待本流程的写请求完成并更新后才取消挂起,并执行步骤504。
步骤504,主处理器的读缓存程序将应用程序下发的写请求下发到I/O处理器的写缓存程序,并执行步骤505。
步骤505,I/O处理器中的写缓存程序或读写处理程序按照现有方式将写请求数据写入写缓存,或者直接写入磁盘组,并向主处理器中的读缓存程序返回表示写操作是否成功的响应信息。Step 505, the write cache program or read/write processing program in the I/O processor writes the write request data into the write cache according to the existing method, or directly writes the disk group, and returns the indication to the read cache program in the main processor The response information of whether the write operation is successful.
步骤506,主处理器中的读缓存程序根据接收到的响应信息判断写操作是否成功,如果成功,则执行步骤507,否则执行步骤508。
步骤507,主处理器中的读缓存程序将申请到的内存空间中的写请求数据替换读缓存中对应位置的数据(即步骤503对读缓存命中的部分数据),并释放申请的内存空间,然后执行步骤509。
步骤508,主处理器中的读缓存程序丢弃申请到的内存空间中的写请求数据并释放该内存空间,然后执行步骤509。In
步骤509,读缓存程序向主处理器中的应用程序返回完成写请求的响应,并执行步骤510。In
步骤510,读缓存程序取消对命中部分数据所在内存空间设置的标记,处理由于本步骤之前访问该部分数据而被挂起的访问。
至此,本流程结束。So far, this process ends.
由上述流程可见,如果待写入的数据刚好也缓存在读缓存中,则为了同时更新磁盘和读缓存中的相同数据,以防止从读缓存中读出的数据(未经写操作的更新)与待写入的数据不符,需要将对读缓存中该部分对应数据的访问挂起,待写请求完成后再允许对该部分数据的访问,从而能够保证在写操作的过程中能够及时更新读缓存中的对应数据。It can be seen from the above process that if the data to be written is also cached in the read cache, in order to update the same data in the disk and the read cache at the same time, to prevent the data read from the read cache (update without write operation) from If the data to be written does not match, it is necessary to suspend the access to the corresponding data in the read cache, and allow access to the part of the data after the write request is completed, so as to ensure that the read cache can be updated in time during the write operation corresponding data in .
上述流程中,在步骤503申请的内存空间可以为临时buffer。In the above process, the memory space requested in
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101768047A CN100530071C (en) | 2007-11-02 | 2007-11-02 | Storage apparatus comprising read-write cache and cache implementation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101768047A CN100530071C (en) | 2007-11-02 | 2007-11-02 | Storage apparatus comprising read-write cache and cache implementation method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101149668A CN101149668A (en) | 2008-03-26 |
CN100530071C true CN100530071C (en) | 2009-08-19 |
Family
ID=39250221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101768047A Expired - Fee Related CN100530071C (en) | 2007-11-02 | 2007-11-02 | Storage apparatus comprising read-write cache and cache implementation method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100530071C (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981773B (en) * | 2011-09-02 | 2016-07-06 | 深圳市云帆世纪科技有限公司 | storage device access method, access system and storage device access manager |
WO2015061921A1 (en) * | 2013-10-29 | 2015-05-07 | 上海宝存信息科技有限公司 | Dynamic caching method and system for data storage system |
CN105183378A (en) * | 2015-08-31 | 2015-12-23 | 北京神州云科数据技术有限公司 | Adaptive cache mixed reading/writing method |
CN109213696B (en) * | 2017-06-30 | 2023-06-06 | 伊姆西Ip控股有限责任公司 | Method and apparatus for cache management |
US10423336B2 (en) * | 2017-11-28 | 2019-09-24 | International Business Machines Corporation | Fast locate using imitation reads on tape drives |
CN109407998B (en) * | 2018-11-09 | 2022-02-18 | 郑州云海信息技术有限公司 | Method, system and related assembly for IO stream synchronization in cache |
CN111324282A (en) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | Memory device |
CN109800185B (en) * | 2018-12-29 | 2023-10-20 | 上海霄云信息科技有限公司 | Data caching method in data storage system |
CN111858399B (en) * | 2019-04-30 | 2023-11-24 | 贵州白山云科技股份有限公司 | Data transmission method, device, computer readable storage medium and computer equipment |
CN111124302B (en) * | 2019-12-18 | 2023-01-10 | 苏州浪潮智能科技有限公司 | SAN shared file storage and archiving method and system |
CN113342265B (en) * | 2021-05-11 | 2023-11-24 | 中天恒星(上海)科技有限公司 | Cache management method and device, processor and computer device |
CN116010293B (en) * | 2022-12-30 | 2024-09-03 | 上海芷锐电子科技有限公司 | Data request processing circuit and method, cache circuit and processor thereof |
-
2007
- 2007-11-02 CN CNB2007101768047A patent/CN100530071C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101149668A (en) | 2008-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100530071C (en) | Storage apparatus comprising read-write cache and cache implementation method | |
US10585804B2 (en) | Systems and methods for non-blocking implementation of cache flush instructions | |
US11500797B2 (en) | Computer memory expansion device and method of operation | |
TWI526829B (en) | Computer system,method for accessing storage devices and computer-readable storage medium | |
CN100514282C (en) | Method and apparatus for initiating CPU data prefetches by an external agent | |
CN103377162B (en) | Signal conditioning package | |
TW542958B (en) | A method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system | |
US10613792B2 (en) | Efficient enforcement of barriers with respect to memory move sequences | |
CN100435117C (en) | method of transferring data | |
US10042580B2 (en) | Speculatively performing memory move requests with respect to a barrier | |
CN103902479A (en) | Quick reconstruction mechanism for metadata cache on basis of metadata log | |
CN103076992B (en) | A kind of internal storage data way to play for time and device | |
CN109799959B (en) | A method for improving write parallelism of open channel solid state disk | |
CN102063406A (en) | Network shared Cache for multi-core processor and directory control method thereof | |
TW200417857A (en) | Allocating cache lines | |
JP5977430B2 (en) | Storage system, storage system control method, and storage controller | |
CN108139974A (en) | Distributed cache dynamic migration | |
CN104021028B (en) | Web buffering method and device in virtual machine environment | |
JP2012053572A (en) | Information processing unit and cache control method | |
JP2008503003A (en) | Direct processor cache access in systems with coherent multiprocessor protocols | |
TW202449615A (en) | Devices and methods for cache operation in storage devices | |
CN103207763B (en) | Based on the front end caching method of xen virtual disk device | |
US8214597B2 (en) | Cache tentative read buffer | |
TWI243999B (en) | Apparatus and related method for maintaining read caching data of south bridge with north bridge | |
JP2004240616A (en) | Memory controller and memory access control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090819 Termination date: 20191102 |
|
CF01 | Termination of patent right due to non-payment of annual fee |