This application claims the benefit of People's Republic of China application Serial No. 201410322539.9, filed Jul. 8, 2014, the subject matter of which is incorporated therein by reference.
1. Field of the Invention
The invention relates in general to a method for accessing data in solid state drive (SSD), and more particularly to a data accessing method in which when data is accessed in SSD, the access request is split and merged to form physical units conforming to a flash operation mode in a buffer memory.
2. Description of the Related Art
Solid state drive (SSD) is composed of a plurality of non-volatile flash memories integrated into one single storage device. The SSD, having the features of lightweight, slimness, compactness, portability and fast data transmission rate, which is conducive to the transmission of a large volume of data but not requiring any rotating mechanisms, has become a mainstream data storage device in modern information products.
During data access, the SSD firstly receives a logical page address (LPA) of an access request from a host computer, converts the LPA into a physical page address (PPA) with reference to a logical-physical mapping table, and further transmits the access request to a flash memory. An ordinary flash memory has a data area and a spare area. Each area includes several physical blocks each being composed of one or more than one physical page. After the access request was received by the flash memory, the SSD reads the data of physical blocks containing the PPA from the data area and transmits the read data to the host computer to be updated. Then, the SSD selects a spare physical block from the spare area and further writes the updated data to the selected spare physical block to form a new data physical block in the data area and corrects the logical-physical mapping table accordingly. Then, the data in the old data physical block is completely erased and new spare physical block is formed in the spare area for alternate use. Thus, the physical block is a basic unit for accessing data in a flash memory. However, the method of sequentially accessing physical blocks one by one from the flash memory cannot increase the speed of data access, and is disadvantageous when it comes to the access of a large volume of data in the SSD.
Due to the advancement in the manufacturing technology of flash memory, a multi-plane flash memory is provided. The multi-plane flash memory arranges several physical blocks located on different planes but can be accessed at the same time as a physical unit which is a basic unit by which the multi-plane flash memory accesses data. The multi-plane flash memory accesses the physical blocks in the same physical unit to expedite data access. Besides, the multi-plane flash memory provides different modes of flash operation, such as single-plane operation, two-plane operation and two-plane cache operation, according to the access of physical blocks in the physical units. In the single-plane operation mode, only physical blocks conformed to the single-plane operation mode are accessed. In the two-plane operation mode, only physical blocks conformed to the two-plane operation mode are accessed. In the two-plane cache operation mode, two continuous physical units are accessed at the same time, and this is a flash operation mode supporting quick access.
As indicated in
In the above method for accessing data in a multi-plane flash memory by an SSD, physical blocks in the same physical unit can be quickly accessed in the determined flash operation mode. However, the access request is a random access of physical blocks and has only a limited number of sequentially accessed physical blocks are conformed to the flash operation mode supporting quick access. Therefore, the flash operation mode can do very little when it comes to expedite data access. Although the accessed relevant data is particularly arranged in the physical units of the multi-plane flash memory so as to be conformed to the flash operation mode supporting quick access, after the physical blocks are randomly accessed and the physical blocks are alternately moved to the data area and the spare area of the flash memory, less and less relevant data can remain being conformed to the flash operation mode supporting quick access. Consequently, the use of the flash operation mode supporting quick access is relatively reduced, and it is very hard to expedite data access. Therefore, the SSD still has many problems to resolve when it comes to the method for accessing data in SSD.
According to an object of the invention, a method for accessing data in SSD is disclosed. The received access request is split into a number of separate access requests each corresponding to a respective physical blocks. Then, the separate access requests are merged to form a reconfigured access request conformed to a flash operation mode supporting quick access to increase the speed for accessing data.
According to another object of the invention, a method for accessing data in SSD is disclosed. An access request is preferentially transmitted for the flash memory to operate. While waiting for operation, the separate access requests are merged to form an access request conformed to a flash operation mode supporting quick access to expedite speed of data access.
According to an alternate object of the invention, a method for accessing data in SSD is disclosed. Separate access requests each corresponding to a respective physical blocks and the reconfigured access request, which is buffered in a buffered memory and waiting to be transmitted, are merged to form a reconfigured access request conformed to a flash operation mode supporting quick access to increase the efficiency of data access.
To achieve the above objects of the invention, a method for accessing data in SSD is disclosed. An access request is received from a host computer and buffered by an SSD. The access request is split into a number of separate access requests each corresponding to a respective physical blocks according to the addresses of the physical blocks of the access request obtained with reference to logical addresses. The separate access requests are merged to form a reconfigured access request preferentially conformed to a flash operation mode supporting quick access. The reconfigured access request is transmitted to a multi-plane flash memory of the SSD. Physical units of the reconfigured access request are accessed with respect to the multi-plane flash memory in a mode conformed to flash operation.
The invention further discloses another method for accessing data in SSD. An access request is received from a host computer and buffered by an SSD. Sequenced physical blocks of the access request are preferentially transmitted to a multi-plane flash memory and in a mode conformed to flash operation. The buffered access request is split into a number of separate access requests each corresponding to a respective physical blocks while waiting for operation. Separate access requests and the buffered reconfigured access request are merged to form a reconfigured access request conformed to a flash operation mode. The reconfigured access request is transmitted to a multi-plane flash memory of the SSD after the operation is completed. Physical units of the reconfigured access request are accessed with respect to the multi-plane flash memory in a mode conformed to flash operation. When the access of the reconfigured access request is not completed, the reconfigured access request continues to be sequentially transmitted to a multi-plane flash memory of the SSD. When the access of the reconfigured access request is already completed, the SSD waits to receive the next access request.
The above and other aspects of the invention will become better understood with regard to the following detailed description of the preferred but non-limiting embodiment (s). The following description is made with reference to the accompanying drawings.
The technologies adopted to achieve the objects of the invention and the effects thereof are disclosed below in a number of exemplarily embodiments with accompanying drawings.
Refer to both
The process of accessing data by the SSD 30 is described with a specific embodiment as indicated in
During the process of processing the access request 1, the SSD 30 may further receive an access request 2 from the host computer 20. If so, the SSD 30 sequentially accesses and buffers physical blocks 7-11 to the buffer memory 32, and obtains the addresses of the physical blocks of the access request with reference to the logical addresses. Likewise, after the processing of the access request 1 is completed, when it is determined that physical blocks 7 and 8 of the access request 2 are both conformed to the single-plane operation mode, the access request is sequentially transmitted to the first multi-plane flash memory 33, and are given to sequentially access the physical blocks 7 and 8 from the physical units 37 and 38 respectively. When it is determined that physical blocks 9-11 of the access request 2 are only conformed to a single-plane operation mode, the access request is sequentially transmitted to the second multi-plane flash memory 34, and the physical blocks 9-11 are sequentially accessed from the physical units 39-40 respectively. Therefore, it takes the generally known SSD 30 after nine operation of data access to complete the access of the physical blocks 1-11 of the access request 1-2.
Refer to both
The process of accessing data by an SSD is described with a specific embodiment as indicated in
During the process of accessing data from the multi-plane flash memory, the SSD 30 consecutively receives an access request 2 from the host computer 20, accesses data of physical blocks 7-11 and buffers the access request 2 to the buffer memory 32 together with the reconfigured access requests 43 and 44 which are buffered in the buffer memory 32 and waiting to be transmitted. The SS 30 further obtains the addresses of the physical blocks 7-11 of the access request 2 with reference to the logical addresses, and splits the access request 2 split into a number of separate access requests corresponding to a number of physical blocks 7-11. Preferentially, the flash operation mode supporting quick access is used. Based on the reconfigured access requests 43 and 44 and the addresses of the physical blocks 7-11, when it is determined that the physical block 7 of the access request 2 and the physical block 5 of the reconfigured access request 43 are located on the same physical unit 37 of the first multi-plane flash memory 33, that the physical block 8 of the access request 2 and the physical block 6 of the reconfigured access request 44 are located on the same physical unit 38 of the first multi-plane flash memory 33, and that the physical units 37 and 38 are arranged in a top-down manner and adjacent to each other, the physical blocks 5-8 can be merged to form a reconfigured access request 45 conformed to a two-plane cache operation mode. Then, when it is determined that physical blocks 9 and 11 of the access request 2 are located on the same physical unit 39 of the second multi-plane flash memory 34, the physical blocks 9 and 11 can be merged to form a reconfigured access request 46 conformed to a two-plane operation mode. When it is determined that physical block 10 of the access request 2 cannot be merged with any other physical blocks of the buffered access requests, the physical block 10 is only conformed to a single-plane operation mode and forms a reconfigured access request 47. When the multi-plane flash memory has an available access channel, the reconfigured access requests are sequentially transmitted to the multi-plane flash memory. In comparison to the generally known method for accessing data in SSD which requires 11 times of the operation of data access, the method for accessing data in SSD according to the first embodiment of the invention only requires 5 times of the operation of data access to complete the processing of the access requests 1-2, and has a faster access speed.
Refer to
Therefore, based on the data accessing process of the method for accessing data in SSD of the first embodiment of the invention, the received access request is split into a number of separate access requests corresponding to a number of physical blocks, then the separate access requests are merged to form a reconfigured access request conformed to a flash operation mode supporting quick access and sequentially transmitted to each multi-plane flash memory, and physical units of the reconfigured access request are accessed in a mode conformed to flash operation.
To access data with the SSD of the first embodiment of the invention data access, processing time is required for the SSD to split the received access request split into a number of separate access requests and merge the separate access requests to form a reconfigured access request, before the SSD can transmit the reconfigured access request to each multi-plane flash memory. Each multi-plane flash memory will be in a waiting state until the reconfigured access request is received. Thus, in order to increase the access speed, during the accessing process of the method for accessing data in SSD according to a second embodiment of the invention, each multi-plane flash memory preferentially performs data accessing once an access request is received from the host computer by the SSD. While waiting for the multi-plane flash memory to make the access channel available, the access request is split in the buffer memory and merged with the reconfigured access request buffered in the buffer memory to form a new reconfigured access request, so as to increase the access speed of the SSD of the first embodiment of the invention.
Refer to
Therefore, based on the above data accessing process, the invention the second embodiment method for accessing data in SSD, the access request is preferentially transmitted for the flash memory to operate, and while waiting for operation, the access request is split into a number of separate access requests corresponding to a number of physical blocks. Then, the separate access requests and the reconfigured access requests, which are buffered and waiting to be transmitted, are merged to form a reconfigured access request conformed to a flash operation mode supporting quick access to increase the data access efficiency of the SSD.
While the invention has been described by way of example and in terms of the preferred embodiment (s), it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
Number | Date | Country | Kind |
---|---|---|---|
201410322539.9 | Jul 2014 | CN | national |