WO2009027398A1 - Mass storage system with improved usage of buffer capacity - Google Patents
Mass storage system with improved usage of buffer capacity Download PDFInfo
- Publication number
- WO2009027398A1 WO2009027398A1 PCT/EP2008/061148 EP2008061148W WO2009027398A1 WO 2009027398 A1 WO2009027398 A1 WO 2009027398A1 EP 2008061148 W EP2008061148 W EP 2008061148W WO 2009027398 A1 WO2009027398 A1 WO 2009027398A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- mass storage
- real
- storage array
- time
- Prior art date
Links
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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0608—Saving storage space on storage systems
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Definitions
- the present invention relates to a mass storage system with improved usage of buffer capacity, and more specifically to a mass storage system for real-time data storage with an embedded controller.
- Embedded stand-alone systems designed for storing real-time data streams with a high data rate coming directly from a data stream source can generally be split up into two kinds of data processing:
- Non real-time data storage such as file system information managed by an embedded processor.
- Both data paths have to be connected to an I/O controller, which implements the I/O communication with storage units forming a mass storage array.
- a high guaranteed data rate is reached by parallelization of single storage units such as hard disks, optical disks, or solid state based memories.
- the above types of storage units often introduce significant latency at the start of a transfer. Since latency is a problem especially when real-time behavior is needed, memory with no or at least no significant access latency such as SRAM and/or SDRAM is introduced. Other requirements, particularly for mobile applications, are that the whole storage system has to be as small as possible and to have a reduced power consumption.
- this object is achieved by a mass storage system having a first data path between a real-time data interface and a mass storage array, the first data path including a data buffer without access latency, and a second data path between an embedded processor and the mass storage array, wherein the data buffer without access latency is also used as a data buffer for non real-time data transfers between the embedded processor and the mass storage array.
- the invention proposes a multi-purpose use of the 'no access latency' memory unit in the real-time data path. This is a more efficient use of the memory and additionally a more efficient way to transfer non real-time data between an embedded processor and a mass storage array consisting of single storage devices.
- the invention is not only applicable to systems designed for real-time data. It can likewise be used in other environments where a high guaranteed data rate is needed and latency is a problem.
- the 'no access latency' memory is integrated into the real-time data path as a realtime data buffer to compensate any latencies of the target mass storage array.
- the mass storage array consists of two or more single storage units. Each of the storage units is controlled by an I/O controller. Since also the embedded processor has to access and modify data on the mass storage array, there is a second path implemented between the real-time data buffer and the main memory of the processor. Therefore, a data switch is implemented for switching between data from or to the real-time interface and data from or to the embedded processor. Using the necessary real-time data buffer also for non real-time data transfers between the embedded processor and the mass storage array saves an extra buffer for non real-time transfers. Therefore, space and power consumption is reduced.
- the hardware blocks are preferably configured by the embedded processor through a control line to be in the required mode.
- the embedded processor transfers data from and to the mass storage array by initiating a direct memory access transfer (DMA transfer) between its main memory and the real-time data buffer.
- DMA transfer direct memory access transfer
- access of the embedded processor to the mass storage array via the real-time data buffer is faster than accessing the mass storage array directly.
- the mass storage system has a data processing block for splitting up a data stream and sending it in parallel to the two or more storage units. This allows to easily implement RAID or RAID-like systems.
- one or more thresholds can be set for the 'no access latency' data buffer, the one or more thresholds controlling the instant when data are streamed out of the data buffer to the mass storage array, to the real-time interface, and to the main memory. In this way the performance behavior of the different data targets can be adapted.
- Fig. 1 shows an exemplary mass storage system according to the invention.
- Fig. 1 shows the architectural design of a stand-alone mass storage system 1 with an embedded processor 2 for real-time data streams in form of a block diagram.
- a real-time interface block 3 is connected to a real-time data source or sink (not shown) , i.e. a camera or a display.
- the embedded processor 2 reacts on user input like 'record video' or 'playback video'.
- the embedded processor 2 configures the hardware blocks to be in the requested mode through control connections 4 (indicated by the dotted lines) .
- control connections 4 indicated by the dotted lines
- a simple 'mode' register is modified by the embedded processor 2 in a write access, which configures the hardware blocks.
- the embedded processor 2 For a real-time data streaming demand the embedded processor 2 first configures the hardware blocks.
- a data switch 5 selects the real-time interface for data streaming.
- a plurality of I/O control units 6 receive information about the direction (read or write) and the storage address of the real-time data stream. The latter is independent of the direction and the kind of data stream.
- the main difference between real-time data and non real-time data is the large amount of real-time data that is to be expected in comparison to the usually rather small amount of non real-time data. In order to cope with this difference the number of bytes to be transferred is included in the read/write command to the I/O control units 6.
- the I/O control units 6 allow to read/write an amount of data that is sufficiently large to ensure that the embedded processor 2 is able to generate and send the next read/write command. This is necessary to guarantee the real-time data rate, as a relatively large amount of time passes between two read/write commands of the embedded processor 2.
- the amount of data allowed to be read/written with a single read/write command is rather small, as often only a few data have to be transferred.
- the real-time data stream passes the real-time interface 3, the data switch 5, a real-time data buffer 7 and a data processing unit 8, where the real-time data stream is split up and sent in parallel to the I/O control units 6.
- the I/O control units 6 write the data to a plurality of storage units 9 of a mass storage array 10. As long as the storage units 9 of the mass storage array 10 are not able to receive data, the real-time data stream is stored into the real- time data buffer 7.
- the data transfer to the mass storage array 10 continues when the storage units 9 are ready to receive data. For example, such latencies arise if hard disks have to reposition their read/write heads. Due to the mechanical operations a data transfer is paused. Only after finishing the positioning procedure the hard disks are able to run at their media transfer data rate.
- the data are read in parallel from the storage units 9 and are written into the real-time data buffer 7 after passing the data processing unit 8, where the single data streams are merged into one real-time data stream.
- the transmission of the real-time data stream through the realtime interface 3 to a data sink is preferably initiated only when the real-time data buffer 7 is full. This measure helps to compensate for latencies produced by the mass storage array 10, and to fulfill the real-time requirements. This behavior is advantageously changeable by setting a threshold, which will be explained later.
- a non real-time data transfer is executed.
- the main difference to a real-time data stream is that the real-time interface 3 is logically replaced by the processor's main memory 11. Data are transferred from the main memory 11 to the real-time data buffer 7 in case data are written to the mass storage array 10, or from the real-time data buffer 7 to the main memory 11 in case data are read from the storage array 10. Therefore, a direct memory access (DMA) transfer is initiated by the embedded processor 2 between the main memory 11 and the real-time data buffer 7.
- DMA direct memory access
- the data transfer from the real-time data buffer 7 to the mass storage array 10 is automatically executed. Consequently, after initializing the DMA transfer the embedded processor 2 is free to work on other tasks until a message of a successful or unsuccessful DMA transfer to the mass storage array 10 is received.
- latencies of the mass storage array 10 are compensated for by the real-time data buffer 7 as if a real-time data stream was processed. This offers a higher performance than direct single word accesses of the embedded processor 2 to the mass storage array 10.
- a further improvement is that the control mechanism for a non real-time data stream is the same as for a real-time data stream.
- the data switch 6 has to be configured differently to replace the realtime interface 3 with the main memory 11.
- the amount of data to be written with a single read/write command is modified.
- the amount of data per command is relatively small, but can likewise be adapted to the needs of the embedded processor 2, so that each DMA transfer is performed with a single command to the I/O control units 6.
- a parallelization of the data is executed in the data processing unit 8, allowing to write to, respectively to read from, all single storage units 9 of the mass storage array 10 in parallel.
- Other RAID or RAID-like systems can be implemented as well.
- Thresholds of the real-time data buffer 7 can be dynamically configured by the embedded processor 2, preferably even during two accesses to the mass storage array 10 or when different mass storage units 9 are added to the mass storage array 10.
- the thresholds control the instant when data are streamed out of the real-time data buffer 7 to the mass storage array 10, to the real-time interface 3, or to the main memory 11. In this way the performance behavior of the different data targets can be adapted. For example, a DMA transfer from the real-time data buffer 7 to the main memory 11 is first initiated when there are at least a number 'n' of bytes available in the real-time data buffer 7, the number 'n' being determined by a special threshold.
- the main memory 11 is locked by the DMA transfer as short as possible and the embedded processor 2 has only to perform its tasks without its main memory 11 for the same short time.
- the dynamic modification of the thresholds allows to optimally adapt the system to different types of mass storage units 9 or to different types of data accesses, such as data streaming or transmission of smaller data blocks. For example, for some types of solid state disks a pause in the data transfer at an unfavorable instant leads to a drop in the data rate. During recording this is compensated by first collecting data in the real-time data buffer 7 before transferring them to the mass storage units 9. Though this reduces the latencies that can be compensated, the overall data rate is increased.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/733,338 US8285932B2 (en) | 2007-08-31 | 2008-08-26 | Mass storage system with improved usage of buffer capacity |
EP08787494A EP2183663B1 (en) | 2007-08-31 | 2008-08-26 | Mass storage system with improved usage of buffer capacity |
CN2008801051342A CN101796479B (en) | 2007-08-31 | 2008-08-26 | Mass storage system with improved usage of buffer capacity |
KR20107003596A KR101491687B1 (en) | 2007-08-31 | 2008-08-26 | Mass storage system with improved usage of buffer capacity |
JP2010522347A JP5244909B2 (en) | 2007-08-31 | 2008-08-26 | Mass storage system with improved buffer capacity utilization |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07115446.2 | 2007-08-31 | ||
EP07115446 | 2007-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009027398A1 true WO2009027398A1 (en) | 2009-03-05 |
Family
ID=39944446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2008/061148 WO2009027398A1 (en) | 2007-08-31 | 2008-08-26 | Mass storage system with improved usage of buffer capacity |
Country Status (7)
Country | Link |
---|---|
US (1) | US8285932B2 (en) |
EP (1) | EP2183663B1 (en) |
JP (1) | JP5244909B2 (en) |
KR (1) | KR101491687B1 (en) |
CN (1) | CN101796479B (en) |
TW (1) | TWI461909B (en) |
WO (1) | WO2009027398A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410870B (en) * | 2010-03-26 | 2013-10-01 | Novatek Microelectronics Corp | Computer system architecture |
KR102238652B1 (en) * | 2014-11-12 | 2021-04-09 | 삼성전자주식회사 | Data storage devce, method thereof, and method for operating data processing system having the same |
CN104579575B (en) * | 2015-01-23 | 2018-09-14 | 合肥联宝信息技术有限公司 | A kind of method and device of embedded controller safety communication |
CN107491266A (en) * | 2016-06-13 | 2017-12-19 | 恩智浦美国有限公司 | Mass-storage system and block date storage method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1046981A1 (en) * | 1997-12-17 | 2000-10-25 | Matsushita Electric Industrial Co., Ltd. | Magnetic disk apparatus and method of data transfer |
US6430660B1 (en) * | 1999-05-21 | 2002-08-06 | International Business Machines Corporation | Unified memory hard disk drive system |
US20060015682A1 (en) * | 2004-07-15 | 2006-01-19 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive having real time performance improvement |
EP1777614A1 (en) * | 2005-10-17 | 2007-04-25 | Hitachi, Ltd. | Storage system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996032674A2 (en) * | 1995-04-13 | 1996-10-17 | Cirrus Logic, Inc. | Semiconductor memory device for mass storage block access applications |
US20010047473A1 (en) * | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
US7039770B1 (en) * | 2002-03-05 | 2006-05-02 | Juniper Networks, Inc. | Low latency request dispatcher |
US7350059B2 (en) * | 2004-05-21 | 2008-03-25 | Via Technologies, Inc. | Managing stack transfers in a register-based processor |
US7523327B2 (en) * | 2005-03-05 | 2009-04-21 | Intel Corporation | System and method of coherent data transfer during processor idle states |
WO2007023975A1 (en) * | 2005-08-22 | 2007-03-01 | Ssd Company Limited | Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus |
JP4671353B2 (en) * | 2005-12-14 | 2011-04-13 | 株式会社日立製作所 | Storage apparatus and control method thereof |
US20080301376A1 (en) * | 2007-05-31 | 2008-12-04 | Allison Brian D | Method, Apparatus, and System Supporting Improved DMA Writes |
WO2009013877A1 (en) * | 2007-07-20 | 2009-01-29 | Panasonic Corporation | Memory controller, memory card, and nonvolatile memory system |
-
2008
- 2008-08-01 TW TW097129145A patent/TWI461909B/en not_active IP Right Cessation
- 2008-08-26 JP JP2010522347A patent/JP5244909B2/en not_active Expired - Fee Related
- 2008-08-26 EP EP08787494A patent/EP2183663B1/en not_active Not-in-force
- 2008-08-26 WO PCT/EP2008/061148 patent/WO2009027398A1/en active Application Filing
- 2008-08-26 CN CN2008801051342A patent/CN101796479B/en not_active Expired - Fee Related
- 2008-08-26 KR KR20107003596A patent/KR101491687B1/en not_active IP Right Cessation
- 2008-08-26 US US12/733,338 patent/US8285932B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1046981A1 (en) * | 1997-12-17 | 2000-10-25 | Matsushita Electric Industrial Co., Ltd. | Magnetic disk apparatus and method of data transfer |
US6430660B1 (en) * | 1999-05-21 | 2002-08-06 | International Business Machines Corporation | Unified memory hard disk drive system |
US20060015682A1 (en) * | 2004-07-15 | 2006-01-19 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive having real time performance improvement |
EP1777614A1 (en) * | 2005-10-17 | 2007-04-25 | Hitachi, Ltd. | Storage system |
Also Published As
Publication number | Publication date |
---|---|
JP5244909B2 (en) | 2013-07-24 |
JP2010537339A (en) | 2010-12-02 |
TW200910086A (en) | 2009-03-01 |
KR20100054134A (en) | 2010-05-24 |
CN101796479B (en) | 2012-04-18 |
CN101796479A (en) | 2010-08-04 |
US8285932B2 (en) | 2012-10-09 |
EP2183663B1 (en) | 2012-10-10 |
US20100211738A1 (en) | 2010-08-19 |
EP2183663A1 (en) | 2010-05-12 |
TWI461909B (en) | 2014-11-21 |
KR101491687B1 (en) | 2015-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3062336C (en) | Apparatus and method for controlling data acceleration | |
US8140747B2 (en) | Operating method for a memory subsystem and devices for executing the operating method | |
KR102145401B1 (en) | Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters | |
KR20090019593A (en) | Ecc control circuit and multi channel memory system icluding the same | |
US20120278539A1 (en) | Memory apparatus, memory control apparatus, and memory control method | |
JP2015136073A (en) | Recorder, imaging apparatus, control method and program of recorder | |
US8285932B2 (en) | Mass storage system with improved usage of buffer capacity | |
US7809877B2 (en) | Host apparatus for controlling memory cards which minimizes interruption of writing to memory cards | |
US11150809B2 (en) | Memory controller and storage device including the same | |
US11194493B2 (en) | Data storage system capable of using high speed channel to access data, and using low speed channel to manage data exchanging, copying, and moving | |
US9990142B2 (en) | Mass storage system and method of storing mass data | |
US20100125704A1 (en) | Storage control apparatus and storage system | |
US20190187901A1 (en) | Memory system and operating method thereof | |
WO2017090517A1 (en) | Software storage unit, backup method, and recording medium on which backup control program is recorded | |
JP4622871B2 (en) | Data processing system, access control method, apparatus thereof, and program thereof | |
KR20150083558A (en) | Method for processing data on storage device and storage device | |
CN102063269B (en) | Method and system for realizing communication of double controllers of disk array | |
KR20050004157A (en) | Data transfer unit with support for multiple coherency granules | |
US20070174738A1 (en) | Disk device, method of writing data in disk device, and computer product | |
JPH076093A (en) | Storage controller | |
JPH08179894A (en) | Memory system, and memory system applied to disk recording and reproducing device | |
JP2009017201A (en) | Data recording device | |
KR20080025231A (en) | Device having shared memory and method for displaying data | |
JP2007026125A (en) | Recording and reproducing apparatus | |
JP2004199720A (en) | Disk array subsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200880105134.2 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08787494 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008787494 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20107003596 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12733338 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2010522347 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |