KR20100134524A - 고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자 - Google Patents

고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자 Download PDF

Info

Publication number
KR20100134524A
KR20100134524A KR1020100056087A KR20100056087A KR20100134524A KR 20100134524 A KR20100134524 A KR 20100134524A KR 1020100056087 A KR1020100056087 A KR 1020100056087A KR 20100056087 A KR20100056087 A KR 20100056087A KR 20100134524 A KR20100134524 A KR 20100134524A
Authority
KR
South Korea
Prior art keywords
solid state
data
state memory
memory elements
page
Prior art date
Application number
KR1020100056087A
Other languages
English (en)
Other versions
KR101628341B1 (ko
Inventor
토마스 브룬
마이클 드렉슬러
올리버 캄펜켈
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20100134524A publication Critical patent/KR20100134524A/ko
Application granted granted Critical
Publication of KR101628341B1 publication Critical patent/KR101628341B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/44004Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Memory System (AREA)

Abstract

고체 상태 메모리 소자 세트의 어레이로의 실시간 스트리밍을 위한 소자로서, 상기 소자는 개별적인 데이터 레이트의 데이터 스트림으로부터 데이터를 병렬로 수신하기 위한 수신 수단, 수신된 데이터를 버퍼링하기 위한 입력 캐시, 상기 입력 버퍼로부터 상기 고체 상태 메모리 소자 세트로 데이터를 전송하기 위한 버스 시스템, 및 상기 버스 시스템을 동적으로 제어하기 위해 페이지-수신-시간(t_r), 페이지-기입-시간(wrt_tm), 데이터량(p) 및 개별적인 데이터 레이트를 사용하기 위해 적용된 제어기를 포함하며, 제 1 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 제 1 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송되고, 적어도 제 2 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 다른 제 2 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송된다.

Description

고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자{Device for real-time streaming of two or more streams in parallel to a solid state memory device array}
본 발명은 고체 상태 메모리 소자 어레이에 병렬적으로 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는 다중-스트림 기록 아키텍처의 또 다른 예시적인 메모리 세트 어레이를 나타낸 것이다.
도 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를 갖는다.
Figure pat00001
그리고, 메모리 소자 세트에 n페이지까지 버스트 복사하기 위해 요구되는 시간 Tr에 대한 다음의 등식은
Figure pat00002
이고, 소자 세트의 개수 N은 다음 식에 따라 선택된다.
Figure pat00003
다음의 조건이 만족되는 한, 상기 예시적인 실시간 스트리밍 소자는 데이터 레이트 D0 ... Dk-1 의 k개의 스트림 S0 ... Sk-1 까지를 처리할 수 있다.
Figure pat00004
이와 같이, 최대(at most) k=(N-1)가 병렬적으로 처리될 수 있다.
i>j에 대하여 Di≥Dj 라고 가정한다. 스트림에 대하여 개별적인 캐시 버퍼링 용량 C0 ... Ck 이 할당된다.
Figure pat00005
ti는 스트림 Si 로부터의 데이터량 p를 캐시 버퍼에 축적하기 위해 요구되는 시간을 나타내도록 한다. 또한, 보조 변수 qk-i (i=0,...,k)와 Q가
Figure pat00006
Figure pat00007
와 같이 정의되도록 한다.
최고 데이터 레이트를 갖는 스트림으로부터의 버스트 복사 데이터, Sk 는시간시간 tk'보다 더 먼저 시작될 수 없다.
Figure pat00008
따라서, 1 페이지의 데이터량이 버스트 복사에 대해 요구되기 때문에, 스트림 Sk-1로부터 수신되는 데이터의 버스트 복사는 tk보다 더 먼저 시작될 수 없고 다만 tk-1 - Tr 이 경과하기까지 지연될 수 있다. 이에 따라, 스트림 Sk-1로부터의 버스트 복사 데이터는 t'k-1보다 더 먼저 시작될 수 없다.
Figure pat00009
그리고, 스트림 Sk-i로부터의 버스트 복사 데이터는 t'k-i보다 더 먼저 시작될 수 없다.
Figure pat00010
또한, 스트림 S0으로부터의 버스트 복사 데이터는 t'0보다 더 먼저 시작될 수 없다.
Figure pat00011
이에 따라, 최소 전체 캐시 버퍼링 용량 Cmin은 다음과 같이 결정될 수 있다.
Figure pat00012

Dk≥Di, 및
Figure pat00013
라는 정의에 의해, 최소 전체 캐시 버퍼링 용량 Cmin의 상한은 다음과 같이 결정될 수 있다.
Figure pat00014
다중 스트림의 대역폭 할당은, 버스-카운트(bus-count) n, 즉 병렬 버스의 개수에 걸쳐 버스 N 당 플래시 메모리 소자 세트의 양에 의해 분리되는, 제공된 최대 대역폭의 동일 부분(portions)에서 행해질 수 있다. 최대 이용가능한 대역폭은 버스 상의 모든 예시적인 플래시 메모리의 인터리빙(interleaving)에 의해 전체적으로 커버된다.
버스 당 인터리빙된 예시적인 플래시 메모리 소자 세트의 양이 N인 경우, 일 부분(portion)의 크기에 대한 상한은 다음과 같이 결정될 수 있다.
Figure pat00015
상기 제안된 아키텍처에 따르면, N 스트림은 (N-1) 부분을 할당할 수 있다. 하나의 추가적인 대역폭 부분 N이 스케줄링에 의해 동적으로 소모될 수 있기 때문에, 이론적으로는 상기 부분의 나머지는 할당을 위해서도 사용가능하지만, 상기 추가적인 부분의 일부를 사용하고 있지 않는 경우 실제로는 스케줄링 알고리즘은 더욱 더 간단하고 통상적인 것이 된다.

Claims (3)

  1. 고체 상태 메모리 소자 세트의 어레이로의 실시간 스트리밍을 위한 소자로서,
    각각의 세트는 n 개의 병렬적인 어드레스 가능한 고체 상태 메모리 소자를 포함하고, 각각의 고체 상태 메모리 소자는 페이지-수신-시간(t_r) 동안 데이터량(p)을 버퍼링하기 위하여 적용되는 페이지 버퍼를 각각 포함하는 하나 또는 그 이상의 고체 상태 메모리 유닛을 포함하고, 각각의 고체 상태 메모리 유닛은 페이지-기입-시간(wrt_tm) 동안 상기 페이지 버퍼로부터 상기 고체 상태 메모리로 상기 데이터량(p)을 기입하기 위하여 적용되며,
    상기 실시간 스트리밍을 위한 소자는
    - 각각이 개별적인 데이터 레이트로 수신되는 최대(at most) k 데이터 스트림으로부터 병렬적으로 데이터를 수신하기 위한 수신 수단,
    - 수신된 데이터를 버퍼링하기 위한 입력 캐시,
    - 상기 입력 버퍼로부터 상기 고체 상태 메모리 소자 세트로 데이터를 전송하기 위하여 적용된 n개의 병렬 버스의 버스 시스템, 및
    - 상기 버스 시스템을 제어하기 위한 제어기를 포함하되,
    제 1 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 제 1 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송되고, 적어도 제 2 데이터 스트림으로부터 수신된 데이터는 상기 고체 상태 메모리 소자 세트의 어레이의 다른 제 2 서브세트에 포함된 고체 상태 메모리 소자 세트에만 전송되며,
    상기 제어기는, 상기 버스 시스템이 데이터를 상기 고체 상태 메모리 소자 세트 중의 어느 것에 전송하고 있는지를 동적으로 제어하기 위하여, 상기 페이지-수신-시간(t_r), 상기 페이지-기입-시간(wrt_tm), 상기 데이터량(p) 및 상기 개별적인 데이터 레이트를 사용하도록 또한 적용되는,
    고체 상태 메모리 소자 세트의 어레이로의 실시간 스트리밍을 위한 소자.
  2. 제 1항에 있어서,
    상기 버스 시스템은 상기 고체 상태 메모리 소자 세트에 순차적으로 액세스하기 위하여 적용되고,
    상기 제어기는 현재 액세스된 메모리 소자 세트에 대하여
    - 상기 현재 액세스된 메모리 소자 세트로의 데이터의 마지막 전송 이후 페이지-기입 시간이 경과했는지 여부,
    - 만약 그렇다면, 상기 현재 액세스된 메모리 소자 세트가 상기 제 1 또는 제 2 서브세트에 속하는지,
    - 상기 결정된 서브세트에 대응하는 상기 데이터 스트림으로부터 상기 버퍼에 축적된 수신된 데이터가 적어도 한 페이지에 달하는지 여부,
    - 만약 그렇다면, 상기 제어기는 상기 버스 시스템으로 하여금 상기 대응하는 데이터 스트림으로부터 상기 버퍼에 축적된 적어도 한 페이지의 데이터를 상기 현재 액세스된 메모리 소자 세트로 전송하도록 하고,
    - 만약 그렇지 않다면 상기 제어기는 상기 버스 시스템으로 하여금 다음 고체 상태 메모리 소자 세트에 순차적으로 액세스하도록 하는 것을,
    결정하기 위하여 적용되는, 고체 상태 메모리 소자 세트의 어레이로의 실시간 스트리밍을 위한 소자.
  3. 실시간 스트리밍 소자의 버스 시스템을 제어하기 위한 버스 제어 방법으로서,
    상기 버스 시스템은, 고체 상태 메모리 소자 세트 어레이로 둘 이상의 데이터 스트림을 스트리밍하기 위하여, 입력 버퍼로부터의 데이터를 상기 고체 상태 메모리 소자 세트의 어레이로 전송하기 위하여 적용되고,
    상기 고체 상태 메모리 소자 세트는 상기 버스에 의해 순차적으로 액세스되며,
    상기 버스 제어 방법은
    - 현재 액세스된 고체 상태 메모리 소자 세트에 대하여, 상기 액세스된 메모리 소자 세트로의 데이터의 마지막 전송 이후 페이지-기입 시간이 경과했는지 여부를 결정하는 단계,
    - 만약 그렇다면, 제 1 데이터 스트림을 저장하도록 지정된 제 1 서브세트와 적어도 제 2 데이터 스트림을 저장하도록 지정된 제 2 서브세트에 대하여, 상기 현재 액세스된 메모리 소자 세트가 상기 고체 상태 메모리 소자 세트의 어레이의 상기 제 1 또는 제 2 서브세트에 속하는지를 결정하는 단계,
    - 상기 결정된 서브세트가 지정된 상기 데이터 스트림으로부터 상기 버퍼에 축적된 수신된 데이터가 적어도 한 페이지에 달하는지 여부를 결정하는 단계,
    - 만약 그렇다면, 상기 버스 시스템으로 하여금 상기 결정된 서브세트가 지정된 상기 데이터 스트림으로부터 상기 버퍼에 축적된 적어도 한 페이지의 데이터를 상기 현재 액세스된 고체 상태 메모리 소자 세트로 전송하도록 하는 단계, 및
    - 상기 버스 시스템으로 하여금 다음 고체 상태 메모리 소자 세트에 액세스하도록 하는 단계를 포함하는, 버스 제어 방법.
KR1020100056087A 2009-06-15 2010-06-14 고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자 KR101628341B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09305546.5 2009-06-15
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

Publications (2)

Publication Number Publication Date
KR20100134524A true KR20100134524A (ko) 2010-12-23
KR101628341B1 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)

