KR101628341B1 - 고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자 - Google Patents
고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자 Download PDFInfo
- Publication number
- KR101628341B1 KR101628341B1 KR1020100056087A KR20100056087A KR101628341B1 KR 101628341 B1 KR101628341 B1 KR 101628341B1 KR 1020100056087 A KR1020100056087 A KR 1020100056087A KR 20100056087 A KR20100056087 A KR 20100056087A KR 101628341 B1 KR101628341 B1 KR 101628341B1
- Authority
- KR
- South Korea
- Prior art keywords
- solid state
- data
- state memory
- page
- memory elements
- Prior art date
Links
- 239000007787 solid Substances 0.000 title claims abstract description 53
- 230000015654 memory Effects 0.000 claims abstract description 112
- 230000003139 buffering effect Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 10
- 238000003491 array Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10629—Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B2020/10935—Digital recording or reproducing wherein a time constraint must be met
- G11B2020/10944—Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/60—Solid state media
- G11B2220/61—Solid state media wherein solid state memory is used for storing A/V content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
고체 상태 메모리 소자 세트의 어레이로의 실시간 스트리밍을 위한 소자로서, 상기 소자는 개별적인 데이터 레이트의 데이터 스트림으로부터 데이터를 병렬로 수신하기 위한 수신 수단, 수신된 데이터를 버퍼링하기 위한 입력 캐시, 상기 입력 버퍼로부터 상기 고체 상태 메모리 소자 세트로 데이터를 전송하기 위한 버스 시스템, 및 상기 버스 시스템을 동적으로 제어하기 위해 페이지-수신-시간(t_r), 페이지-기입-시간(wrt_tm), 데이터량(p) 및 개별적인 데이터 레이트를 사용하기 위해 적용된 제어기를 포함하며, 제 1 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 제 1 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송되고, 적어도 제 2 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 다른 제 2 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송된다.
Description
본 발명은 고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 실행하는 것과 관련된 기술 분야에서 실시된다.
디지털 비디오 카메라는, 예를 들어 CMOS(complementary metal-oxide semiconductor) 또는 CCD(charge coupled device)와 같은 이미지 캡처링 소자에 의해서, 소정의 프레임 레이트(frame rate)와 프레임 해상도로 프레임을 캡처한다. 프레임 레이트와 프레임 해상도에 따라 캡처 데이터 레이트(capture data rate)가 결정된다.
전문적 애플리케이션을 위해서는 프레임 레이트와 해상도는 높을 필요가 있다. 또한, 라이브 제작 캡처 또는 디지털 영화촬영법의 작업 흐름에 있어 압축은 잘 수용되지 않는다. 따라서, 전문 비디오 장치의 캡처 데이터 레이트 및 이러한 전문 비디오 장치에 의해 제작되는 데이터 스트림의 데이터 레이트(data rate)도 높다.
캡처된 프레임은 저장될 필요가 있다. 실시간 저장을 위해, 저장 데이터 레이트(storage data rate)는 캡처 데이터 레이트를 만족해야 한다. 하지만, 고체 상태 메모리(예를 들어, 플래시 메모리, 상 변화 랜덤 액세스 메모리 또는 자기-저항 랜덤 액세스 메모리)와 같이 흔히 사용되는 저속 메모리 소자는 전문 애플리케이션에 적용되는 상기 높은 캡처 데이터 레이트보다 상당히 더 낮은 저장 데이터 레이트를 갖는다.
따라서, 몇개의 고체 상태 메모리 소자를 포함한 고체 상태 메모리 소자 세트가 사용된다. 상기 메모리 소자 세트 내의 고체 상태 메모리 소자는 병렬로 데이터를 제공받는다. 이에 따라, 메모리 소자 세트의 저장 데이터 레이트는 상기 메모리 세트 내에 포함된 고체 상태 메모리 소자의 축적된 저장 데이터 레이트와 같다.
동기화 프로세스를 위해 고체 상태 메모리 소자 세트는, 예를 들어 비디오 카메라의 이미지 캡처 소자로부터 데이터 스트림을 수신하기 위한 수신 수단을 포함하는, 실시간 스트리밍을 위한 소자 내에 수용된다. 동기화를 위해, 수신된 데이터는 예를 들어 DRAM(dynamic random access memory)와 같은 캐시 버퍼에서 버퍼링되고, 버스(bus)에 의해 고체 상태 메모리 소자 세트 중의 하나에 전송된다.
고체 상태 메모리 소자는, 메모리 유닛이라고도 불리고 일명 페이지라 불리는 고정된 데이터량 유닛에 데이터를 기입하기 위하여 적용되는, 하나 또는 그 이상의 고체 상태 메모리 다이(solid state momory dies)를 통상 포함한다. 이를 위해, 각각의 메모리 다이는, 페이지-수신-시간(page-receiving-time, t_r)만큼 걸리는 일 버스트 내에 1 페이지에 대응하는 데이터량이 캐시 버퍼로부터 복사되는, 페이지 버퍼(예를 들어 SRAM)를 구비하거나 포함할 수 있다. 1 페이지를 복사한 후, 고체 상태 메모리 다이는 페이지-기입-시간(page-writing-time, wrt_tm) 동안 접근 불가능하게 되는데, 상기 페이지-기입-시간은 페이지 버퍼로부터 수신된 페이지를 고체 상태 메모리 유닛에 기입하는 데 걸리는 시간이다.
비디오 제작은 몇개의 데이터 스트림, 예를 들어 오디오 스트림과 비디오 스트림, 또는 3D 비디오의 경우, 메인 비디오 스트림과 하나 이상의 위성 비디오 스트림, 또는 메인 비디오 스트림과 깊이 데이터 스트림을 더 제작하며, 상기 데이터 스트림의 각각은 개별적인 데이터 레이트를 수반한다.
만약, 개별적인 데이터 레이트(individual data rate)가 미리 알려져 있고 고정되어 있으면, 관련 버스 제어 방법뿐만 아니라 최적화된 하드웨어 배치도 쉽게 이루어질 수 있다.
하지만, 만약 데이터 레이트 또는 그 변화가 이미 알려져 있지 않거나 만약 심지어 처리될 스트림의 수도 알려져 있지 않다면, 대응되는 버스 제어 방법뿐만 아니라 실시간 스트리밍을 위한 소자에 대한 최적화된 하드웨어 배치에 관한 상세한 내용은 본 기술분야에서 아직까지도 공지되지 않은 미해결된 문제이다.
본 발명이 해결하고자 하는 과제는 종래 기술의 문제점을 개선할 수 있는 소자 및 방법을 제공하는 데 있다.
본 발명은 고체 상태 메모리 소자 세트의 어레이로의 실시간 스트리밍을 위한 소자를 제안하며, 상기 소자는 개별적인 데이터 레이트의 데이터 스트림으로부터 데이터를 병렬로 수신하기 위한 수신 수단, 수신된 데이터를 버퍼링하기 위한 입력 캐시, 상기 입력 버퍼로부터 상기 고체 상태 메모리 소자 세트로 데이터를 전송하기 위한 버스 시스템, 및 상기 버스 시스템을 동적으로 제어하기 위해 페이지-수신-시간(t_r), 페이지-기입-시간(wrt_tm), 데이터량(data amount, p) 및 개별적인 데이터 레이트를 사용하기 위해 적용된 제어기를 포함하며, 제 1 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 제 1 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송되고, 적어도 제 2 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 다른 제 2 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송된다.
더욱 구체적으로는, 본 발명은 청구항 1의 특징을 포함하는 고체 상태 메모리 소자 세트의 어레이로의 실시간 스트리밍을 위한 소자를 제안한다.
플레이-아웃(play-out) 또는 판독(read) 모드일 경우, 서브세트 당 정렬된 데이터 스트림으로부터의 이점이 있다. 고체 상태 메모리 소자 세트에는 판독 페널티 사이클(read-out penalty cycles)이 거의 없기 때문에, 이에 따른 소자들은 적당한 칩셋 라인을 매핑함으로써 재정렬될 수 있고, 데이터는 단일 데이터 스트림에 대하여 최대한의 버스 속도로 제공될 수 있다.
실시간 스트리밍 소자의 추가적인 바람직한 실시예의 특징은 종속항에 규정되어 있다.
본 발명은 또한 고체 상태 메모리 소자 세트의 어레이에 2 이상의 데이터 스트림을 스트리밍하기 위한 실시간 스트리밍 소자에 사용되기에 적합한 버스 제어방법을 제안한다.
본 발명에 따르면, 종래의 문제점을 효과적으로 개선할 수 있는 소자 및 방법을 제공할 수 있다.
본 발명의 예시적인 실시예가 도면에 도시되어 있고 이하의 기재내용에서 더욱 자세하게 설명된다. 상기 예시적인 실시예는 단지 본 발명을 명료하게 하기 위하여 설명되며, 청구항에 정의되어 있는 본 발명의 범위 및 사상을 제한하지는 않는다.
도 1은 다중-스트림 기록 아키텍처의 예시적인 플래시-다이 메트릭스(Flash-Die matrix)을 나타낸다.
도 2는 상기 예시적인 고체 상태 메모리 소자 어레이에 기입하는 방법에 관한 흐름도를 예시적으로 나타낸 것이다.
도 3은 진보적인 실시간 스트리밍 소자를 사용하는 플레이-아웃을 예시적으로 나타낸 것이다.
도 4는 다중-스트림 기록 아키텍처의 또 다른 예시적인 플래시-다이 매트릭스를 나타낸 것이다.
도 5는 다중-스트림 기록 아키텍처의 또 다른 예시적인 메모리 세트 어레이를 나타낸 것이다.
도 1은 다중-스트림 기록 아키텍처의 예시적인 플래시-다이 메트릭스(Flash-Die matrix)을 나타낸다.
도 2는 상기 예시적인 고체 상태 메모리 소자 어레이에 기입하는 방법에 관한 흐름도를 예시적으로 나타낸 것이다.
도 3은 진보적인 실시간 스트리밍 소자를 사용하는 플레이-아웃을 예시적으로 나타낸 것이다.
도 4는 다중-스트림 기록 아키텍처의 또 다른 예시적인 플래시-다이 매트릭스를 나타낸 것이다.
도 5는 다중-스트림 기록 아키텍처의 또 다른 예시적인 메모리 세트 어레이를 나타낸 것이다.
도 4는 각각 메모리 소자 세트의 매트릭스인 플래시 메모리의 매트릭스 또는 어레이를 포함하는 예시적인 플래시 기록 소자를 나타낸다. 메모리 소자 및 메모리의 개념은 호환적으로 사용될 것이다.
상기 멀티-스트림 기록 아키텍처는 낸드(NAND) 플래시 메모리 대신에 페이지-기반 기입에 의존하는 다른 코체 상태 메모리를 사용할 수도 있다. 도 4에 도시된 실시예에서는, 8개의 순차적으로 연결된 플래시 메모리를 각각 갖는 32 병렬 플래시 버스가 있다. 그에 따라, 오늘날에는 하나 이상의 플래시-다이가 하나의 플래시 소자 패키지 내에 병합되기 때문에, 하나의 물리적인 플래시 소자는 하나 이상의 플래시 메모리를 포함할 수 있다. 도 4에 도시된 바와 같이, 메모리 소자 세트가 각 버스 상에 동일한 주문된 플래시 메모리를 갖도록 정의할 수 있다. 도 5에서 하나의 메모리 소자 세트가 각각 1,125 Gbit/s의 예시적인 기입 데이터 대역폭을 제공하는 것으로 가정한다('가상 매핑(virtual mapping)' 참조). 8개의 메모리 소자 세트는 플래시 기술 라이트-백 페널티 사이클(write-back penalty cycles)을 완전히 감당하도록 상기 버스를 지원한다. 그 결과 총 데이터 대역폭은 8×1,125 Gbit/s = 9 Gbit/s 가 된다.
본 실시예는 2 Gbit/s 데이터 레이트의 한 입력 데이터 스트림과 1 Gbit/s 데이터 레이트의 4 입력 스트림을 각각 나타낸다. 8초 후 샘플링이 가정된다. 그러면, 입력 캐시가 채워지고 도 5에 따라 가상 매핑이 실행될 수 있다. 2개의 데이터 메모리 소자 세트가 카메라 스트림 1의 데이터 대역폭에 의해 할당되고 하나의 메모리 소자 세트가 카메라 스트림 2 내지 5에 대해 각각 할당되도록 정의할 수 있다. 2개의 메모리 소자 세트는 사용되지 않는다.
각각의 메모리 장치 세트에 기입할 때, 동일한 메모리 소자 세트에 다시 기입하기 전에 이 메모리 장치 세트가 내부 라이트-백 페널티 사이클을 필요로 한다는 것을 아는 것은 중요하다. 상기 언급된 실시예에서, 아키텍처는, 다른 모든 7 메모리 소자 세트가 기입될 때 첫번째 언급된 소자 세트가 다시 기입을 위해 준비하도록 하는 방식으로 설계되며, 이에 따라 모든 8 메모리 소자 세트에 걸친 지속적인 기입이 강제된다. 또한, 플래시 메모리가 전체 플래시 페이지 크기의 데이터에만 라이트-백을 실시한다는 점을 알아야 한다. 라이트-백 동작에서의 이러한 제한 때문에, 전체 페이지의 데이터만을 플래시 메모리 소자 세트에 제공하기 위하여 소형 입력 캐시가 도입되어야 한다. 이러한 입력 캐시는 도 4에 예시적으로 도시된 바와 같이 전역적(global)으로 설계될 수 있다. 또는, 그것은 각각의 플래시 메모리 상에서 로컬적으로 실행될 수도 있다. 메모리 소자 세트 당 고정 페이지 길이의 라이트-백 데이터를 허용하는 입력 데이터 스트림의 부적합(miss-fitting) 대역폭 때문에, 대역폭에 관련된 헤드룸(headroom)이 예견되어야 한다(도 5, f_por). f_por는 메모리 스케줄링에 따라 소비된다. f_por의 크기는 스트림의 수와 그들의 대역폭 할당에 따라 변한다. f_por의 가장 나쁜 경우는 메모리 소자 세트 데이터 대역폭의 10%로 측정된다. 하지만, 실제 메모리 소자 세트에 대해 가상 모델을 매핑하는 경우, 메모리 소자 세트의 전체 영역이 사용될 수 있다.
기록 단계 동안, 상이한 데이터 스트림이 버스 상에서 특정 메모리 소자 세트로 바람직하게 정렬된다. 본 실시예에서는, 7(f_por때문에, 10% 비트 레이트로 7 + 1)개의 독립적인 입력 스트림까지 기록 가능하다. 모두는 9 Gbit/s까지의 데이터 대역폭을 공유한다. 대역폭 할당의 동작은 원칙적으로 충분히 동적이지만, 입력 스트림 당 메모리 소자 세트 사용은 매 1,125 Gbit/s 대역폭 부분 요구를 증가시킨다. 이미 언급된 바와 같이 메모리 소자 세트 카운트는 8로 제한된다.
더 많은 메모리 소자 세트를 버스 상에 배치함으로써 다중 자유도(multiple degrees of freedom)가 구현될 수 있다. 여기서, 타이밍(timing)은 완화될 것이고 더 많은 독립적인 데이터 스트림이 기록될 수 있다.
플레이-아웃 또는 기입 모드의 경우, 이러한 아키텍처적인 접근은 메모리 소자 세트 당 정렬된 데이터 스트림으로부터 혜택을 받을 수 있다. 플래시 메모리에는 판독 페널티 사이클(read-out penalty cycles)이 거의 없기 때문에, 이에 따른 메모리 소자 세트는 적당한 칩셋 라인을 매핑함으로써 재정렬될 수 있고, 따라서 데이터는 단일 데이터 스트림에 대하여 최대한의 버스 속도(여기서는 9 Gbit/s)로 제공될 수 있으며, 병렬적인 몇몇 스트림은 요구에 따라 정렬될 수 있다.
도 2는 예시적인 고체 상태 메모리 소자 어레이에 기입하는 것을 예시적으로 도시한 것이다. 포인터(sched_ptr)는 버스 상의 모든 플래시-소자를 연속적으로 어드레싱(addressing)하고 있다. 시작점은 F_Dev #0이다. F_Dev #N이 도달되면, F_Dev #0으로 다시 되돌아 간다. sched_ptr이 지시하고 있는 각각의 플래시-소자에 대하여, 일치하는 캐시 상에서 데이터 임계값(data shreshold)이 도달되는지 여부가 체크된다(C_Tres). 만약 그런 경우에는, 선행 데이터 기입 전송(preceded data write transfer)에 의해 결국 초기화되는 내부 라이트-백 시간(Wrt_tm)을 상기 언급된 플래시-소자가 경과했는지 여부가 또한 체크된다. 만약 라이트-백 시간이 이미 경과하면, 1 플래시 페이지 크기의 데이터의 양이 캐시로부터 플래시로 옮겨질 수 있다. 만약 상기에서 체크된 조건 중 어느 것이라도 틀리면, 버스 상의 다음 플래시-소자를 어드레싱하기 위하여 포인터는 증가된다.
Dmax는 예시적인 실시간 스트리밍 소자가 처리할 수 있는 최대 입력 데이터 레이트를 나타내도록 하고, P는 1 페이지 내에 포함된 데이터량을 나타내도록 하고, n은 한 메모리 소자 세트 내에 포함된 고체 상태 메모리 소자의 개수를 나타내도록 한다. 또한, Tr은 메모리 소자 세트에 n페이지까지 버스트 복사(burst copying)하기 위해 요구되는 시간을 나타내고, Tw는 메모리 소자 세트의 메모리 단위(memory units)에 상기 버스트 복사된 n페이지를 기입하기 위해 요구되는 시간을 나타내도록 한다. 이에 따라, 메모리 소자 세트는 데이터 레이트 DSet를 갖는다.
그리고, 메모리 소자 세트에 n페이지까지 버스트 복사하기 위해 요구되는 시간 Tr에 대한 다음의 등식은
이고, 소자 세트의 개수 N은 다음 식에 따라 선택된다.
다음의 조건이 만족되는 한, 상기 예시적인 실시간 스트리밍 소자는 데이터 레이트 D0 ... Dk-1 의 k개의 스트림 S0 ... Sk-1 까지를 처리할 수 있다.
이와 같이, 최대(at most) k=(N-1)가 병렬적으로 처리될 수 있다.
i>j에 대하여 Di≥Dj 라고 가정한다. 스트림에 대하여 개별적인 캐시 버퍼링 용량 C0 ... Ck 이 할당된다.
ti는 스트림 Si 로부터의 데이터량 p를 캐시 버퍼에 축적하기 위해 요구되는 시간을 나타내도록 한다. 또한, 보조 변수 qk-i (i=0,...,k)와 Q가
및
와 같이 정의되도록 한다.
최고 데이터 레이트를 갖는 스트림으로부터의 버스트 복사 데이터, Sk 는시간시간 tk'보다 더 먼저 시작될 수 없다.
따라서, 1 페이지의 데이터량이 버스트 복사에 대해 요구되기 때문에, 스트림 Sk-1로부터 수신되는 데이터의 버스트 복사는 tk보다 더 먼저 시작될 수 없고 다만 tk-1 - Tr 이 경과하기까지 지연될 수 있다. 이에 따라, 스트림 Sk-1로부터의 버스트 복사 데이터는 t'k-1보다 더 먼저 시작될 수 없다.
그리고, 스트림 Sk-i로부터의 버스트 복사 데이터는 t'k-i보다 더 먼저 시작될 수 없다.
또한, 스트림 S0으로부터의 버스트 복사 데이터는 t'0보다 더 먼저 시작될 수 없다.
이에 따라, 최소 전체 캐시 버퍼링 용량 Cmin은 다음과 같이 결정될 수 있다.
Dk≥Di, 및
라는 정의에 의해, 최소 전체 캐시 버퍼링 용량 Cmin의 상한은 다음과 같이 결정될 수 있다.
다중 스트림의 대역폭 할당은, 버스-카운트(bus-count) n, 즉 병렬 버스의 개수에 걸쳐 버스 N 당 플래시 메모리 소자 세트의 양에 의해 분리되는, 제공된 최대 대역폭의 동일 부분(portions)에서 행해질 수 있다. 최대 이용가능한 대역폭은 버스 상의 모든 예시적인 플래시 메모리의 인터리빙(interleaving)에 의해 전체적으로 커버된다.
버스 당 인터리빙된 예시적인 플래시 메모리 소자 세트의 양이 N인 경우, 일 부분(portion)의 크기에 대한 상한은 다음과 같이 결정될 수 있다.
상기 제안된 아키텍처에 따르면, N 스트림은 (N-1) 부분을 할당할 수 있다. 하나의 추가적인 대역폭 부분 N이 스케줄링에 의해 동적으로 소모될 수 있기 때문에, 이론적으로는 상기 부분의 나머지는 할당을 위해서도 사용가능하지만, 상기 추가적인 부분의 일부를 사용하고 있지 않는 경우 실제로는 스케줄링 알고리즘은 더욱 더 간단하고 통상적인 것이 된다.
Claims (3)
- 고체 상태 메모리 소자 세트의 어레이로의 데이터의 실시간 스트리밍을 위한 소자로서,
각각의 메모리 소자 세트는 N개의 병렬적인 어드레스 가능한 고체 상태 메모리 소자(F_DEV#0 ... F_DEV#n)를 포함하고, 각각의 고체 상태 메모리 소자는 페이지-수신-시간(t_r) 동안 데이터량(p)을 버퍼링하기 위하여 적용되는 페이지 버퍼를 포함하고, 각각의 고체 상태 메모리 유닛은 페이지-기입-시간(wrt_tm)(Wrt_tm#0) 동안 상기 페이지 버퍼로부터 상기 고체 상태 메모리로 상기 데이터량(p)을 기입하기 위하여 적용되며,
상기 실시간 스트리밍을 위한 소자는,
- 각각이 개별적인 데이터 레이트로 수신되는 수개의 데이터 스트림(스트림 1, 스트림 2, 스트림 3)으로부터 병렬적으로 데이터를 수신하기 위한 수신 수단으로서, 수신된 데이터 스트림을 버퍼링하기 위한 입력 캐시(Input-Cache)를 포함하는, 상기 수신 수단,
- 상기 입력 캐시로부터 상기 고체 상태 메모리 소자 세트로 데이터를 전송하기 위하여 적용된 N개의 병렬 버스의 버스 시스템으로서, 상기 메모리 소자 세트 중의 하나에 각각이 속하는 다수의 고체 상태 메모리 소자에 상기 버스들의 각각이 접속되어, 상기 N개의 병렬 버스의 각각이 메모리 소자 세트의 고체 상태 메모리 소자들 중의 하나에 접속되는 것인, 상기 버스 시스템, 및
- 제 1 데이터 스트림(스트림 1)으로부터 수신된 데이터가 상기 고체 상태 메모리 소자 세트의 어레이 내의 메모리들의 제 1 서브세트를 나타내는 1개 이상의 고체 상태 메모리 소자 세트에만 전송되고, 제 2 데이터 스트림(스트림 2, 스트림 3)으로부터 수신된 데이터가 상기 고체 상태 메모리 소자 세트의 어레이 내의 다른 메모리들의 제 2 서브세트를 나타내는 1개 이상의 다른 고체 상태 메모리 소자 세트에만 전송되도록 상기 버스 시스템을 제어하기 위한 제어기를 포함하되,,
상기 제어기는, 상기 버스 시스템이 데이터를 상기 고체 상태 메모리 소자 세트 중의 하나에 전송하고 있는지를 동적으로 제어하기 위하여, 상기 페이지-수신-시간(t_r), 상기 페이지-기입-시간(wrt_tm), 상기 데이터량(p) 및 상기 개별적인 데이터 레이트를 사용하도록 또한 구성되고,
상기 버스 시스템은 상기 고체 상태 메모리 소자 세트에 순차적으로 액세스하기 위하여 적용되고,
상기 제어기는, 현재 액세스된 메모리 소자 세트에 대하여,
- 상기 현재 액세스된 메모리 소자 세트로의 데이터의 마지막 전송 이후 페이지-기입 시간이 경과했는지의 여부,
- 만약 그렇다면, 상기 현재 액세스된 메모리 소자 세트가 상기 제 1 또는 제 2 서브세트에 속하는지의 여부,
- 결정된 서브세트에 대응하는 상기 데이터 스트림으로부터 상기 입력 캐시에 축적된 수신된 데이터가 적어도 한 페이지에 달하는지의 여부,
- 만약 그렇다면, 상기 제어기가 상기 버스 시스템으로 하여금 상기 대응하는 데이터 스트림으로부터 상기 입력 캐시에 축적된 적어도 한 페이지의 데이터를 상기 현재 액세스된 메모리 소자 세트로 전송하도록 하고,
- 만약 그렇지 않다면, 상기 제어기가 상기 버스 시스템으로 하여금 다음 고체 상태 메모리 소자 세트에 순차적으로 액세스하도록 하는 것을,
결정하기 위하여 적용되는 것인, 고체 상태 메모리 소자 세트의 어레이로의 데이터의 실시간 스트리밍을 위한 소자.
- 실시간 스트리밍 소자의 버스 시스템을 제어하기 위한 버스 제어 방법으로서,
상기 버스 시스템은, 고체 상태 메모리 소자 세트 어레이로 둘 이상의 데이터 스트림을 스트리밍하기 위하여, 입력 캐시로부터의 데이터를 상기 고체 상태 메모리 소자 세트의 어레이로 전송하기 위하여 적용되고,
상기 고체 상태 메모리 소자 세트는 상기 버스에 의해 순차적으로 액세스되며,
각각의 메모리 소자 세트는 N개의 병렬적인 어드레스 가능한 고체 상태 메모리 소자를 포함하고, 각각의 고체 상태 메모리 소자는 페이지-수신-시간(t_r) 동안 데이터량(p)을 버퍼링하기 위하여 적용되는 페이지 버퍼를 포함하고, 각각의 고체 상태 메모리 유닛은 페이지-기입-시간(wrt_tm) 동안 상기 페이지 버퍼로부터 상기 고체 상태 메모리로 상기 데이터량(p)을 기입하기 위하여 적용되며,
상기 메모리 소자 세트 중의 하나에 각각이 속하는 다수의 고체 상태 메모리 소자에 상기 버스들의 각각이 접속되어, 상기 N개의 병렬 버스의 각각이 메모리 소자 세트의 고체 상태 메모리 소자들 중의 하나에 접속되고,
상기 방법은,
- 현재 액세스된 고체 상태 메모리 소자 세트에 대하여, 상기 액세스된 메모리 소자 세트로의 데이터의 마지막 전송 이후 페이지-기입 시간이 경과했는지의 여부를 결정하는 단계(D2),
- 만약 그렇다면, 제 1 데이터 스트림을 저장하도록 지정된 제 1 서브세트와 적어도 제 2 데이터 스트림을 저장하도록 지정된 제 2 서브세트에 대하여, 상기 현재 액세스된 메모리 소자 세트가 상기 고체 상태 메모리 소자 세트의 어레이의 상기 제 1 또는 제 2 서브세트에 속하는지의 여부를 결정하는 단계,
- 상기 결정된 서브세트가 지정된 상기 데이터 스트림으로부터 상기 입력 캐시에 축적된 수신된 데이터가 적어도 한 페이지에 달하는지의 여부를 결정하는 단계(D1),
- 만약 그렇다면, 상기 버스 시스템으로 하여금 상기 결정된 서브세트가 지정된 상기 데이터 스트림으로부터 상기 입력 캐시에 축적된 적어도 한 페이지의 데이터를 상기 현재 액세스된 고체 상태 메모리 소자 세트로 전송하도록 하는 단계(S2), 및
- 상기 버스 시스템으로 하여금 다음 고체 상태 메모리 소자 세트에 액세스하도록 하는 단계(S3)를 포함하는, 버스 제어 방법. - 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09305546A EP2264604A1 (en) | 2009-06-15 | 2009-06-15 | Device for real-time streaming of two or more streams in parallel to a solid state memory device array |
EP09305546.5 | 2009-06-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100134524A KR20100134524A (ko) | 2010-12-23 |
KR101628341B1 true KR101628341B1 (ko) | 2016-06-08 |
Family
ID=41277457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100056087A KR101628341B1 (ko) | 2009-06-15 | 2010-06-14 | 고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8417846B2 (ko) |
EP (2) | EP2264604A1 (ko) |
JP (1) | JP5721970B2 (ko) |
KR (1) | KR101628341B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2418584A1 (en) * | 2010-08-13 | 2012-02-15 | Thomson Licensing | Method and apparatus for storing at least two data streams into an array of memories, or for reading at least two data streams from an array of memories |
US20140006537A1 (en) * | 2012-06-28 | 2014-01-02 | Wiliam H. TSO | High speed record and playback system |
US9875031B2 (en) | 2015-09-30 | 2018-01-23 | Western Digital Technologies, Inc. | Data retention management for data storage device |
US10162521B2 (en) | 2015-09-30 | 2018-12-25 | Western Digital Technologies, Inc. | Media region management based on storage hints for a data storage device |
US11113287B1 (en) * | 2016-05-12 | 2021-09-07 | Teradata Us, Inc. | Data stream management system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131191A1 (en) | 2001-11-26 | 2003-07-10 | Broadlogic Network Technologies, Inc. | Multi-stream access scheme for high speed access and recording using a hard disk drive |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586264A (en) * | 1994-09-08 | 1996-12-17 | Ibm Corporation | Video optimized media streamer with cache management |
US5712976A (en) * | 1994-09-08 | 1998-01-27 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
JP3575862B2 (ja) * | 1995-03-16 | 2004-10-13 | 株式会社東芝 | ストリームスケジューリング方法及び装置 |
GB2299421A (en) * | 1995-03-29 | 1996-10-02 | Sony Uk Ltd | Processing real-time data streams |
US5592612A (en) * | 1995-04-28 | 1997-01-07 | Birk; Yitzhak | Method and apparatus for supplying data streams |
JP3577794B2 (ja) * | 1995-07-18 | 2004-10-13 | ソニー株式会社 | データ復号化装置 |
JPH0981497A (ja) * | 1995-09-12 | 1997-03-28 | Toshiba Corp | 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 |
JP2001502458A (ja) * | 1997-07-02 | 2001-02-20 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データストリーム供給システム |
US6134596A (en) * | 1997-09-18 | 2000-10-17 | Microsoft Corporation | Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates |
US6167496A (en) * | 1998-02-18 | 2000-12-26 | Storage Technology Corporation | Data stream optimization system for video on demand |
US6330645B1 (en) * | 1998-12-21 | 2001-12-11 | Cisco Technology, Inc. | Multi-stream coherent memory controller apparatus and method |
KR100746842B1 (ko) * | 1999-03-23 | 2007-08-09 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 멀티미디어 서버 |
US6366970B1 (en) * | 1999-04-01 | 2002-04-02 | Ravisent Technologies, Inc. | Optimal handling and manipulation of high-speed streaming media in a computing device |
US7046805B2 (en) * | 2001-03-20 | 2006-05-16 | Digeo, Inc. | System and method for efficiently storing and processing multimedia content |
US7386129B2 (en) * | 2001-05-30 | 2008-06-10 | Digeo, Inc. | System and method for multimedia content simulcast |
US7093277B2 (en) * | 2001-05-30 | 2006-08-15 | Digeo, Inc. | System and method for improved multi-stream multimedia transmission and processing |
KR20020097454A (ko) * | 2001-06-21 | 2002-12-31 | 엘지전자 주식회사 | 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체 |
US7463737B2 (en) * | 2001-08-15 | 2008-12-09 | Digeo, Inc. | System and method for conditional access key encryption |
JP2003186627A (ja) * | 2001-12-18 | 2003-07-04 | Nec Corp | 磁気テープ装置データパックアップ制御方式 |
US7463598B1 (en) * | 2002-01-17 | 2008-12-09 | Occam Networks | Multi-stream jitter buffer for packetized voice applications |
US20030233396A1 (en) * | 2002-01-31 | 2003-12-18 | Digital Software Corporation | Method and apparatus for real time storage of data networking bit streams |
JP2003230089A (ja) * | 2002-01-31 | 2003-08-15 | Toshiba Corp | 情報記憶媒体及び情報記録装置 |
US7388932B1 (en) * | 2002-12-30 | 2008-06-17 | Broadlogic Network Technologies, Inc. | Fully parallel multi-channel demodulator |
US7995652B2 (en) * | 2003-03-20 | 2011-08-09 | Utc Fire & Security Americas Corporation, Inc. | Systems and methods for multi-stream image processing |
US7809914B2 (en) * | 2004-11-05 | 2010-10-05 | Commvault Systems, Inc. | Methods and system of pooling storage devices |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
EP1712985A1 (en) * | 2005-04-15 | 2006-10-18 | Deutsche Thomson-Brandt Gmbh | Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus |
WO2007009239A1 (en) * | 2005-07-19 | 2007-01-25 | March Networks Corporation | Hierarchical data storage |
US7809994B2 (en) * | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
US8041990B2 (en) * | 2007-06-28 | 2011-10-18 | International Business Machines Corporation | System and method for error correction and detection in a memory system |
JP4875024B2 (ja) * | 2008-05-09 | 2012-02-15 | 株式会社東芝 | 画像情報伝送装置 |
US7941591B2 (en) * | 2008-07-28 | 2011-05-10 | CacheIQ, Inc. | Flash DIMM in a standalone cache appliance system and methodology |
US8156089B2 (en) * | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
-
2009
- 2009-06-15 EP EP09305546A patent/EP2264604A1/en not_active Withdrawn
-
2010
- 2010-06-03 EP EP10164826A patent/EP2264606B1/en not_active Not-in-force
- 2010-06-14 JP JP2010135282A patent/JP5721970B2/ja active Active
- 2010-06-14 KR KR1020100056087A patent/KR101628341B1/ko active IP Right Grant
- 2010-06-15 US US12/815,636 patent/US8417846B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131191A1 (en) | 2001-11-26 | 2003-07-10 | Broadlogic Network Technologies, Inc. | Multi-stream access scheme for high speed access and recording using a hard disk drive |
Also Published As
Publication number | Publication date |
---|---|
KR20100134524A (ko) | 2010-12-23 |
EP2264604A1 (en) | 2010-12-22 |
EP2264606B1 (en) | 2012-09-05 |
JP2010287239A (ja) | 2010-12-24 |
EP2264606A1 (en) | 2010-12-22 |
US8417846B2 (en) | 2013-04-09 |
US20100318689A1 (en) | 2010-12-16 |
JP5721970B2 (ja) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101628341B1 (ko) | 고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자 | |
JPH09261688A (ja) | 画像復号装置 | |
US9122578B2 (en) | Solid state memory with reduced number of partially filled pages | |
JP2006524858A (ja) | メモリに記憶されたデータに圧縮を使用するデータ処理装置 | |
US20020131765A1 (en) | Digital video recorder | |
JP2005084907A (ja) | メモリ帯域制御装置 | |
US8285932B2 (en) | Mass storage system with improved usage of buffer capacity | |
KR101635196B1 (ko) | 플래시 메모리소자에 정보 데이터를 기입할 때 기입 오류를 처리하기 위한 방법 및 장치 | |
US8548300B2 (en) | Method and device for recording of frames | |
KR101068829B1 (ko) | 촬상 장치 및 이미지 회전 처리 방법 | |
JP4126959B2 (ja) | データ転送システム、およびアクセスモニタ装置 | |
US11086534B2 (en) | Memory data distribution based on communication channel utilization | |
US20100030978A1 (en) | Memory controller, memory control method, and image processing device | |
CA2802666C (en) | Image processing device | |
US10146679B2 (en) | On die/off die memory management | |
US20140009478A1 (en) | Image processing apparatus and control method | |
US7899957B1 (en) | Memory controller having a buffer for providing beginning and end data | |
JP2006109224A (ja) | 撮像装置 | |
JP2006099895A (ja) | メモリ処理装置 | |
JP2009003632A (ja) | 画像処理システム | |
JP2016082264A (ja) | 記録装置 | |
EP1513072A2 (en) | Method for multibank memory scheduling | |
JP2009104529A (ja) | 情報処理装置、音声付動画記録装置及び情報処理方法 | |
JPH08204990A (ja) | 画像メモリ装置 | |
JPH01237990A (ja) | 半導体メモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |