Embodiments described herein relate generally to a storage control apparatus, a data storage apparatus and a memory control method.
Recently, as a data storage apparatus typically represented by a hard disk drive (HDD), a hybrid memory device which uses a nonvolatile memory such as a NAND flash memory (hereinafter simply referred to as a flash memory) together with a disk as storage media has been developed.
In such the hybrid storage apparatus, the flash memory comprises a storage area divided into a plurality of memory banks (hereinafter simply referred to as banks). A flash memory controller controls the flash memory in accordance with a so-called interleaving method which can simultaneously access to respective banks.
Here, an interface between the flash memory controller and the flash memory cannot transfer data simultaneously to the respective banks. Therefore, the flash memory controller has an arbitrator to arbitrate buses of the interface when a conflict occurs in access to a plurality of banks. By interleaving of the arbitrator, faster access is achieved.
However, in actual flash memory control, a series of processing including issuance of a read command needs to be performed for a read operation to read data from the flash memory. Therefore, simply performing arbitration with use of the interleaving method is not sufficient to reduce the time required for the read operation and to realize reading efficiency.
Hereinafter, various embodiments will be described referring to the drawings.
In general, according to one embodiment, a storage control apparatus includes an interface and a controller. The interface transfers data or a command to or from a nonvolatile memory including a storage area for each of banks. The controller controls read operations for the banks in accordance with generation of access requests to the banks, respectively. The controller prioritizes performing read-command issuance processing included in each of the read operations.
The HDC 10 controls an interface between the hybrid HDD 1 and a host 2, and controls a read operation and a write operation of data with respect to a disk 15 which will be described later. The buffer memory 11 may be, for example, a dynamic random access memory (DRAM). The buffer memory 11 temporarily stores read data or write data, to control data transfer to and from the host 2.
The hybrid HDD 1 comprises a flash memory 13 and a disk 15 as storage media. The HDC 10 writes data to or reads data from the flash memory 13 through the flash memory controller 12. The HDC 10 controls a head-amplifier integrated circuit (head IC) 14 and a head 16, and writes data to or reads data from the disk 15.
As shown in
Interfaces 21 and 24 respectively comprise registers 22 and 25 which temporarily store data read from memory arrays 20 and 23. Interfaces 21 and 24 are connected to interface buses 120 to 122 to transfer enable signals and data to and from the flash memory controller 12.
The flash memory controller 12 can read data independently from banks 200-0 and 200-1 through interface buses 120 to 122. The embodiment will now be described with reference to a read operation of reading data from the flash memory 13, and a description of a write operation of writing data to the flash memory 13 will be omitted.
The flash memory controller 12 transmits an enable signal BE-0 through interface bus 120 when an access request (hereinafter also simply referred to as a request) is made to bank 200-0. Further, the flash memory controller 12 transmits an enable signal BE-1 through interface bus 121 when a request is made to bank 200-1.
The flash memory controller 12 receives data read from any of bank 200-0 and 200-1 through the common interface bus 122 in response to a request to banks 200-0 and 200-1. Namely, the flash memory controller 12 cannot simultaneously perform data transfer to banks 200-0 and 200-1 through interface bus 122.
Mask gates 30-0 to 30-n have the same configuration as each other which comprises an AND gate 31, an OR gate 32, and a NOR gate 33. The MPU 35, as will be described later, outputs requests 300 and 304 to banks 200-0 and 200-1, and information which indicates read command attributes (hereinafter referred to as RC attributes, for convenience) 301, 302, 305, and 306. Namely, mask gates 30-0 to 30-n mask commands other than read commands when requests are issued to banks 200-0 and 200-1.
The arbitrator 34 performs arbitration according to a Least Recently Used (LRU) method, or arbitration according to a round robin method. Namely, the arbitrator 34 performs arbitration for interface bus 122 when a conflict occurs between requests to banks 200-0 and 200-1.
Hereafter, the read operation of the embodiment will be described with reference to the
As
The aforementioned preparation processing includes, as
Meanwhile, in
Further, a specific description will be made with reference to the flowchart of
In the flash memory controller 12, the MPU 35 issues the request 300 to bank 200-0 (Block 500). In this case, the flash memory controller 12, as
As shown in
In bank 200-0, interface 21 performs preparation processing in which the data designated by a read command is transferred to register 22 from memory array 20 (Block 504). As shown in
Next, in the flash memory controller 12, when a read access request for bank 200-1 is generated, the MPU 35 issues the request 304 for bank 200-1 in a similar manner to the above. The flash memory controller 12, as shown in
As shown in
In bank 200-1, interface 24 performs preparation processing in which the data designated by the read command is transferred to register 25 from memory array 23. In this case, as shown in
Here, as shown in
In the embodiment, the MPU 35 issues the RC attribute 301 along with the request 300 to bank 200-0 after the read processing for bank 200-0 is completed (Block 500 and YES in Block 501). As shown in
Namely, interface bus 122 is in a state that the read-command issuance for bank 200-0 and the read processing for bank 200-1 conflict with each other (a dotted line 410 in
Therefore, as shown in
As shown in
Namely, interface bus 122 is in a state that the read-command issuance for bank 200-1 and the read processing for bank 200-0 conflict with each other (dotted line shown in
Therefore, as shown in
As described above, according to the embodiment, interleaving that performs a read access request independently to each of banks can be efficiently performed by arbitration of interface buses. Namely, when accesses to the banks conflict with each other, arbitration is performed prioritizing read-command issuance for each of the banks. In this manner, in the read operation for each of the banks, sections for which interface buses are not used due to overlapping of preparation processing for the banks can be reduced when a series of processing comprising read-command issuance, preparation processing, and read processing is performed. In other words, by prioritizing read-command issuance for one bank, read processing for the other bank can be performed in a next preparation processing section.
Therefore, sections for which interface buses are not used can be reduced, and accordingly the entire processing time required for read operations for the respective banks can be shortened and be more efficient. By application of the embodiment, speed-up of read operations in a flash memory of a hybrid HDD is realized, and accordingly, high-performance hybrid HDDs can be provided.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
This application claims the benefit of U.S. Provisional Application No. 61/846,671, filed Jul. 16, 2013, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61846671 | Jul 2013 | US |