* Cited by examiner, † Cited by third party
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
US10162521B2 (en) 2015-09-30 2018-12-25 Western Digital Technologies, Inc. Media region management based on storage hints for a data storage device
US9875031B2 (en) 2015-09-30 2018-01-23 Western Digital Technologies, Inc. Data retention management for data storage device
US11113287B1 (en) * 2016-05-12 2021-09-07 Teradata Us, Inc. Data stream management system

Citations (2)

* Cited by examiner, † Cited by third party
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
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
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 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法
EP0923758A2 (en) * 1997-07-02 1999-06-23 Koninklijke Philips Electronics N.V. System for supplying data streams
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
JP2002540545A (ja) * 1999-03-23 2002-11-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチメディアサーバー
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
US7093277B2 (en) * 2001-05-30 2006-08-15 Digeo, Inc. System and method for improved multi-stream multimedia transmission and processing
US7386129B2 (en) * 2001-05-30 2008-06-10 Digeo, Inc. System and method for multimedia content simulcast
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
US7472238B1 (en) * 2004-11-05 2008-12-30 Commvault Systems, Inc. Systems and methods for recovering electronic information from a storage medium
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks

Also Published As

Publication number Publication date
JP2010287239A (ja) 2010-12-24
KR101628341B1 (ko) 2016-06-08
JP5721970B2 (ja) 2015-05-20
US8417846B2 (en) 2013-04-09
EP2264606A1 (en) 2010-12-22
EP2264606B1 (en) 2012-09-05
US20100318689A1 (en) 2010-12-16
EP2264604A1 (en) 2010-12-22

