WO2016063716A1 - メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 - Google Patents
メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 Download PDFInfo
- Publication number
- WO2016063716A1 WO2016063716A1 PCT/JP2015/078266 JP2015078266W WO2016063716A1 WO 2016063716 A1 WO2016063716 A1 WO 2016063716A1 JP 2015078266 W JP2015078266 W JP 2015078266W WO 2016063716 A1 WO2016063716 A1 WO 2016063716A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- data
- recording
- recorded
- block
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Definitions
- This technology relates to a memory controller.
- the present invention relates to a memory controller, a storage device, an information processing system, a processing method in these, and a program for causing a computer to execute the method, which handle a memory that transfers data in units of blocks at the time of writing and reading.
- a large-capacity and wide-band SDRAM (Synchronous Dynamic Random Access Memory) is used as a memory used for an image memory of an imaging device or the like.
- SDRAM Serial Dynamic Random Access Memory
- Data transfer accompanying access is performed by burst transfer.
- This is a method of sequentially transferring a plurality of data having consecutive column addresses, and a method of transferring data of a preset number of words (burst length) by inputting a column address once. Since a plurality of data can be transferred by inputting a column address once, the data transfer rate can be increased.
- the recording area is divided into blocks each having a size corresponding to the burst length, and data is transferred in units of these blocks.
- a memory controller that processes a read request from a master generates byte combination information from a read destination address and performs reading based on the read address in a system including a master, a memory controller, and a memory.
- This byte combination information is information indicating the range of data to be read.
- information indicating that data in an area whose address is shifted by 4 words with respect to the column address # 0x0 is a read target corresponds to the byte combination information and is generated by the memory controller.
- the generated byte combination information is interpreted by the memory, and data in the range of addresses # 0x4 to # 0xB is output as read data for the input column address # 0x0.
- the above-described prior art has a problem that a special memory having a function of reading and outputting data recorded in different blocks by interpreting byte combination information generated by the memory controller is required.
- This technology has been created in view of such a situation, and aims to shorten the data read time in the memory without using a special memory.
- the present technology has been made to solve the above-described problems.
- the first aspect of the present technology is that recording is started by accessing a block, which is a recording area divided by a block size composed of a plurality of data, as a unit.
- the first memory in which a plurality of recording data is recorded from the head of the block and the second memory in which a plurality of the recording data is recorded from the middle of the recording start block accessed in units of the block.
- One of the first memory and the second memory is read based on the number of blocks required for reading the data included in the recorded data recorded in the memory or the second memory
- Teeth is a memory controller comprising a read control unit that performs. Accordingly, there is an effect that either one of the first memory or the second memory is selected as a reading target based on the number of the blocks necessary for reading data.
- a plurality of recording data is written from the beginning of the recording start block of the first memory, and predetermined data is added to the beginning and end of the plurality of recording data.
- a write control unit for generating new recording data and writing the new recording data from the head of the recording start block of the second memory.
- the first memory and the second memory are memories that perform burst transfer at the time of writing and reading
- the data is word data
- the block size is: It may be a burst length in the burst transfer. Accordingly, the first memory or the second memory can be stored based on the number of blocks required for reading data in the first memory and the second memory having the recording areas divided by the burst length. One of them is selected as a reading target.
- the data may be bit data
- the block size may be a word size including a plurality of bit data
- the block may be a word.
- the first memory or the second memory can be used based on the number of blocks required for reading data in the first memory and the second memory having the recording areas divided by the word size. One of them is selected as a reading target.
- a plurality of recording data is recorded from the beginning of a recording start block by being accessed in units of blocks that are recording areas divided by a block size including a plurality of data.
- a memory, a second memory that is accessed in units of the block and records a plurality of the recording data from the middle of the recording start block, and the recording recorded in the first memory or the second memory A selection unit that selects one of the first memory and the second memory as a reading target based on the number of blocks required for reading data included in the data, and a result of the selection And a read control unit that reads from either the first memory or the second memory. Accordingly, there is an effect that either one of the first memory or the second memory is selected as a reading target based on the number of the blocks necessary for reading data.
- a plurality of pieces of recording data are recorded from the beginning of a recording start block by being accessed in units of blocks that are recording areas divided by a block size including a plurality of data.
- a selection unit that selects one of the first memory and the second memory as a reading target based on the number of blocks required for reading data included in the data, and a result of the selection
- a storage device including a read control unit for reading from either the first memory or the second memory, and the storage
- An information processing system comprising a master to access the location of the data. Accordingly, there is an effect that either one of the first memory or the second memory is selected as a reading target based on the number of the blocks necessary for reading data.
- a fourth aspect of the present technology there is provided a first aspect in which a plurality of recording data is recorded from the head of a recording start block by being accessed in units of blocks which are recording areas divided by a block size including a plurality of data
- a memory control comprising: a read control procedure for reading from either the first memory or the second memory It is the law. Accordingly, there is an effect that either one of the first memory or the second memory is selected as a reading target based on the number of the blocks necessary for reading data.
- FIG. 3 is a diagram illustrating a configuration example of a memory controller 210 in the first embodiment of the present technology.
- FIG. It is a figure showing writing of data in a 1st embodiment of this art. It is a figure showing reading of data in a 1st embodiment of this art. It is a figure showing an example of a processing procedure of write-in processing in a 1st embodiment of this art. It is a figure showing an example of a processing procedure of read-out processing in a 1st embodiment of this art. It is a figure showing an example of a processing procedure of memory selection processing (Step S960) in a 1st embodiment of this art. It is a figure showing data writing in a 2nd embodiment of this art. It is a figure showing reading of data in a 2nd embodiment of this art. It is a figure showing an example of composition of an image memory in a 3rd embodiment of this art.
- FIG. 1 is a diagram illustrating a configuration example of an information processing system according to an embodiment of the present technology.
- the information processing system in FIG. 1 includes a master 100 and a storage device 200.
- the master 100 performs processing such as image processing.
- the master 100 accesses the storage device 200 by issuing a command such as writing or reading.
- the storage device 200 records data necessary for processing in the master 100.
- the signal line 101 is for electrically connecting the master 100 and the storage device 200.
- the storage device 200 includes a memory controller 210, a memory # 1 (220), and a memory # 2 (230).
- the memory controller 210 controls the memory # 1 (220) and the memory # 2 (230).
- the memory controller 210 interprets write and read commands issued from the master 100 and requests the memory # 1 (220) and the memory # 2 (230) for write and read requests based on the commands.
- Memory # 1 (220) and memory # 2 (230) are for recording data. This data is accessed based on a request requested from the memory controller 210. At this time, data is transferred between the memory # 1 (220) and the memory # 2 (230) and the memory controller 210.
- the memory area of the memory # 1 (220) and the memory # 2 (230) is divided by a block size composed of a plurality of data, and is accessed by the memory controller 210 in units of blocks that are the divided recording areas. .
- a memory constituted by an SDRAM can be used as the memory # 1 (220) and the memory # 2 (230).
- the memory # 1 (220) is an example of the first memory described in the claims.
- Memory # 2 (230) is an example of the second memory described in the claims.
- the signal line 201 electrically connects the memory controller 210 and the memory # 1 (220).
- the signal line 202 is for electrically connecting the memory controller 210 and the memory # 2 (230).
- the master 100 When the master 100 performs writing, the master 100 issues a write command, accompanying write data, a write destination address, and the number of write data to the storage device 200.
- This write command is processed by the memory controller 210 of the storage device 200.
- the memory controller 210 interprets the issued write command, and issues a write request to the memory # 1 (220) and the memory # 2 (230) based on the accompanying write data, the write destination address, and the number of write data. Request.
- the memory # 1 (220) and the memory # 2 (230) perform writing based on this request.
- the master 100 issues a read command, a read destination address associated with the read command, and the number of read data to the storage device 200.
- the memory controller 210 interprets this command and requests a read request from the memory # 1 (220) and the memory # 2 (230) based on the read destination address and the number of read data associated therewith.
- the memory # 1 (220) and the memory # 2 (230) read based on this request and output the read data to the memory controller 210.
- the memory controller 210 outputs the output data to the master 100.
- the size of the write and read data is a multiple of the burst length. Details of control of writing and reading to the memory # 1 (220) and the memory # 2 (230) will be described later.
- FIG. 2 is a diagram illustrating a configuration example of the memory controller 210 according to the first embodiment of the present technology.
- the memory controller 210 includes a master interface 211, a write control unit 212, a read control unit 213, a buffer 214, a selection unit 215, a memory interface 216, and a bus 219.
- the master interface 211 exchanges data with the master 100.
- the memory interface 216 exchanges data with the memory # 1 (220) and the memory # 2 (230).
- the buffer 214 temporarily holds write and read data.
- the bus 219 connects each part in the memory controller 210 to each other.
- the write control unit 212 controls data writing to the memory # 1 (220) and the memory # 2 (230). Based on the write command from the master 100, the write control unit 212 transfers the write data output from the master 100 and held in the buffer 214 to the memory # 1 (220) and the memory # 2 (230). To do. Details of the data writing will be described later.
- the selection unit 215 selects either the memory # 1 (220) or the memory # 2 (230) when reading data. Details of this selection method will be described later.
- Read control unit 213 reads data.
- the read control unit 213 reads data from the memory # 1 (220) or the memory # 2 (230) based on a read command from the master 100.
- the read data is once held in the buffer 214 and then sent to the master 100. Note that the reading control unit 213 performs this reading from either the memory # 1 (220) or the memory # 2 (230) based on the selection result of the selection unit 215.
- FIG. 3 is a diagram illustrating data writing according to the first embodiment of the present technology.
- a represents the relationship between the blocks and recording areas in the memory # 1 (220) and the memory # 2 (230).
- the area delimited by the rectangle a in the figure represents an area of one word, and the characters described in this rectangular part are the addresses of each area (16-bit notation. However, “0x” is omitted due to space limitations. ).
- the burst length of the memory # 1 (220) and the memory # 2 (230) is assumed to be 8 words. In this case, the block size is 8 words.
- One word can be, for example, 8-bit data.
- Data is recorded in such memory # 1 (220) and memory # 2 (230). This recorded data is referred to as recorded data.
- B in the figure represents a state in which 4-burst data 301 as recording data is recorded in the memory # 1 (220).
- This data 301 is recorded in a 4-block area in which the block # 1 of the memory # 1 (220) is a recording start block and the block # 4 is a recording end block.
- the data 301 is recorded from the area of address 0x0 belonging to block # 1. That is, it is recorded from the beginning of the recording start block.
- “c” in the figure represents a state in which the 4-burst data 302 as the recording data is recorded in the memory # 2 (230).
- This data 302 is data having the same contents as the data 301, and is recorded in a 5-block area where the block # 1 of the memory # 2 (230) is a recording start block and the block # 5 is a recording end block.
- the data 302 is recorded from the area of address 0x4 belonging to block # 1. That is, recording is performed from the middle of the recording start block.
- the recording data is recorded in the memory # 1 (220) from the top of the recording start block, and the same content is recorded in the memory # 2 (230).
- Data is recorded from the middle of the recording start block. That is, redundant data is recorded and the data is multiplexed, and in the memory # 2 (230), the data is recorded in an area shifted from the block alignment start position.
- Such data recording is executed by writing data in the write control unit 212.
- the write control unit 212 writes the write data to a specified address in the memory # 1 (220). Thereafter, the same data is also written into the memory # 2 (230).
- This writing can be performed by the following procedure, for example.
- the write control unit 212 transfers write data to the buffer 214 to hold it.
- the write control unit 212 writes the data held in the buffer 214 to the memory # 1 (220).
- the data 301 as the recording data is recorded from the head of the recording start block.
- the write control unit 212 processes the write data held in the buffer 214 so that the written recording data is recorded from the middle of the recording start block. This can be done by adding data to the beginning and end of the write data.
- the write control unit 212 writes the write data, which has been added to the data and has a size of 5 bursts, into an area in the range from block # 1 to block # 5 of the memory # 2 (230).
- the data 302 as the recording data can be recorded in the memory # 2 (230) from the middle of the block # 1 as the recording start block.
- FIG. 4 is a diagram illustrating data reading in the first embodiment of the present technology.
- “a” represents a case where a part of the data 301 written in the memory # 1 (220) is read.
- This data is data of 10 words recorded in the area of addresses 0x7 to 0x10, and is data recorded in a range that does not match the range divided by blocks.
- b in the figure represents a case where data having the same content as the above-mentioned data is read from the data 302 written in the memory # 2 (230).
- Data having the same contents as the data recorded in the area of addresses 0x7 to 0x10 of the memory # 1 (220) is recorded in the area of addresses 0xB to 0x14 of the memory # 2 (230).
- this data In order to read out this data from the memory # 2 (230), it is only necessary to read out data of two blocks, block # 2 and block # 3. In this case, reading time from the memory # 2 (230) can be shortened compared to reading from the memory # 1 (220).
- the selection unit 215 selects a memory at the time of reading. This selection method will be described next.
- the top and end physical addresses of an area in which data related to reading in the memory # 1 (220) is recorded are calculated. These are hereinafter referred to as SAAddr1 and EAddr1 as represented by a in FIG.
- SAAddr1 and EAddr1 are hereinafter referred to as SAAddr1 and EAddr1 as represented by a in FIG.
- the data 302 is recorded from the middle of the block. That is, the address of the data related to reading and the physical address of the area where the data is recorded are different values.
- the head physical address SAAddr2 and the tail physical address EAddr2 are 0xB and 0x14, respectively. .
- floor represents the operation which truncates the one's place.
- the values of SBAddr1, EBAddr1, SBAddr2, and EBAddr2 are “1”, “3”, “2”, and “3”, respectively.
- the number of read blocks in memory # 1 (220) and memory # 2 (230) is calculated from SBAddr1, EBAddr1, SBAddr2, and EBAddr2.
- the number of read blocks in the memory # 1 (220) and the number of read blocks in the memory # 2 (230) are referred to as RB1 and RB2, respectively.
- RB1 EBADDr1-SBADdr1 + 1
- RB2 EBADDr2-SBADDr2 + 1
- a memory having a smaller value out of the number of read blocks RB1 of the memory # 1 (220) and the number of read blocks RB2 of the memory # 2 (230) is set as a memory to be read.
- the read block number RB1 of the memory # 1 (220) has a value “3”
- the read block number RB2 of the memory # 2 (230) has a value “2”. Since RB2 is smaller than RB1, memory # 2 (230) is selected as the read target memory. In this way, the memory for reading is selected.
- Read control unit 213 reads data from the selected memory and transfers it to buffer 214. Next, when the data transferred to the buffer 214 includes extra data, the read control unit 213 removes it. This extra data corresponds to, for example, 4-word data from the beginning of the read data when reading from block # 1) of memory # 2 (230). This is the data added to the write data at the time of writing described with reference to b in FIG. The read control unit 213 removes this extra data. Thereafter, read data from which excess data is removed is sent to the master 100. Even if the above-described extra data is included in the read data, this processing may be omitted if there is no problem in the processing of the master 100. As described above, by selecting and reading the memory having the smaller number of blocks at the time of reading, the time required for reading the data can be shortened, and the memory bandwidth can be reduced.
- FIG. 5 is a diagram illustrating an example of a processing procedure of a writing process according to the first embodiment of the present technology.
- the memory controller 210 starts this processing. First, the memory controller 210 holds the write data related to the write command in the buffer 214 (step S901). Next, the memory controller 210 transfers the write data held in the buffer 214 to the memory # 1 (220) to perform writing (step S902). Next, as described above with reference to FIG. 3, the memory controller 210 adds data to the beginning and end of the write data held in the buffer 214 (step S903). Next, the memory controller 210 transfers the write data with the added data from the buffer 214 to the memory # 2 (230) to perform writing (step S904), and ends the writing process.
- FIG. 6 is a diagram illustrating an example of a processing procedure of a reading process according to the first embodiment of the present technology.
- the memory controller 210 starts this processing. First, the memory controller 210 selects a memory based on the read destination address of the read command (step S960). Next, the memory controller 210 performs reading based on the memory selection result.
- the memory controller 210 reads data from the memory # 1 (220) (step S952), and holds the read data in the buffer 214. (Step S953). Thereafter, the process proceeds to step S956.
- step S951 when the memory # 2 (230) is selected (step S951: No), the memory controller 210 reads data from the memory # 2 (230) (step S954) and stores the read data in the buffer 214. (Step S955). Thereafter, the process proceeds to step S956. In step S956, the memory controller 210 removes excess data from the data held in the buffer 214 (step S956), and sends it to the master 100 (step S957). Thereafter, the memory controller 210 ends the reading process.
- FIG. 7 is a diagram illustrating an example of a processing procedure of the memory selection process (step S960) according to the first embodiment of the present technology.
- the memory controller 210 calculates the first physical address SBAddr1 and the last physical address EBAddr1 of the area in which data related to reading in the memory # 1 (220) is recorded (step S961). Similarly, the memory controller 210 calculates the first physical address SBAddr2 and the last physical address EBAddr2 of the area in which data related to reading in the memory # 2 (230) is recorded (step S962). Next, the memory controller 210 calculates the number of read blocks RB1 in the memory # 1 (220) (step S963). Similarly, the memory controller 210 calculates the number of read blocks RB2 in the memory # 2 (230) (step S964).
- the memory controller 210 compares the read block number RB1 in the memory # 1 (220) with the read block number RB2 in the memory # 2 (230) (step S965). As a result, when the number of read blocks RB2 in the memory # 2 (230) is smaller (step S965: Yes), the memory controller 210 selects the memory # 2 (230) (step S966) and ends the selection process. To do. On the other hand, when the read block number RB2 of the memory # 2 (230) is not smaller (step S965: No), the memory controller 210 selects the memory # 1 (220) (step S967) and ends the selection process. To do.
- the same data is recorded in the two memories configured by the SDRAM. At that time, data is recorded from the beginning of the recording start block in one memory, and data is recorded from the middle of the recording start block in the other memory. Then, by selecting and reading a memory having a smaller number of blocks required for reading, it is possible to shorten a data reading time in a system using the SDRAM.
- Second Embodiment> In the first embodiment described above, an SDRAM is assumed in which the block size is the burst length and burst transfer is performed. On the other hand, in the second embodiment of the present technology, application to an SRAM is assumed. In this case, the block size corresponds to the word size that is the data length in the SRAM. As a result, the data read time can be shortened even in a storage device using an SRAM.
- the storage device 200 employs a configuration in which the memory # 1 (220) and the memory # 2 (230) in the storage device 200 described with reference to FIG. 1 are replaced with a memory configured by SRAM. be able to.
- SRAM for example, an SRAM that does not perform burst transfer can be used.
- the word size in this SRAM is assumed to be 16 bits. As described above, the block size in this case is the word size.
- the other configuration of the storage device 200 and the configuration of the memory controller 210 are the same as those in the first embodiment described above, and a description thereof will be omitted.
- FIG. 8 is a diagram illustrating data writing according to the second embodiment of the present technology.
- a represents the relationship between the block (word) and the recording area in the memory # 1 (220) and the memory # 2 (230).
- the area delimited by the rectangle a in the figure represents a 1-bit area, and the character written in this rectangular portion is a bit address of each bit (16-bit notation. However, “0x” is described because of space. Omitted).
- B in the figure represents a state in which 4-word data 303, which is recording data, is recorded in the memory # 1 (220).
- This data 303 is recorded in a 4-word area in which the word # 1 of the memory # 1 (220) is a recording start word and the word # 4 is a recording end word.
- the data 303 is recorded from the first bit (bit address 0x0) of the word # 1. That is, it is recorded from the beginning of the recording start word.
- c in the figure represents a state in which the 4-word data 304, which is the recording data, is recorded in the memory # 2 (230).
- This data 304 has the same contents as the data 303 and is recorded from the area of the bit address 0x8 belonging to the word # 1 of the memory # 2 (230). That is, it is recorded from the middle of the recording start word.
- the recording data is recorded in the memory # 1 (220) from the top of the recording start word, and the same content is recorded in the memory # 2 (230). Data is recorded from the middle of the recording start word.
- This is executed by writing data in the write control unit 212, and this writing can be performed, for example, by the following procedure similar to the procedure described in FIG.
- the write control unit 212 transfers write data to the buffer 214 to hold it.
- the write control unit 212 writes the data held in the buffer 214 to the memory # 1 (220).
- the data 303 which is recording data, is recorded from the beginning of the recording start word.
- the write control unit 212 adds bit data to the beginning and end of the write data so that the written record data is recorded from the middle of the recording start word.
- bit address # 0x8 which is a recording area shifted by 8 bits from the beginning of the recording start word as shown in FIG.
- the write control unit 212 adds bit data recorded in the area of address: # 0x0, bit address: # 0x0 to # 0x7 shown in c in the figure to the beginning of the write data held in the buffer 214. to add.
- the write control unit 212 adds bit data recorded in the area of address: 0x4, bit address: # 0x8 to # 0xF shown in c in the figure at the end of the write data held in the buffer 214. to add.
- These additional bit data need to be read from the memory # 2 (230) in advance.
- the write control unit 212 writes the write data, which has a size of 5 words as a result of the addition of data, to the area in the range of words # 1 to # 5 in the memory # 2 (230).
- the data 302 as the recording data can be recorded in the memory # 2 (230) from the middle of the word # 1 as the recording start word.
- FIG. 9 is a diagram illustrating data reading in the second embodiment of the present technology.
- “a” represents a case where a part of the data 303 written in the memory # 1 (220) is read.
- the master 100 processes data in units of 8 bits, and the necessary data is recorded in an area across the word boundary in the memory # 1 (220). This is the case.
- bit address: 0x8 to address: 0x2 bit address: 0x7 from the memory # 1 (220)
- the data of two words of the word # 2 and the word # 3 are read. There is a need.
- b in the figure represents a case where the same data as the above-mentioned data is read from the data 304 written in the memory # 2 (230).
- the above-described data in the memory # 1 (220) is recorded in the area of the bit address 0x0 to the bit address 0xF of the word # 3 in the memory # 2 (230).
- the reading time can be shortened compared with the case of reading out from the memory # 1 (220).
- the selection unit 215 selects a memory at the time of reading. For this selection, a method similar to the method described in the first embodiment of the present technology can be used. First, the physical addresses (word address + bit address) at the beginning and end of the area where the data related to reading in the memory # 1 (220) and the memory # 2 (230) are recorded are calculated, Calculate the position. Next, the number of read words in the memory # 1 (220) and the memory # 2 (230) is calculated from the calculated position of these words. Finally, the memory with the smaller number of read words calculated is selected.
- Read control unit 213 reads data from the selected memory and transfers it to buffer 214. Next, when excess data is included in the data transferred to the buffer 214, it is removed. Thereafter, read data from which excess data is removed is sent to the master 100.
- the same data is recorded in the two memories configured by the SRAM. At that time, data is recorded from the beginning of the recording start block in one memory, and data is recorded from the middle of the recording start block in the other memory. Then, by selecting and reading the memory having the smaller number of words required for reading, it is possible to shorten the data reading time in the system using the SRAM.
- the information processing system according to the third embodiment of the present technology can adopt the same configuration as the information processing system described with reference to FIG.
- the memory # 1 (220) and the memory # 2 (230) are image memories for recording image data, and are configured by SDRAM.
- FIG. 10 is a diagram illustrating a configuration example of the image memory according to the third embodiment of the present technology.
- the image memory shown in FIG. 2 is composed of a memory # 1 (220) and a memory # 2 (230) which are SDRAMs.
- a and b in the figure schematically represent the memory # 1 (220) and the memory # 2 (230), respectively.
- An area indicated by a rectangle in these drawings represents a recording area of one word.
- the memory # 1 (220) and the memory # 2 (230) are configured by two-dimensionally arranging the recording areas. In the two-dimensional arrangement, the horizontal direction represents an arrangement in the column address order in the SDRAM, and the vertical direction represents an arrangement in the row address order in the SDRAM.
- the recording area 221 disposed at the upper left of the memory # 1 (220) corresponds to a recording area having a value “0” for both the column address and the row address.
- the other recording areas start from the recording area 221 and are arranged in the order of column addresses in the right direction toward the drawing, and are arranged in the order of row addresses in the downward direction toward the drawing.
- these memories all assume 8 words as the burst length.
- data 305 (shaded area) is recorded from the head of the block of the memory # 1 (220).
- data 306 (shaded area) having the same content as the data 305 is recorded with a shift of 4 words from the top of the block of the memory # 2 (230).
- the configuration of the memory controller is the same as that of the memory controller 210 described with reference to FIG.
- the data corresponds to data in the range of column addresses 0x8 to 0x17 as shown in b in FIG. .
- the method for selecting the memory # 1 (220) and the memory # 2 (230) is the same as the method described in the first embodiment of the present technology, and thus the description thereof is omitted.
- the data read time can be shortened.
- two memories are used: a memory that records data from the beginning of the recording start block and a memory that records data from the middle of the recording start block.
- the memory with the smaller number of blocks required for reading is selected for reading.
- the data read time can be shortened in a system using an SDRAM or the like.
- the processing procedure described in the above embodiment may be regarded as a method having a series of these procedures, and a program for causing a computer to execute these series of procedures or a recording medium storing the program. You may catch it.
- a recording medium for example, a CD (Compact Disc), an MD (MiniDisc), a DVD (Digital Versatile Disc), a memory card, a Blu-ray disc (Blu-ray (registered trademark) Disc), or the like can be used.
- this technique can also take the following structures.
- a first memory in which a plurality of recording data is recorded from the top of a recording start block and accessed in units of blocks, which are accessed in units of blocks which are recording areas divided by a block size composed of a plurality of data.
- a selection unit that selects one of the first memory and the second memory as a reading target based on the number of the required blocks;
- a memory controller comprising: a read control unit that reads from either the first memory or the second memory based on the selection result.
- a plurality of recording data is written from the beginning of the recording start block of the first memory, and new recording data is generated by adding predetermined data to the beginning and end of the plurality of recording data.
- the memory controller according to (1) further including a write control unit that writes the new recording data from the top of the recording start block of the second memory.
- the first memory and the second memory are memories that perform burst transfer at the time of writing and reading,
- the data is word data,
- the data is bit data,
- the block size is a word size composed of a plurality of bit data,
- a first memory that is accessed in units of blocks, which are recording areas divided by a block size composed of a plurality of data, and records a plurality of recording data from the beginning of the recording start block;
- a second memory that is accessed in units of the block and records a plurality of the recording data from the middle of the recording start block; Either the first memory or the second memory based on the number of blocks required to read data included in the recorded data recorded in the first memory or the second memory
- a storage device comprising: a read control unit that reads from either the first memory or the second memory based on the selection result.
- a first memory that is accessed in units of blocks that are recording areas divided by a block size composed of a plurality of data and records a plurality of recording data from the beginning of the recording start block;
- a second memory that is accessed in units of the block and records a plurality of the recording data from the middle of the recording start block;
- a storage device comprising: a read control unit that reads from either the first memory or the second memory based on the selection result;
- An information processing system comprising: a master that accesses the data in the storage device.
- a selection procedure for selecting either the first memory or the second memory as a reading target based on the number of blocks required A memory control method comprising: a read control procedure for reading from either the first memory or the second memory based on the selection result.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Dram (AREA)
Abstract
Description
1.第1の実施の形態(SDRAMに適用した場合の例)
2.第2の実施の形態(SRAMに適用した場合の例)
3.第3の実施の形態(画像メモリ装置に適用した場合の例)
[情報処理システムの構成]
図1は、本技術の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システムは、マスタ100と、記憶装置200とを備える。
図2は、本技術の第1の実施の形態におけるメモリコントローラ210の構成例を示す図である。このメモリコントローラ210は、マスタインターフェース211と、書込み制御部212と、読出し制御部213と、バッファ214と、選択部215と、メモリインターフェース216と、バス219とを備える。
図3は、本技術の第1の実施の形態におけるデータの書込みを示す図である。同図におけるaは、メモリ#1(220)およびメモリ#2(230)におけるブロックと記録領域との関係を表したものである。同図におけるaの矩形により区切られた領域は1ワードの領域を表し、この矩形部分に記載された文字は各領域のアドレス(16ビット表記。ただし、スペースの関係上「0x」の記載を省略した。)を表している。なお、メモリ#1(220)およびメモリ#2(230)のバースト長は、8ワードを想定する。この場合、ブロックサイズも8ワードとなる。また、1ワードは、例えば、8ビットのデータとすることができる。このようなメモリ#1(220)およびメモリ#2(230)に対してデータを記録する。この記録されるデータを記録データと称する。
図4は、本技術の第1の実施の形態におけるデータの読出しを示す図である。同図におけるaは、メモリ#1(220)に書き込まれたデータ301の一部のデータを読み出す場合を表している。このデータは、アドレス0x7乃至0x10の領域に記録された10ワードのデータであり、ブロックによって分割された範囲と整合しない範囲に記録されたデータである。メモリ#1(220)からこのデータを読み出す場合には、ブロック#1乃至ブロック#3の3ブロックのデータを読み出す必要がある。一方、同図におけるbは、メモリ#2(230)に書き込まれたデータ302から上述のデータと同一内容のデータを読み出す場合を表している。メモリ#1(220)のアドレス0x7乃至0x10の領域に記録されたデータと同一内容のデータは、メモリ#2(230)のアドレス0xB乃至0x14の領域に記録されている。メモリ#2(230)からこのデータを読み出すには、ブロック#2およびブロック#3の2ブロックのデータの読出しを行えばよい。この場合、メモリ#2(230)から読み出すほうがメモリ#1(220)から読み出すよりも読出し時間を短縮することができる。
SBAddr1=floor(SAddr1/8)+1
EBAddr1=floor(EAddr1/8)+1
SBAddr2=floor(SAddr2/8)+1
EBAddr2=floor(EAddr2/8)+1
ただし、floorは、1の位を切り捨てる演算を表す。同図に挙げた例では、SBAddr1、EBAddr1、SBAddr2およびEBAddr2の値は、それぞれ「1」、「3」、「2」および「3」となる。
RB1=EBAddr1-SBAddr1+1
RB2=EBAddr2-SBAddr2+1
このメモリ#1(220)の読出しブロック数RB1およびメモリ#2(230)の読出しブロック数RB2のうち値が小さい方のメモリを読出し対象のメモリとする。同図の例では、メモリ#1(220)の読出しブロック数RB1が値「3」となり、メモリ#2(230)の読出しブロック数RB2が値「2」となる。RB1よりRB2の方が小さいため、メモリ#2(230)が読出し対象メモリとして選択される。このようにして、読出し時のメモリが選択される。
図5は、本技術の第1の実施の形態における書込み処理の処理手順の一例を示す図である。マスタから書込みコマンドが発行されると、メモリコントローラ210は、本処理を開始する。まず、メモリコントローラ210は、書込みコマンドに係る書込みデータをバッファ214に保持させる(ステップS901)。次に、メモリコントローラ210は、バッファ214に保持された書込みデータをメモリ#1(220)に転送して書込みを行わせる(ステップS902)。次に、メモリコントローラ210は、図3において前述したように、バッファ214に保持された書込みデータの先頭および末尾にデータを追加する(ステップS903)。次に、メモリコントローラ210は、データが追加された書込みデータをバッファ214からメモリ#2(230)に転送して書込みを行わせ(ステップS904)、書込み処理を終了する。
図6は、本技術の第1の実施の形態における読出し処理の処理手順の一例を示す図である。マスタから読出しコマンドが発行されると、メモリコントローラ210は、本処理を開始する。まず、メモリコントローラ210は、読出しコマンドの読出し先アドレスに基づいてメモリの選択を行う(ステップS960)。次に、メモリコントローラ210は、メモリ選択結果に基づいて、読出しを行う。メモリ#1(220)が選択された場合には(ステップS951:Yes)、メモリコントローラ210は、メモリ#1(220)からデータの読出しを行い(ステップS952)、読み出したデータをバッファ214に保持させる(ステップS953)。その後、ステップS956の処理に移行する。
図7は、本技術の第1の実施の形態におけるメモリ選択処理(ステップS960)の処理手順の一例を示す図である。メモリコントローラ210は、メモリ#1(220)における読出しに係るデータが記録されている領域の先頭の物理アドレスSBAddr1および末尾の物理アドレスEBAddr1を算出する(ステップS961)。同様に、メモリコントローラ210は、メモリ#2(230)における読出しに係るデータが記録されている領域の先頭の物理アドレスSBAddr2および末尾の物理アドレスEBAddr2を算出する(ステップS962)。次に、メモリコントローラ210は、メモリ#1(220)における読出しブロック数RB1を算出する(ステップS963)。同様に、メモリコントローラ210は、メモリ#2(230)における読出しブロック数RB2を算出する(ステップS964)。
上述の第1の実施の形態では、ブロックサイズをバースト長とし、バースト転送を行うSDRAMを想定していた。これに対し本技術の第2の実施の形態では、SRAMへの適用を想定する。この場合、ブロックサイズには、SRAMにおけるデータ長であるワードサイズが該当する。これにより、SRAMを使用する記憶装置においてもデータの読出し時間を短縮させることができる。
本技術の第2の実施の形態における記憶装置200は、図1において説明した記憶装置200におけるメモリ#1(220)およびメモリ#2(230)をSRAMにより構成されたメモリに置き換えた構成を採ることができる。このSRAMとしては、例えば、バースト転送を行わない形式のSRAMを使用することができる。このSRAMにおけるワードサイズを16ビットと想定する。上述のように、この場合のブロックサイズはワードサイズとなる。これ以外の記憶装置200の構成およびメモリコントローラ210の構成は、上述の第1の実施の形態と同様であるため、説明を省略する。
図8は、本技術の第2の実施の形態におけるデータの書込みを示す図である。同図におけるaは、メモリ#1(220)およびメモリ#2(230)におけるブロック(ワード)と記録領域との関係を表したものである。同図におけるaの矩形により区切られた領域は1ビットの領域を表し、この矩形部分に記載された文字は各ビットのビットアドレス(16ビット表記。ただし、スペースの関係上「0x」の記載を省略した。)を表している。
図9は、本技術の第2の実施の形態におけるデータの読出しを示す図である。同図におけるaは、メモリ#1(220)に書き込まれたデータ303の一部のデータを読み出す場合を表している。このような読出しが必要な場合としては、マスタ100が8ビット単位でデータの処理を行っており、必要となるデータが、メモリ#1(220)においては、ワードの境界をまたぐ領域に記録されている場合が該当する。メモリ#1(220)からアドレス:0x1、ビットアドレス:0x8乃至アドレス:0x2、ビットアドレス:0x7に記録されたデータを読み出す場合には、ワード#2およびワード#3の2ワード分のデータを読み出す必要がある。一方、同図におけるbは、メモリ#2(230)に書き込まれたデータ304から上述のデータと同一のデータを読み出す場合を表している。メモリ#1(220)における上述のデータは、メモリ#2(230)におけるワード#3のビットアドレス0x0乃至ビットアドレス0xFの領域に記録されている。メモリ#2(230)からこのデータを読み出す場合には、1ワード分のデータの読出しで足りるため、メモリ#1(220)から読み出す場合よりも読出し時間を短縮することができる。
上述の第1の実施の形態では、SDRAMによる記憶装置を想定していた。これに対し本技術の第3の実施の形態では、画像メモリ装置への適用を想定する。これにより、画像メモリ装置においてもデータの読出し時間を短縮させることができる。
本技術の第3の実施の形態における情報処理システムは、図1において説明した情報処理システムと同様の構成を採ることができる。ただし、メモリ#1(220)およびメモリ#2(230)は、画像データを記録する画像メモリであり、SDRAMにより構成される。
図10は、本技術の第3の実施の形態における画像メモリの構成例を示す図である。同図の画像メモリは、SDRAMであるメモリ#1(220)およびメモリ#2(230)により構成される。同図におけるaおよび同図におけるbは、それぞれメモリ#1(220)およびメモリ#2(230)を模式的に表したものである。これらの図における矩形で示された領域は、1ワードの記録領域を表している。メモリ#1(220)およびメモリ#2(230)は、この記録領域が2次元に配置されて構成されている。この2次元の配置のうち横方向はSDRAMにおけるカラムアドレス順の配列を表し、縦方向はSDRAMにおけるローアドレス順の配列を表している。メモリ#1(220)を例に挙げて説明すると、メモリ#1(220)の左上に配置されている記録領域221が、カラムアドレスおよびローアドレスともに値「0」の記録領域に該当する。他の記録領域は、記録領域221を起点として、図面に向かって右方向にカラムアドレスの順に配置され、図面に向かって下方向にローアドレスの順に配置されている。
このようなメモリ#1(220)およびメモリ#2(230)に対して同図におけるcに表した画像データが記録された場合を想定する。画像処理においては、画像データに設定された矩形領域であるマクロブロックを単位として画像データを処理する場合が多い。例えば、動きベクトル補償を行う際には、同図におけるcに表したように、マクロブロック309を設定してこのマクロブロック309と近似する画像を含むマクロブロックを検索する場合がある。このような場合に、マクロブロック309に含まれる画像のデータを画像メモリから読み出す必要が生じる。ここで、同図におけるaおよび同図におけるbに表した1ワードの記録領域に1画素分の画像データが記録されるものと想定する。マクロブロックのサイズを16×16画素とした場合には、同一のローアドレスにおいて16ワードのデータの読出しを行い、さらにこれを16ローアドレス分繰り返す必要が生じる。同図におけるaに表したように、メモリ#1(220)におけるこの読出しデータの範囲がカラムアドレス0x4乃至0x13の場合には、ブロック#1乃至ブロック#3の3ブロックの読出しが必要となる。
(1)複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリとについて前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御部と
を具備するメモリコントローラ。
(2)前記第1のメモリの前記記録開始ブロックの先頭から複数の記録データの書込みを行い、複数の前記記録データの先頭および末尾に所定のデータを追加することにより新たな記録データを生成して当該新たな記録データを前記第2のメモリの前記記録開始ブロックの先頭から書き込む書込み制御部をさらに具備する前記(1)に記載のメモリコントローラ。
(3)前記第1のメモリおよび前記第2のメモリは、書込みおよび読出しの際にバースト転送を行うメモリであり、
前記データは、ワードデータであり、
前記ブロックサイズは、前記バースト転送におけるバースト長である
前記(1)または(2)に記載のメモリコントローラ。
(4)前記データは、ビットデータであり、
前記ブロックサイズは、複数のビットデータからなるワードサイズであり、
前記ブロックは、ワードである
前記(1)または(2)に記載のメモリコントローラ。
(5)複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリと、
前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御部と
を具備する記憶装置。
(6)複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリと、
前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御部と
を備える記憶装置と、
前記記憶装置の前記データにアクセスするマスタと
を具備する情報処理システム。
(7)複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリとについて前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択手順と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御手順と
を具備するメモリの制御方法。
200 記憶装置
210 メモリコントローラ
211 マスタインターフェース
212 書込み制御部
213 読出し制御部
214 バッファ
215 選択部
216 メモリインターフェース
220 メモリ#1
230 メモリ#2
309 マクロブロック
Claims (7)
- 複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリとについて前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御部と
を具備するメモリコントローラ。 - 前記第1のメモリの前記記録開始ブロックの先頭から複数の記録データの書込みを行い、複数の前記記録データの先頭および末尾に所定のデータを追加することにより新たな記録データを生成して当該新たな記録データを前記第2のメモリの前記記録開始ブロックの先頭から書き込む書込み制御部をさらに具備する請求項1記載のメモリコントローラ。
- 前記第1のメモリおよび前記第2のメモリは、書込みおよび読出しの際にバースト転送を行うメモリであり、
前記データは、ワードデータであり、
前記ブロックサイズは、前記バースト転送におけるバースト長である
請求項1記載のメモリコントローラ。 - 前記データは、ビットデータであり、
前記ブロックサイズは、複数のビットデータからなるワードサイズであり、
前記ブロックは、ワードである
請求項1記載のメモリコントローラ。 - 複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリと、
前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御部と
を具備する記憶装置。 - 複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリと、
前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御部と
を備える記憶装置と、
前記記憶装置の前記データにアクセスするマスタと
を具備する情報処理システム。 - 複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第1のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第2のメモリとについて前記第1のメモリまたは前記第2のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方を読出し対象として選択する選択手順と、
前記選択の結果に基づいて前記第1のメモリまたは前記第2のメモリのいずれか一方から読出しを行う読出し制御手順と
を具備するメモリの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/519,465 US20170242589A1 (en) | 2014-10-24 | 2015-10-06 | Memory controller, storage device, information processing system, and memory controlling method |
JP2016555162A JP6750502B2 (ja) | 2014-10-24 | 2015-10-06 | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-216767 | 2014-10-24 | ||
JP2014216767 | 2014-10-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016063716A1 true WO2016063716A1 (ja) | 2016-04-28 |
Family
ID=55760760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/078266 WO2016063716A1 (ja) | 2014-10-24 | 2015-10-06 | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170242589A1 (ja) |
JP (1) | JP6750502B2 (ja) |
WO (1) | WO2016063716A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003223358A (ja) * | 2002-01-31 | 2003-08-08 | Sony Corp | 記憶制御装置および記憶制御方法、並びにプログラムおよび記録媒体 |
JP2007272551A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置 |
WO2012124251A1 (ja) * | 2011-03-16 | 2012-09-20 | パナソニック株式会社 | データ処理装置、データ処理方法及びデータ共有システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392689B1 (en) * | 2010-05-24 | 2013-03-05 | Western Digital Technologies, Inc. | Address optimized buffer transfer requests |
US8990518B2 (en) * | 2011-08-04 | 2015-03-24 | Arm Limited | Methods of and apparatus for storing data in memory in data processing systems |
GB2512899B (en) * | 2013-04-10 | 2015-06-03 | Openwave Mobility Inc | A method, apparatus and computer program for adding content to a data container |
-
2015
- 2015-10-06 WO PCT/JP2015/078266 patent/WO2016063716A1/ja active Application Filing
- 2015-10-06 US US15/519,465 patent/US20170242589A1/en not_active Abandoned
- 2015-10-06 JP JP2016555162A patent/JP6750502B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003223358A (ja) * | 2002-01-31 | 2003-08-08 | Sony Corp | 記憶制御装置および記憶制御方法、並びにプログラムおよび記録媒体 |
JP2007272551A (ja) * | 2006-03-31 | 2007-10-18 | Nec Corp | キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置 |
WO2012124251A1 (ja) * | 2011-03-16 | 2012-09-20 | パナソニック株式会社 | データ処理装置、データ処理方法及びデータ共有システム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016063716A1 (ja) | 2017-08-03 |
US20170242589A1 (en) | 2017-08-24 |
JP6750502B2 (ja) | 2020-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5351145B2 (ja) | メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 | |
JP2013142947A (ja) | 記憶制御装置、記憶装置および記憶制御装置の制御方法 | |
JP5137374B2 (ja) | メモリマッピング方法及び装置 | |
JP6159478B2 (ja) | データ書き込み方法及びメモリシステム | |
US9313358B2 (en) | Image processing apparatus | |
JP5035412B2 (ja) | メモリコントローラ及びそれを使用したメモリシステム | |
US8181075B2 (en) | Error correction device and recording and reproducing device | |
JP6750502B2 (ja) | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 | |
JP5526641B2 (ja) | メモリコントローラ | |
TWI540433B (zh) | 用來存取記憶體的電路及相關的存取方法 | |
US10380029B2 (en) | Method and apparatus for managing memory | |
US20140181439A1 (en) | Memory system | |
WO2017073127A1 (ja) | メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法 | |
JP2015053095A (ja) | メモリ、メモリシステムおよびメモリの制御方法 | |
JP2016095734A (ja) | メモリコントローラ、記憶装置、情報処理システムおよびそれらにおける制御方法 | |
KR101727407B1 (ko) | 렌즈 왜곡 교정 장치 및 동작 방법 | |
US10782886B2 (en) | Semiconductor device, data processing system, data reading method, and data reading program | |
US10719440B2 (en) | Semiconductor device and memory access method | |
JP5546356B2 (ja) | メモリ装置及び信号処理装置 | |
JP2019200592A (ja) | メモリ制御回路、出力回路、メモリ制御回路の制御方法および出力回路の制御方法 | |
CN105577569A (zh) | 一种基于fc-av协议的提高ddr2带宽利用率的发送视频数据存储方法 | |
JP2020077246A (ja) | データ転送装置、撮像装置およびデータ転送方法 | |
JP2012137944A (ja) | メモリアクセス装置 | |
JP4821410B2 (ja) | メモリ制御方法、メモリ制御装置、画像処理装置およびプログラム | |
JPH08179894A (ja) | メモリシステム及びディスク記録再生装置に適用されるメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15852828 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016555162 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15519465 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15852828 Country of ref document: EP Kind code of ref document: A1 |