Similar Documents

Publication Publication Date Title
US20060268124A1 (en) Digital camera architecture with improved performance
KR101628341B1 (ko) 고체 상태 메모리 소자 어레이에 병렬적으로 2 이상의 데이터 스트림의 실시간 스트리밍을 위한 소자
JP2006524858A (ja) メモリに記憶されたデータに圧縮を使用するデータ処理装置
US9122578B2 (en) Solid state memory with reduced number of partially filled pages
US20070086428A1 (en) Network packet storage method and network packet transmitting apparatus using the same
US20020131765A1 (en) Digital video recorder
JP4883520B2 (ja) メモリ制御装置およびメモリ制御方法
CN102625086B (zh) 一种用于高清数字矩阵的ddr2存储方法和系统
KR101232523B1 (ko) 이미지 및 비디오 프로세싱을 위한 메모리 구성 방법 및제어기 구조
JPH1198099A (ja) データ多重化方法および装置
EP2183663B1 (en) Mass storage system with improved usage of buffer capacity
US8548300B2 (en) Method and device for recording of frames
JP4126959B2 (ja) データ転送システム、およびアクセスモニタ装置
JP5360594B2 (ja) Dma転送装置及び方法
US20130329137A1 (en) Video Encoding in Video Analytics
US20100030978A1 (en) Memory controller, memory control method, and image processing device
US10146679B2 (en) On die/off die memory management
US20140009478A1 (en) Image processing apparatus and control method
US6847410B1 (en) Picture data memory device with picture data input channels and picture data output channels
JP2009003632A (ja) 画像処理システム
JP2006099895A (ja) メモリ処理装置
JP6205980B2 (ja) 画像転送装置及び画像転送方法
CN118646893A (zh) 一种视频数据处理方法、产品、设备及存储介质
JP2009104529A (ja) 情報処理装置、音声付動画記録装置及び情報処理方法
JP2017139513A (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