Video processing system, information processing device, and control method
The video processing system optimizes data transfer and erasure processes using time slots and an arbitration unit to manage access to NAND element-based storage, addressing issues of excessive data transmission and fragmentation, ensuring high-speed data transfer and reduced fragmentation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-27
- Publication Date
- 2026-03-11
AI Technical Summary
Recording and playback of video data between video input/output devices and storage devices composed of NAND elements is hindered by excessive data transmission, data fragmentation, and inefficient erasure processes, leading to decreased transmission and reception speeds.
A video processing system that includes a storage device, an information processing device, a configuration unit, and an arbitration unit, which controls data transmission and reception through multiple video channels using time slots and an arbitration unit to manage access to the storage device, ensuring erasure processes are conducted during idle times.
The system maintains high-speed data transmission and reception by optimizing data transfer and erasure processes, preventing interruptions and reducing data fragmentation in NAND element-based storage.
Smart Images

Figure 2026042438000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a video processing system, an information processing device, and a control method for recording and reading video data. [Background technology]
[0002] There is a known system that records video data output from a video output device such as a camera onto a recording device and reads the video data recorded on the recording device. A known recording device for recording video data is one that is configured with NAND elements. This recording device is known as a solid state drive (SSD), for example.
[0003] When recording data such as video data in storage, it is known to reduce the amount of data collected if the total rate of collected data exceeds the throughput parameters of the network infrastructure (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Special Publication No. 2020-530159 Summary of the Invention [Problem to be solved by the invention]
[0005] Currently, recording and playback of video data between a video input / output device and a storage device composed of NAND elements is being considered. If multiple video data are recorded simultaneously without any control over the transmission and reception of the data between the video input / output device and the storage device, a large amount of data will be transmitted and received between the video input / output device and the storage device, resulting in a decrease in the transmission and reception speed of the video data.
[0006] Furthermore, video data deleted from the file system by user operation or other means may remain recorded as valid data in the storage. In storage configured with NAND elements, new data cannot be recorded (overwritten) in an area where data has been recorded. As the recording area filled with unnecessary data deleted from the file system by user operation increases, the recording area available for recording new data decreases. Furthermore, repeated recording and deletion causes fragmentation of video data. When such fragmentation of video data occurs, it becomes necessary to aggregate the data from multiple fragmented blocks into a separate area before recording the data, which reduces the recording / playback rate of the video data.
[0007] To solve this problem, storage devices configured with NAND elements may perform a process to notify the storage device of video data that has been deleted by user operation. This process is called "Trim." Valid data that has been allocated in fragments is moved to another area to create a contiguous deleted area. By performing this Trim process on this area, the data that has been deleted by user operation is physically erased from the storage device's recording area, making it possible to record new data in this recording area. As a result, video data can be recorded in a contiguous recording area, thereby suppressing fragmentation of the video data.
[0008] However, if the above process is executed without any control, it may be executed at the same time as video data is being transmitted and received between the storage and the video input / output device, which may cause the transmission and reception of video data to stop and slow down.
[0009] The present disclosure aims to suppress a decrease in the speed of sending and receiving video data between a plurality of video input / output devices and storage configured with NAND elements. [Means for solving the problem]
[0010] The video processing system disclosed herein includes a storage device, an information processing device, a configuration unit, and an arbitration unit. If the storage device has a spare area of a predetermined size or more, it can record data in the spare area in units of pages. On the other hand, if the spare area does not have a predetermined size or more, all valid data in an erase block in which invalid data is recorded is moved to another erase block, and all data in the source erase block is erased in units of erase blocks before data can be recorded. An erase block is made up of multiple pages. The information processing device controls the transmission and reception of video data with the storage device via multiple video channels connected to video input / output devices. The configuration unit sets a time slot having a predetermined length of time for transmitting and receiving video data based on the page size and erase block size of the storage device. The arbitration unit determines the timing at which each video channel is permitted to access the storage device based on the time slot setting.
[0011] In this video processing system, the information processing device transmits and receives video data to and from the storage via the multiple video channels by transmitting and receiving video data to and from the storage via each of the multiple video channels within the time slot at the timing determined by the arbitration unit. Also, the information processing device can repeatedly transmit and receive video data to and from the storage via the multiple video channels by sequentially allocating the multiple time slots.
[0012] In addition, if the time from when transmission and reception of video data in a first time slot among the multiple time slots is completed to when a second time slot allocated after the first time slot begins is equal to or longer than the time required for an erasure process to erase erasable data from the storage, the information processing device executes an erasure process after completing transmission and reception of video data in the first time slot. [Effects of the Invention]
[0013] In the video processing system disclosed herein, video data is transmitted and received via multiple video channels by transmitting and receiving video data to and from the storage via each of the multiple video channels within a time slot having a predetermined length. This allows the communication bandwidth to be monopolized for transmitting and receiving video data to and from the storage via one video channel at a specific timing within the time slot. As a result, the speed of transmitting and receiving video data to and from the storage does not decrease.
[0014] Furthermore, in the above video processing system, if the time from the end of transmission and reception of video data in a first time slot among the multiple time slots to the start of a second time slot allocated after the first time slot is equal to or longer than the time required for the erasure process to erase erasable data from the storage, the erasure process is executed after the end of transmission and reception of video data in the first time slot. In other words, the erasure process is executed if there is a sufficient time during which no video data is being transmitted or received between the end of transmission and reception of video data in the first time slot and the start of the next second time slot. As a result, the erasure process is not executed when video data is being transmitted or received, and the speed of transmission and reception of video data with the storage does not decrease. [Brief explanation of the drawings]
[0015] [Figure 1] FIG. 1 is a diagram showing the configuration of a video processing system. [Figure 2] FIG. 2 is a diagram illustrating a configuration of the information processing device. [Figure 3] FIG. 3 is a diagram illustrating the configuration of storage. [Figure 4] FIG. 4 is a diagram showing the configuration of the recording area. [Figure 5] FIG. 5 is a diagram showing signal transmission and reception in the video processing system. [Figure 6] FIG. 6 is a flowchart showing the operation of the information processing device in the video processing system. [Figure 7]FIG. 7 is a diagram showing the configuration of a time slot. [Figure 8] FIG. 8 is a flowchart showing the operation of the information processing device when recording video data. [Figure 9] FIG. 9 is a flowchart showing the operation of the information processing device when reading video data. DETAILED DESCRIPTION OF THE INVENTION
[0016] Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, more detailed description than necessary may be omitted. For example, detailed description of already well-known matters or redundant description of substantially identical configurations may be omitted. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art. Note that the inventors provide the accompanying drawings and the following description to enable those skilled in the art to fully understand the present disclosure, and do not intend for them to limit the subject matter described in the claims.
[0017] In this disclosure, "video data" refers to data including video data, audio data, and metadata, data including only video data, and data including still image data.
[0018] [1. First embodiment] [1-1.Video Processing System] The video processing system 100 of the present disclosure will be described below with reference to the drawings. The video processing system 100 can record video data output from a video input / output device 2 in a storage 3 of the video processing system 100. The video data recorded in the storage 3 is used, for example, for future playback and editing. Editing video data includes, for example, generating new video data by inserting a specific portion of other video data into video data.
[0019] Furthermore, in the video processing system 100, the video data read from the storage 3 can be output to the video input / output device 2.
[0020] The configuration of the video processing system 100 will be described below with reference to Fig. 1. Fig. 1 is a diagram showing the configuration of the video processing system 100. The video processing system 100 includes an information processing device 1, a storage 3, a configuration unit 5, and an arbitration unit 6.
[0021] The information processing device 1 is connected to a video input / output device 2 and a storage 3, and controls transmission and reception of video data between the video input / output device 2 and the storage 3.
[0022] The video input / output device 2 includes a plurality of video output devices 2 a and a plurality of video input devices 2 b. The number of video output devices 2 a and the number of video input devices 2 b included in the video input / output device 2 can be any number within the capabilities allowed by the information processing device 1.
[0023] The video output device 2a acquires video and audio data, converts it into electrical signals, and outputs it to the outside as video data. The video output device 2a is, for example, a video capture device equipped with a camera for capturing predetermined video, a microphone for capturing audio of the predetermined video, and the like. Alternatively, the video output device 2a may be a media server that records a large number of videos. The video output from the video output device 2a is, for example, high-quality video such as uncompressed 4K video.
[0024] Video input device 2b inputs video and audio data as video data. Video input device 2b is, for example, a display (e.g., a liquid crystal display, an organic EL display, a plasma display, etc.) that plays and displays the input video data. The video played and displayed by video input device 2b is, for example, high-quality video such as uncompressed 4K video.
[0025] The video input / output device 2 may include a device that has both the function as the video output device 2a and the function as the video input device 2b.
[0026] The information processing device 1 receives video data from the video output device 2a and performs various information processes on the received video data. Specifically, for example, the information processing device 1 can convert the video data into compressed data. The information processing device 1 can also output the video data to an external device in uncompressed format. The information processing device 1 can edit the video data in accordance with user operations.
[0027] The information processing device 1 is capable of recording video data input from the video output device 2a, video data converted into a compressed format, edited video data, etc. in the storage 3. This allows the information processing device 1 to function as a recording device that records video data in the storage 3.
[0028] Furthermore, the information processing device 1 is capable of reading out video data recorded in the storage 3 and outputting the read-out video data to the video input device 2b. This allows the information processing device 1 to also function as a playback device that plays back video data using the video input device 2b.
[0029] Although the image processing system 100 of this embodiment is provided with one information processing device 1, the number of information processing devices 1 provided in the image processing system 100 is not limited to this. Any number of information processing devices 1 can be provided in the image processing system 100.
[0030] The storage 3 records the video data received from the information processing device 1 in accordance with a command from the information processing device 1. The storage 3 also reads out designated video data in accordance with a command from the information processing device 1. As will be described later, the storage 3 is a recording device configured with NAND elements. The storage 3 is, for example, a solid state drive (SSD). In the video processing system 100 of this embodiment, one storage 3 is provided, but two or more storages 3 may be provided. The number of storages 3 provided in the video processing system 100 can be any number.
[0031] The configuration unit 5 is connected to the information processing device 1, the storage 3, and the arbitration unit 6, which will be described later. The configuration unit 5 sets the configuration of the video processing system 100. The configuration unit 5 is, for example, hardware configured with circuits that realize the above functions. The configuration unit 5 may be a computer system that includes a CPU, a storage device, various interfaces, etc. and realizes the above functions. The configuration unit 5 may realize some or all of the above functions by software.
[0032] The arbitration unit 6 is connected to the information processing device 1 and the configuration unit 5. When an access request to the storage 3 is made from the information processing device 1, the arbitration unit 6 decides whether or not to permit the information processing device 1 to access the storage 3, and notifies the information processing device 1 of the decision result.
[0033] The arbitration unit 6 is, for example, hardware configured with circuits that realize the above functions. The arbitration unit 6 may also be a computer system that includes a CPU, a storage device, various interfaces, etc. and realizes the above functions. The arbitration unit 6 may also realize some or all of the above functions by software.
[0034] [1-2. Information processing device] The configuration of the information processing device 1 will be described with reference to Fig. 2. Fig. 2 is a diagram showing the configuration of the information processing device 1. The information processing device 1 has a CPU 11, a video interface 12, a storage interface 13, a RAM 14, a storage device 15, and an interface 16.
[0035] The CPU 11 executes various processes in the information processing device 1. Specifically, the CPU 11 executes information processes such as video data compression, information processing related to video data editing, and video data analysis. The CPU 11 executes the above processes by executing instructions indicated in a program stored in the storage device 15. Note that some of the processes in the information processing device 1 may be realized by hardware implemented separately from the CPU 11 or by an external device. The CPU 11 generates commands for executing various processes.
[0036] The video interface 12 connects the information processing device 1 and the video input / output device 2. The video interface 12 is provided with a plurality of connection terminals. One video output device 2a or one video input device 2b included in the video input / output device 2 may be connected to only one connection terminal of the video interface 12, or may be connected to a plurality of video channels.
[0037] The video interface 12 is an interface for connecting video-related devices, such as an interface conforming to the Serial Digital Interface (SDI) standard. Alternatively, the video interface 12 may be a network interface. In this case, for example, transmission conforming to the ST2110 standard of the SMPTE standardization organization can be used. The video interface 12 can also be a network interface, such as a Gigabit Ethernet (registered trademark) interface, which connects the information processing device 1 to other devices via a network such as a WAN or LAN.
[0038] A video channel is assigned to each of the multiple connection terminals of the video interface 12. The information processing device 1 shown in FIG. 2 has m+n connection terminals. Video channels CH1, ..., CHm+n are assigned to each of the m connection terminals to which the video output device 2a is connected. Meanwhile, video channels CHm+1, ..., CHm+n are assigned to each of the n connection terminals to which the video input device 2b is connected.
[0039] 2, one video output device 2a or one video input device 2b is connected to one video channel, but this is not limiting. For example, one video output device 2a or one video input device 2b may be connected to multiple video channels.
[0040] The information processing device 1 transmits and receives video data between the multiple video channels CH1, ... CHm+n and the storage 3 by sequentially transmitting and receiving video data between each of the multiple video channels CH1, ... CHm+n and the storage 3 within a time slot TS (Figure 7) having a predetermined length of time.
[0041] Furthermore, by sequentially allocating a plurality of time slots TS in chronological order, the information processing device 1 can repeatedly transmit and receive video data between the plurality of video channels CH1, ... CHm+n and the storage 3. That is, after completing transmission and reception of video data in one time slot TS, the information processing device 1 performs transmission and reception of video data in the next time slot TS, thereby repeatedly transmitting and receiving video data between the plurality of video channels CH1, ... CHm+n and the storage 3.
[0042] The storage interface 13 connects the information processing device 1 and the storage 3. The storage interface 13 connects the information processing device 1 and the storage 3 via a direct transfer path. The storage interface 13 is, for example, a PCIe interface that complies with the PCI express standard of the PCI-SIG standard. This allows the information processing device 1 and the storage 3 to send and receive data at high speed using a protocol dedicated to non-volatile memory (NVMe (Non-Volatile Memory Express)) that uses a PCI-Express bus.
[0043] With NVMe, the controller acquires data from the NAND memory using the NAND protocol, converts it to PCIe protocol, and transfers it to the host. In contrast, with conventional SATA (Serial ATA), the DMA controller that transfers data directly to the host converts data from the NAND memory to the SATA protocol, acquires it, and then converts that data to PCIe protocol before transferring it to the host. In other words, NVMe processing directly converts data from the NAND protocol to the PCIe protocol, resulting in fast data transfer speeds.
[0044] The RAM 14 is a storage area that temporarily stores commands, video data, etc. generated by the CPU 11. In the RAM 14, buffer areas BF1, BF2, .... BFm+n are assigned to each of the video channels CH1, CH2, .... CHm+n. The buffer areas BF1, BF2, .... BFm+n are temporary storage areas that buffer the video data acquired via the corresponding video channel CH1, CH2, .... CHm+n. The size of one buffer area is set to the access size, which is the size of video data that can be transmitted and received in one time slot, with a certain margin added.
[0045] When recording video data input from the video output device 2a in the storage 3, the information processing device 1 buffers the video data in buffer areas BF1, ..., BFm allocated to the video channels CH1, ..., CHm to which the video output device 2a is connected. The video data buffered in the buffer areas is called "buffered data."
[0046] Specifically, when recording video data obtained by a certain video output device 2a in storage 3, the information processing device 1 buffers the video data obtained by the video output device 2a in a buffer area assigned to the video channel to which the video output device 2a is connected, and transmits the buffered data in the buffer area to storage 3.
[0047] On the other hand, when reading video data from storage 3 and outputting it to video input device 2b, information processing device 1 buffers the video data read from storage 3 in buffer areas BFm+1, ....BFm+n allocated to video channels CHm+1, ....CHm+n to which video input device 2b is connected.
[0048] Specifically, when outputting video data read from storage 3 to a video input device 2b, the information processing device 1 buffers the video data read from storage 3 in a buffer area assigned to the video channel to which the video input device 2b is connected, and transmits the buffered data in the buffer area to the video input device 2b.
[0049] The storage device 15 is composed of a ROM, a hard disk (HDD), a solid state drive (SSD), etc. The storage device 15 stores programs executed by the CPU 11, settings related to the processing of the information processing device 1, parameters used for the processing, etc.
[0050] The interface 16 is an interface for connecting the information processing device 1 to other devices. The configuration unit 5 and the arbitration unit 6 are connected to the interface 16. The interface 16 is a network interface such as a Gigabit Ethernet (registered trademark) interface that connects the information processing device 1 to other devices via a network such as a WAN or LAN.
[0051] The storage interface 13 and / or the interface 16 may be configured to enable direct transmission and reception of data between the RAM 14 of the information processing device 1 and a storage device of another device by remote direct memory access (RDMA), thereby enabling high-speed transmission and reception of data between the information processing device 1 and another device.
[0052] The functions of the above-described configuration unit 5 and / or arbitration unit 6 may be realized by the information processing device 1. In this case, the configuration unit 5 and / or arbitration unit 6 do not need to be connected to the interface 16. In other words, when the configuration unit 5 and / or arbitration unit 6 are separate devices from the information processing device 1, the separate devices, the configuration unit 5 and / or arbitration unit 6, are connected to the interface 16.
[0053] [1-3.Storage] The configuration of the storage 3 will be described with reference to Fig. 3. Fig. 3 is a diagram showing the configuration of the storage 3. The storage 3 has an access port 31, a flash memory 33, a controller 35, and a storage unit 37. The access port 31 is an interface that connects the storage 3 to other devices. The information processing device 1 is connected to the access port 31.
[0054] The flash memory 33 is composed of a plurality of NAND elements. As shown in Fig. 4, the flash memory 33 has a recording area RA for recording video data. The recording area RA also stores a table that associates addresses (logical addresses) designated by an external device with addresses (physical addresses) of erase blocks BL corresponding to the logical addresses.
[0055] The recording area RA is divided into a plurality of erase blocks BL. Figure 4 shows the configuration of the recording area RA. An erase block BL is a unit of data erasure in the flash memory 33. An erase block BL is further divided into a plurality of pages PA. A page PA is a unit of data recording. When data in an erase block BL is erased in the flash memory 33, a process is executed in which the data contained in this erase block BL is moved to another erase block BL and then erased. As a result, the erase block BL from which data has been erased becomes a "free block" into which data can be written.
[0056] The recording area RA of the storage 3 is composed of a spare area and a user area. When the storage 3 starts to be used, all data in the recording area RA is physically erased, and then the entire recording area RA becomes the spare area. When a user writes data to the storage 3, the data is written to this spare area, and the area into which the data is written becomes the user area. Note that data can be written to the spare area in page PA units.
[0057] The upper limit size of the user area is a predetermined size that is smaller than the entire size of the recording area RA. In other words, the upper limit of the data writing size of the storage 3 that can be recognized by the user is the upper limit size of the user area. Furthermore, even after the user area reaches its upper limit size, a spare area remains in the recording area RA. The spare area remaining in the recording area RA is called a remaining spare area. This remaining spare area cannot be recognized by the user.
[0058] When a user deletes data from a user area on a file system, the deleted data from the user area simply becomes invalid and remains physically in the user area. In this state, when the user writes new data on the file system, the new data is written to the remaining spare area. Writing data to the remaining spare area is also done in page PA units.
[0059] When data is repeatedly deleted and new data is written in the file system, the amount of invalid data in the user area increases. The area in the remaining spare area where data can be written decreases. When the size of the area in the remaining spare area where data can be written falls below a predetermined size, the invalid data in the user area and the remaining spare area is physically erased.
[0060] As described above, data can only be erased in units of erase blocks BL in the storage 3. Therefore, the physical erasure of invalid data is performed by first moving all valid data present in the erase block BL in which the invalid data to be erased is recorded to another erase block BL in which data can be written (for example, an erase block BL in the remaining spare area in which data can be written), and then physically erasing all data (both invalid data and valid data) recorded in the erase block BL from which the valid data was moved (the erase block BL in which the invalid data to be erased was recorded) in units of erase blocks BL (garbage collection). After the data has been physically erased in this way, it becomes possible to write data in units of pages PA in the erase block BL.
[0061] As described above, in the storage 3, data can be written in units of pages PA to unused areas and areas from which data has been erased as described above within the recording area RA. On the other hand, new data can be written to areas to which data has already been written after data has been physically erased in units of erase blocks BL each consisting of a plurality of pages PA.
[0062] The controller 35 executes control related to the storage 3. In particular, the controller 35 controls the recording of data to the flash memory 33 and the reading of data from the flash memory 33. The controller 35 also executes other processes required for a solid state drive, such as garbage collection and wear leveling. The controller 35 executes the above processes by executing a program stored in the storage unit 37. The controller 35 may also implement the above processes using its own hardware.
[0063] As described above, even if video data recorded in the storage 3 is deleted by a user operation or the like in the information processing device 1 (on the file system of the information processing device 1), the controller 35 of the storage 3 cannot know this. Therefore, even if video data is deleted in the information processing device 1, the video data remains physically recorded in the flash memory 33 of the storage 3.
[0064] Furthermore, in the flash memory 33, when video data is deleted, added, or the contents of the video data are updated, if the video data that has become unnecessary as a result of these operations remains recorded, invalid pages PA will not exist in long succession, but will exist in fragments.
[0065] In this way, when new video data is to be recorded in flash memory 33 in a state where unnecessary video data remains and invalid pages PA exist in fragments, the valid video data recorded in the erase block BL containing the fragmented invalid page PA is aggregated into another erase block BL (for example, an erase block BL in a spare area), and the video data recorded in the source area is erased (garbage collected) in units of erase block BL before the new video data is recorded in flash memory 33.
[0066] When short, consecutive invalid pages PA are fragmented and exist in the flash memory 33, garbage collection is performed more frequently, which makes it take longer to record new video data. Furthermore, garbage collection is performed more frequently. As a result, the data transfer speed of the storage 3 decreases.
[0067] To prevent this, in the video processing system 100, the information processing device 1 moves erasable video data from the flash memory 33 of the storage 3 to consecutive addresses (for example, in a spare area of the storage 3). After this movement, the information processing device 1 physically erases the erasable video data from the flash memory 33 in units of the erase block BL in which the video data was recorded. This makes it possible to record new video data in consecutive pages PA in the erase block BL after the video data has been erased. This process is called an erasure process.
[0068] That is, the erasure process consists of a data movement process that moves the video data to be erased (called video data to be erased) from the currently recorded area (erase block BL) to another area (for example, erase block BL in a spare area), and a physical erase process that physically erases the video data to be erased from the currently recorded area after the data movement process. The data movement process is a process for securing a continuous area, i.e., continuous erase blocks BL. The physical erase process is a process for physically erasing data from the continuous area secured by the data movement process, and securing a continuous free area, i.e., continuous erase blocks BL where no data is recorded.
[0069] The above erasure process physically erases from the flash memory 33 video data that does not need to be recorded therein, thereby securing many consecutive free pages PA onto which new video data can be recorded. As a result, new video data is more likely to be recorded in consecutive pages PA, which reduces the likelihood of video data fragmentation within the flash memory 33 and allows the data transfer speed of the storage 3 to be maintained at a high level.
[0070] Furthermore, as described above, in addition to the above erasure process, the controller 35 executes garbage collection on areas where data less than one erase block BL unit is recorded as needed, thereby ensuring many free erase blocks BL in the flash memory 33.
[0071] The storage unit 37 is provided as a memory separate from the flash memory 33, or is part of the recording area RA, and stores various parameters related to the control of the storage 3. The storage unit 37 stores, for example, the size of the page PA, the size of the erase block BL, and the number of times data is recorded in each erase block BL. Parameters for executing various processes, etc. are also recorded.
[0072] [1-4. Operation of the video processing system] 5 and 6, the operation of the video processing system 100 will be described. Fig. 5 is a diagram showing signal transmission and reception in the video processing system 100. Fig. 6 is a flowchart showing the operation of the information processing device 1 in the video processing system 100.
[0073] First, the configuration unit 5 sets the configuration of the video processing system 100. Specifically, the following process is executed. First, the user instructs the configuration unit 5 on the mode (recording mode, playback mode) to be used when recording / playing back video data in the video processing system 100. The recording mode includes the recording rate of the video data (the amount of video data recorded per unit time), and the playback mode includes the playback rate of the video data (the amount of video data read out per unit time). These modes may be set individually for each of the video channels CH1, CH2, ... CHm+n, or the same mode may be set for all of the video channels CH1, CH2, ... CHm+n.
[0074] Next, the configuration unit 5 requests information about the size of pages PA and the size of erase blocks BL stored in the flash memory 33 of the storage 3 from the storage 3 (step S101 in FIG. 5). Upon receiving this request, the controller 35 of the storage 3 reads information about the size of pages PA and the size of erase blocks BL from the memory unit 37 and transmits this information to the configuration unit 5 (step S102 in FIG. 5).
[0075] Thereafter, the configuration unit 5 sets a time slot TS for transmitting and receiving video data via each video channel CH1, CH2, ... CHm+n based on the above mode, the size of the page PA received from the storage 3, the size of the erase block BL, etc. As shown in Fig. 7, a time slot TS is defined as a period having a predetermined time length T. Fig. 7 is a diagram showing the configuration of a time slot TS.
[0076] A time slot TS is made up of multiple small slots SS. A small slot SS is assigned to each video channel. In one time slot TS, video data transmitted and received on one video channel is transmitted and received within the period of the small slot SS assigned to that video channel. Hereinafter, the size of the video data transmitted and received within the period of one small slot SS is referred to as the "access size." In other words, in the video processing system 100, data having the above access size is transmitted and received via one video channel at a period corresponding to the time length T of the time slot TS.
[0077] The configuration unit 5 can determine the access size for recording video data, i.e., the access size of the small slot SS to be assigned to the video channels CH1, CH2, ... CHm, to be an integer multiple or more of the size of the erase block BL, and to a size that suppresses fragmentation of the video data.
[0078] On the other hand, configuration unit 5 can determine the access size for reading video data, i.e., the access size of the short slot SS assigned to video channels CHm+1, CHm+2, ... CHm+n, to a size that allows video data to be reproduced without interruption for at least the duration T of the time slot TS. For example, if the reproduction rate of video data is eMbps, the access size for reading video data can be e*T (Mbit).
[0079] Furthermore, the configuration unit 5 sets the duration of the small slots SS and the duration T of the time slots TS based on the determined access size, etc. For example, if the data transfer rate between the information processing device 1 and the storage 3 is bMbps and the access size of a particular video channel is determined to be cMB (8*cMbit), the duration of the small slots SS to be assigned to that video channel can be determined to be 8*c / b seconds. The duration T of the time slots TS can be the sum of the durations of the small slots SS assigned to multiple video channels CH1, CH2, ... CHm+n.
[0080] Furthermore, when determining the access size, consideration is also given to the sector size accessible to the storage 3. Specifically, for example, if the sector size is 4 KB, the access size is set to an integral multiple of 4 KB (sector size).
[0081] The time length T of the time slot TS and the access size mentioned above are such that even if video data is transmitted and received via each video channel at a period corresponding to the time length T of the time slot TS, the video data can be recorded without interruption at the set recording rate and played back without interruption at the set playback rate.
[0082] For example, if the maximum recording rate and playback rate of video data in the video processing system 100 is dMbps and the access size allocated to the video channel that transmits and receives the video data is cMB (8*cMbit), then the time length T of the time slot TS is set to c / d or less.
[0083] After completing the setting of the time slot TS, the configuration unit 5 transmits the setting information of the time slot TS (such as the time length T of the time slot TS and the access size) to the arbitration unit 6 (step S103 in FIG. 5). Having received the setting information of the time slot TS, the arbitration unit 6 determines, based on the setting of the time slot TS, when to permit each of the video channels CH1, CH2, ... CHm+n to access the storage 3.
[0084] Furthermore, the configuration unit 5 transmits the setting information of the time slot to the information processing device 1 (step S104 in FIG. 5). The CPU 11 of the information processing device 1 executes a process of receiving the setting information of the time slot TS transmitted from the configuration unit 5 (step S1 in FIG. 6).
[0085] Thereafter, the CPU 11 configures the information processing device 1 based on the settings of the received time slot TS. Specifically, the CPU 11 determines the reservation size of buffer areas BF1, BF2, ... BFm+n to be allocated to each of the video channels CH1, CH2, ... CHm+n based on the settings of the time slot TS (access size of each video channel), and reserves the buffer areas BF1, BF2, ... BFm+n in the RAM 14 (step S2 in FIG. 6). The reservation size of each buffer area can be determined as the access size determined for the video channel to which the buffer area is allocated, plus a predetermined margin.
[0086] After reserving buffer areas BF1, BF2, ... BFm+n, the CPU 11 of the information processing device 1 notifies the flash memory 33 of the video data that can be erased, physically erases the notified erasable video data from the flash memory 33, and calculates the time required for the erasure process to enable new video data to be recorded on the page PA after the video data has been erased (step S3 in Figure 6).
[0087] The time required for the erase process can be calculated, for example, by performing the erase process on data of the access size, measuring the processing time multiple times, and adding a predetermined margin to the worst value (i.e., the slowest processing time). Alternatively, if the design values of the storage 3 (e.g., the operating speed of data movement, erasure, recording, etc., and the time required for the erase process itself) can be obtained from the storage 3 vendor, the obtained design values can be used or the calculation can be based on them.
[0088] After measuring the time required for the erasure process, the CPU 11 of the information processing device notifies the arbitration unit 6 of the measured time required for the erasure process (step S105 in FIG. 5).
[0089] Subsequently, in the video processing system 100, video data is transmitted and received (recorded / read) between the information processing apparatus 1, a plurality of video input / output apparatuses 2 (video output apparatus 2a and video input apparatus 2b), and the storage 3 (steps S106 to S113 in FIG. 5 and step S4 in FIG. 6).
[0090] Although details will be described later, in the video processing system 100, the information processing apparatus 1 sequentially transmits and receives video data between each of a plurality of video channels CH1, CH2, ··· CHm + n and the storage 3 within one time slot TS, thereby transmitting and receiving video data between the plurality of video channels CH1, CH2, ··· CHm + n and the storage 3.
[0091] After completion of the transmission and reception of video data in one time slot TS (first time slot), the CPU 11 of the information processing apparatus 1 determines whether or not it has received an erasure processing execution permission for permitting the execution of erasure processing from the arbitration unit 6 (step S5 in FIG. 6).
[0092] The arbitration unit 6 determines whether or not the time from the completion of the transmission and reception of video data in the first time slot until the start of the time slot (second time slot) assigned next to the first time slot is equal to or longer than the time required for the erasure processing notified from the information processing apparatus 1.
[0093]
[0094] Alternatively, this determination can be made based on the amount of buffered data in the buffer areas BF1, BF2, . . . BFm+n allocated to the RAM 14 of the information processing device 1 at the end of transmission and reception of video data in the first time slot.
[0095] For example, if, at the end of transmission and reception of video data in the first time slot, there is sufficient free space in the buffer areas BF1, BF2, ... BFm that buffer the video data to be recorded in storage 3, and it can be determined that the buffer areas will not overflow even if the video data is buffered until it is recorded in storage 3 in the next time slot (video data can be buffered until the next recording), then it can be determined that the time until the start of the second time slot is longer than the time required for the erasure process.
[0096] On the other hand, if, at the end of the transmission and reception of video data in the first time slot, sufficient buffered data is buffered in the buffer areas BFm+1, BFm+2, .... BFm+n that buffer the video data to be read, and it can be determined that the buffer areas will not become empty by the time the video data is read from storage 3 in the next time slot (buffered data can be read from the buffer areas until the next read), then it can be determined that the time until the start of the second time slot is longer than the time required for the erasure process.
[0097] As described above, by determining whether or not the erasure process can be performed before the start of the next second time slot based on the buffered amount of buffered data in the buffer areas BF1, BF2, ... BFm+n, the erasure process can be performed while preventing interruption of transmission and reception of video data between multiple video input / output devices 2, information processing device 1, and storage 3 due to an excess or shortage of buffered data.
[0098] If it is determined that the time until the start of the next second time slot is shorter than the time required for the erasure process and therefore the erasure process cannot be executed in the first time slot, the arbitration unit 6 does not transmit permission to execute the erasure process to the information processing device 1.
[0099] On the other hand, if it is determined that the time until the start of the next second time slot is longer than the time required for the erasure process and that the erasure process can be performed in the first time slot, the arbitration unit 6 sends permission to perform the erasure process to the information processing device 1 (step S114 in Figure 5).
[0100] If permission to execute the erasure process has not been received from the arbitration unit 6, i.e., if the erasure process cannot be executed in the first time slot ("No" in step S5 of Figure 6), the CPU 11 of the information processing device 1 waits until the start of the next second time slot, or executes a predetermined process as necessary, and starts transmitting and receiving video data in the next time slot (returning to step S4 after step S8 of Figure 6).
[0101] On the other hand, if permission to execute the erasure process has been received from the arbitration unit 6, i.e., if the erasure process can be executed in the first time slot ("Yes" in step S5 of Figure 6), the CPU 11 of the information processing device 1 determines whether the access speed of the storage 3 has become equal to or lower than a predetermined threshold (step S6 of Figure 6).
[0102] Specifically, the CPU 11 determines that the access speed of the storage 3 has fallen below a predetermined threshold, for example, when the writing speed of video data from the information processing device 1 to the storage 3 falls below the set video data recording rate, and / or when the reading speed of video data from the storage 3 to the information processing device 1 falls below the video data playback rate.
[0103] If it is determined that the access speed of the storage 3 is greater than a predetermined threshold and is sufficient to satisfy the recording rate / playback rate of the video data ("No" in step S6 of Figure 6), the CPU 11 of the information processing device 1 waits until the start of the next second time slot without performing the erasure process, or performs predetermined processing as necessary and starts transmitting and receiving video data in the next time slot (returning to step S4 after step S8 of Figure 6).
[0104] On the other hand, if it is determined that the access speed of the storage 3 is below a predetermined threshold and is not sufficient to meet the recording rate / playback rate of the video data ("Yes" in step S6 of Figure 6), the CPU 11 of the information processing device 1 decides to perform the erasure process in the first time slot (step S7 of Figure 6).
[0105] The erasure process of erasing erasable video data from the flash memory 33 of the storage 3 is advantageous in improving the access speed of the storage 3 (the speed at which video data is recorded / read). However, since the process includes the erasure of data from the flash memory 33, it affects the lifespan of the storage 3. Specifically, excessively frequent execution of the erasure process shortens the lifespan of the storage 3.
[0106] Therefore, unnecessary erasure processes can be prevented by performing the erasure process only when the access speed of the storage 3 is equal to or lower than a predetermined threshold and the current access speed of the storage 3 cannot satisfy the recording rate / playback rate of the video data. As a result, the access speed of the storage 3 can be maintained at a high level while preventing the lifespan of the storage 3 from being shortened.
[0107] When it is determined that the erasure process is to be performed in the first time slot, the erasure process is performed in the video processing system 100. Specifically, the erasure process is performed as follows.
[0108] First, the CPU 11 of the information processing device 1 determines which video data is to be subject to the erasure process. Of the video data recorded in the storage 3, the CPU 11 prioritizes video data that has not been rewritten for a predetermined period of time as the video data to be subject to the erasure process. An example of video data that has not been rewritten for a predetermined period of time is cold data that has remained recorded for a predetermined period of time. Whether or not data is cold data can be determined, for example, by whether or not metadata included in the video data indicates that it is cold data. Cold data is, for example, important video data that has been determined to be recorded for a long period of time, or video data that has been determined to be recorded for a long period of time as material for video editing.
[0109] However, the target of the preferential erasure process is cold data that has been recorded in the metadata as cold data and that has been recorded in the current page PA for a long time. That is, for example, cold data that has been recorded in the current page PA for only a short time is not the target of the preferential erasure process. Furthermore, when performing the erasure process on cold data as erasable video data, the cold data is not physically erased from the storage 3, but is instead moved from the current erase block BL to another erase block BL, and the cold data recorded in the current erase block BL is physically erased.
[0110] Cold data has the characteristic of being highly contiguous (i.e., recorded in consecutive pages PA of the flash memory 33) and difficult to delete by users, etc. For this reason, the erase block BL in which cold data is recorded is unlikely to be subject to garbage collection. In other words, cold data remains recorded in the same erase block BL (same page PA) for a long period of time. If cold data remains recorded in the same erase block BL for a long period of time, the difference between the number of data writes to the page PA in which the cold data is recorded and the number of writes to other pages PA becomes large.
[0111] To prevent the difference between the number of data writes to the page PA in which cold data is recorded and the number of writes to other pages PA from becoming too large, wear leveling is performed on the cold data. In other words, if cold data remains recorded in the same page PA for a long period of time, wear leveling is more likely to be performed. If wear leveling is performed while recording / reading video data, the recording / reading speed of the video data in the storage 3 will decrease.
[0112] As described above, by prioritizing the erasure process on cold data that has remained recorded for a long period in a specific erase block BL of the storage 3, new video data can be recorded in the page PA included in the specific erase block BL, thereby preventing the number of writes to the page PA from remaining low. As a result, the difference between the number of writes to the page PA and the number of writes to other pages PA is prevented from becoming excessively large, thereby preventing the execution of wear leveling processing in the storage 3. This prevents a decrease in the recording / reading speed of video data in the storage 3 due to the execution of wear leveling processing.
[0113] On the other hand, if there is no cold data to be subjected to the preferential deletion process, the CPU 11 subjects the video data deleted by a user operation or the like in the information processing device 1 to the deletion process. Note that it is also possible to subject both the video data deleted by a user operation or the like and the cold data to the deletion process.
[0114] After the video data to be erased is determined, the erasure process is executed. The erasure process will be described in detail below, taking the case where the erasure process is performed on cold data as an example.
[0115] The CPU 11 reads the cold data determined to be subject to the erasure process from the erase block BL in which it is currently recorded (step S115 in FIG. 5). Thereafter, the CPU 11 records the read cold data in another erase block BL (for example, an erase block BL in a spare area) in the storage 3 (step S116 in FIG. 5).
[0116] It is preferable that the destination of the cold data to be erased is an erase block BL including a page PA with a relatively high number of writes. As described above, the number of writes to a page PA in which cold data is recorded is unlikely to increase, so by selecting an erase block BL including a page PA with a relatively high number of writes as the destination of the cold data, the difference between the number of writes to the page PA included in the erase block BL to which the cold data is to be moved and the number of writes to other pages PA is prevented from becoming large (the reduction of this difference is promoted), and the execution of wear leveling processing is suppressed.
[0117] After the data transfer process is executed, the CPU 11 sends a command (physical erase command) to the storage 3 to physically erase the cold data that is the target of the erase process from the erase block BL in which the cold data that is the target of the erase process was recorded (i.e., the erase block BL from which the cold data is being moved) (step S117 in FIG. 5).
[0118] The controller 35 of the storage 3 that has received the physical erase command physically erases the cold data targeted for the erase process from the erase block BL in which the cold data is currently recorded. In this way, the physical erase process of the erase process is executed, and the cold data can be physically erased from the consecutive erase blocks BL secured by the data move process. As a result, new video data can be recorded in the consecutive erase blocks BL from which the cold data has been physically erased.
[0119] In the video processing system 100, if the time from the end of transmission and reception of video data in a first time slot among a plurality of time slots TS to the start of a second time slot allocated after the first time slot is equal to or longer than the time required for the erasure process to erase erasable data from storage 3, the erasure process is performed after the end of transmission and reception of video data in the first time slot.
[0120] That is, the erasure process is executed when there is sufficient time between the end of transmission and reception of video data in the first time slot and the start of the next second time slot during which no video data is being transmitted or received. As a result, the erasure process is not executed when video data is being transmitted or received, and therefore the speed of transmission and reception of video data between the video channels CH1, CH2, ... CHm+n and the storage 3 does not decrease.
[0121] [1-5. Video data recording operation] The video data recording operation executed in step S4 of the flowchart shown in Fig. 6 will be described below with reference to Fig. 5 and Fig. 8. Fig. 8 is a flowchart showing the operation of the information processing device 1 in recording video data. The recording operation described below is a recording operation executed within one time slot TS. In the video processing system 100, as long as there is video data to be output to the storage 3, multiple time slots TS are allocated in sequence and the recording operation described below is repeatedly executed, thereby repeatedly recording video data to the storage 3.
[0122] When a user issues a command to output video data from the video output device 2a using the information processing device 1 or the like, the video data is output from each video output device 2a (step S106 in FIG. 5). The CPU 11 of the information processing device 1 acquires the video data output from the video output device 2a via the video channels CH1, CH2, ... CHm to which the video output device 2a is connected (step S11 in FIG. 8). The CPU 11 buffers the video data acquired via the video channels CH1, CH2, ... CHm in buffer areas BF1, BF2, ... BFm assigned to the video channels CH1, CH2, ... CHm (step S12 in FIG. 8).
[0123] Although omitted in Figure 8, the operation of acquiring video data output from video output device 2a (i.e., step S11) and the operation of buffering the acquired video data (i.e., step S12) are performed appropriately asynchronously with the operation of video processing system 100 if video data is output from video output device 2a while video processing system 100 is operating.
[0124] While the video data is being buffered in the buffer areas BF1, BF2, ... BFm, the CPU 11 determines whether or not the video data buffered in each buffer area BF1, BF2, ... BFm is equal to or greater than the access size of the small slot SS assigned to the video channel corresponding to that buffer area (step S13 in Figure 8).
[0125] For example, when recording video data acquired via video channel CHk (k=1, 2,...m), CPU 11 determines whether or not video data equal to or larger than the access size of the small slot SS assigned to video channel CHk has been buffered in buffer area BFk assigned to video channel CHk. Note that k starts from 1 and increases by 1 up to m by repeating steps S14 to S17 below.
[0126] If the buffer area BFk allocated to the video channel CHk does not contain video data equal to or larger than the access size of the small slot SS allocated to the video channel CHk ("No" in step S13 of FIG. 8), steps S14 to S17 described below are skipped for the video channel CHk, and step S13 is executed for the next video channel CHk+1 (i.e., after step S18, return to step S13).
[0127] That is, if the buffer area allocated to a certain video channel CHk does not contain video data equal to or larger than the access size of the short slot SS allocated to that video channel CHk, CPU 11 skips recording the video data using the short slot SS allocated to that video channel and continues buffering the video data in the buffer area allocated to that video channel. As a result, the time required to record video data in the currently allocated time slot TS is reduced by the time allocated to that short slot SS.
[0128] On the other hand, if video data equal to or larger than the access size of the small slot SS assigned to video channel CHk is buffered in the buffer area BFk assigned to video channel CHk ("Yes" in step S13 of FIG. 8), CPU 11 requests arbitration unit 6 to access storage 3 for video channel CHk in order to record the buffered data, which is the video data buffered in buffer area BFk, in storage 3 (step S107 of FIG. 5, step S14 of FIG. 8).
[0129] The arbitration unit 6, which has received the access request, determines, based on the setting information of the time slot TS, whether or not to permit the video channel CHk to access the storage 3. If the arbitration unit 6 determines, based on the setting information of the time slot TS, that the short slot SS can be allocated to the video channel CHk at the current time (the timing at which the access request is received), it transmits an access permission to the information processing device 1 in response to the access request from the information processing device 1 (step S108 in FIG. 5).
[0130] If no access permission is received from the arbitration unit 6 ("No" in step S15 of FIG. 8), the CPU 11 of the information processing device 1 skips recording of video data on video channel CHk and executes step S13 for the next video channel CHk+1 (i.e., after step S18, the process returns to step S13). Note that if no access permission is received, the CPU 11 may wait for a predetermined time, and if no access permission is received even after the time has elapsed, skip recording of video data on video channel CHk.
[0131] On the other hand, if an access permission is received from the arbitration unit 6 ("Yes" in step S15 of FIG. 8), the CPU 11 determines that the small slot SS for accessing the storage 3 and recording video data has been allocated to the video channel CHk. In this case, the CPU 11 transmits the buffered data buffered in the buffer area BFk to the storage 3 in the small slot SS allocated to the video channel CHk (step S109 of FIG. 5, step S16 of FIG. 8).
[0132] The controller 35 of the storage 3, which has received the buffered data, records the received buffered data in consecutive pages PA of the flash memory 33. As described above, the buffered data has a size that is equal to or greater than an integral multiple of the size of the erase block BL. Therefore, the buffered data is recorded across a predetermined number of consecutive erase blocks BL of the flash memory 33. In other words, the number of erase blocks BL in which data is only partially recorded can be reduced. As a result, the occurrence of garbage collection processing in the storage 3 can be suppressed. Furthermore, by recording relatively large buffered data (video data) in consecutive pages PA (consecutive erase blocks BL), fragmentation of the video data can be suppressed.
[0133] After recording the video data (buffering data) of one video channel CHk in the storage 3 in the small slot SS allocated to that video channel CHk, the CPU 11 of the information processing device 1 determines whether there are any video channels CH1, CH2, ... CHm for which video data recording has not been completed in the current time slot TS, that is, whether recording of video data has been completed for all video channels CH1, CH2, ... CHm (whether k has increased from 1 to m) (step S17 in Figure 8).
[0134] If there are video channels CH1, CH2, ... CHm for which video data recording has not been completed in the current time slot TS, that is, if k is smaller than m ("No" in step S17 of Figure 8), k is incremented by 1 (step S18 of Figure 8), and steps S107 to S109 of Figure 5 and steps S13 to S17 of Figure 8 are executed for the next video channel CHk+1.
[0135] On the other hand, when the recording of video data has finished on all video channels CH1, CH2, ... CHm in the current time slot TS, that is, when k becomes m (k = m) ("Yes" in step S17 of Fig. 8), the recording of video data in the current time slot TS ends. Thereafter, steps S106 to S109 in Fig. 5 and steps S11 to S18 in Fig. 8 are repeatedly executed in the next time slot TS.
[0136] In this way, in the video processing system 100, video data from corresponding video channels CH1, CH2, ... CHm is buffered in each of the multiple buffer areas BF1, BF2, ... BFm, and the buffered data buffered in each buffer area BF1, BF2, ... BFm is sequentially recorded in the corresponding small slot SS within one time slot TS. This allows the data transmission bandwidth of the data line connecting the information processing device 1 and the storage 3 to be exclusively used for recording one piece of video data (buffered data), thereby preventing a decrease in the recording rate of the video data.
[0137] [1-6. Video data reading operation] The video data read operation executed in step S4 of the flowchart shown in Fig. 6 will be described below with reference to Fig. 5 and Fig. 9. Fig. 9 is a flowchart showing the operation of the information processing device 1 in reading video data. In this embodiment, the read operation described below is executed for video channels CHm+1, CHm+2, ... CHm+n after the video data recording operation described above is executed for video channels CH1, CH2, ... CHm within one time slot TS. In the video processing system 100, as long as there is video data to be read, multiple time slots TS are allocated sequentially and the read operation described below is repeatedly executed, thereby repeatedly reading video data from the storage 3.
[0138] When a user instructs one of the video input devices 2b to input any of the video data recorded in the storage 3 using the information processing device 1 or the like, an access request to the storage 3 for the video channel (video channel CHj (j=m+1, m+2, . . . m+n)) to which the video input device 2b instructed to input the video data is connected is made to the arbitration unit 6 (step S110 in FIG. 5, step S21 in FIG. 9).
[0139] 5 and steps S21 to S27 in FIG. 9, which will be described below, are not executed for a video channel connected to a video input device 2b that has not been instructed to input video. In other words, when video data is not input to a video input device 2b via a certain video channel, the CPU 11 skips reading of video data using the short slot SS assigned to that video channel. As a result, the time required to read video data in the currently assigned time slot TS is reduced by the time assigned to that short slot SS.
[0140] The arbitration unit 6, which has received the access request, determines, based on the setting information of the time slot TS, whether or not to permit the video channel CHj to access the storage 3. If the arbitration unit 6 determines, based on the setting information of the time slot TS, that the short slot SS can be allocated to the video channel CHj at the current time (the timing at which the access request is received), it transmits an access permission to the information processing device 1 in response to the access request from the information processing device 1 (step S111 in FIG. 5).
[0141] If no access permission is received from the arbitration unit 6 ("No" in step S22 of FIG. 9), the CPU 11 of the information processing device 1 skips reading of video data through video channel CHj and executes step S21 for the next video channel CHk+1 (i.e., after step S27, the process returns to step S21). Note that if no access permission is received, the CPU 11 may wait for a predetermined time, and if no access permission is received even after the time has elapsed, skip reading of video data through video channel CHj.
[0142] On the other hand, if access permission is received from the arbitration unit 6 ("Yes" in step S22 of FIG. 9), the CPU 11 determines that a short slot SS for accessing the storage 3 and reading video data has been allocated to the video channel CHj. In this case, the CPU 11 reads the specified video data from the storage 3 in the short slot SS allocated to the video channel CHj (step S112 of FIG. 5, step S23 of FIG. 9). The CPU 11 buffers the video data read from the storage 3 in the buffer area BFj allocated to the video channel CHj (step S24 of FIG. 9).
[0143] When the short slot SS assigned to the video channel CHj ends, the CPU 11 transmits the buffered data buffered in the buffer area BFj assigned to the video channel CHj to the video input device 2b connected to the video channel CHj. As a result, the video data is input to the video input device 2b, and for example, the video data is reproduced and displayed on the video input device 2b.
[0144] The time length of the short slot SS for reading video data (i.e., corresponding to the access size) is set as the time during which the video input device 2b can read and buffer from the storage 3 an amount of data that will allow the video data to be reproduced without interruption until reading of the video data begins in the next time slot TS. Normally, if video data is read from the storage 3 in the short slot SS, it is possible to read and buffer from the storage 3 an amount of data that will allow the video data to be reproduced without interruption.
[0145] On the other hand, if for some reason it is not possible to read and buffer a sufficient amount of data from storage 3 within the small slot SS, CPU 11 may, for example, reduce the playback rate and input the video data to video input device 2b, or may input video data with reduced image quality by thinning out pixels to video input device 2b.
[0146] After inputting the video data (buffered data) of one video channel CHj to the video input device 2b connected to that video channel CHj, the CPU 11 of the information processing device 1 determines whether there are any video channels CHm+1, CHm+2, ... CHm+n for which reading of video data has not been completed in the current time slot TS, that is, whether reading of video data has been completed for all video channels CHm+1, CH2, ... CHm+n (whether j has increased from m+1 to m+n) (step S26 in Figure 9).
[0147] If there are video channels CHm+1, CHm+2, ... CHm+n that have not finished reading video data in the current time slot TS, that is, if j is smaller than m+n ("No" in step S26 of Figure 9), j is incremented by 1 (step S27 of Figure 9), and steps S110 to S113 of Figure 5 and steps S21 to S27 of Figure 9 are executed for the next video channel CHj+1.
[0148] On the other hand, when reading of video data has been completed for all video channels CHm+1, CHm+2, ... CHm+n in the current time slot TS, that is, when j becomes n (j = m + n) ("Yes" in step S26 of Fig. 9), reading of video data in the current time slot TS is terminated. Thereafter, steps S110 to S113 in Fig. 5 and steps S21 to S27 in Fig. 9 are repeatedly executed in the next time slot TS.
[0149] In this way, in video processing system 100, within one time slot, video data to be input to video input device 2b is sequentially read from storage 3, the read video data is sequentially buffered in buffer areas BFm+1, BFm+2, .... BFm+n assigned to video channels CHm+1, CHm+2, .... CHm+n to which video input device 2b is connected, and the buffered data buffered in buffer areas BFm+1, BFm+2, .... BFm+n is input to video input device 2b. This allows the data transmission bandwidth of the data line connecting information processing device 1 and storage 3 to be monopolized for reading one piece of video data (buffered data), thereby suppressing a decrease in the playback rate of the video data.
[0150] 2. Other Embodiments Although one embodiment of the present invention has been described above, the present invention is not limited to the above embodiment, and various modifications are possible within the scope of the gist of the invention. In particular, the multiple embodiments and modifications described in this specification can be arbitrarily combined as necessary. (A) The processing contents of each step shown in FIGS. 5, 6, 8, and 9 and / or the processing contents of each step can be changed as appropriate without departing from the spirit of the invention.
[0151] (B) The connection relationship between the multiple video input / output devices 2 and the multiple video channels CH1, CH2, ... CHn of the information processing device 1 is not limited to the connection relationship described using Figures 1 and 2. In the above embodiment, for ease of explanation, an example is shown in which a video output device 2a is connected to each of multiple consecutive video channels CH1, CH2, ... CHm, and a video input device 2b is connected to each of multiple consecutive video channels CHm+1, CHm+2, ... CHm+n.
[0152] However, the present invention is not limited to this, and the video output devices 2a and video input devices 2b may be connected randomly to the multiple video channels CH1, CH2, ... CHm+n. Furthermore, any number of video output devices 2a and video input devices 2b may be connected, and there may be a video channel to which no device is connected.
[0153] [3. Notes] (1) A video processing system (e.g., video processing system 100) includes a storage (e.g., storage 3), an information processing device (e.g., information processing device 1), a component (e.g., component 5), and an arbitration unit (e.g., arbitration unit 6). If the storage has a spare area of a predetermined size or more, it can record data in the spare area in units of pages (e.g., pages PA). On the other hand, if the spare area does not have a predetermined size or more, all valid data in an erase block (e.g., erase block BL) in which invalid data is recorded is moved to another erase block, and all data in the erase block from which data is to be moved is erased in units of erase blocks, after which data can be recorded. An erase block is made up of multiple pages. The information processing device controls transmission and reception of video data to and from the storage via multiple video channels (e.g., video channels CH1, ... CHm+n) to which multiple video input / output devices (e.g., video input / output device 2, video output device 2a, video input device 2b) are connected.
[0154] The configuration unit sets a time slot (e.g., a time slot TS) having a predetermined length of time for transmitting and receiving video data based on the page size and erase block size of the storage. The arbitration unit determines the timing at which each video channel is permitted to access the storage based on the time slot setting.
[0155] In this video processing system, the information processing device transmits and receives video data to and from the storage via the multiple video channels by transmitting and receiving video data to and from the storage via each of the multiple video channels within the time slot at the timing determined by the arbitration unit. Also, the information processing device can repeatedly transmit and receive video data to and from the storage via the multiple video channels by sequentially allocating the multiple time slots.
[0156] In addition, if the time from when transmission and reception of video data in a first time slot among the multiple time slots is completed to when a second time slot allocated after the first time slot begins is equal to or longer than the time required for an erasure process to erase erasable data from the storage, the information processing device executes an erasure process after completing transmission and reception of video data in the first time slot.
[0157] In the above video processing system, video data is transmitted and received to and from the storage via multiple video channels within a time slot having a predetermined length. This allows the communication bandwidth to be monopolized for transmission and reception of video data to and from the storage via one video channel at a specific timing within the time slot. As a result, the speed of transmission and reception of video data to and from the storage does not decrease.
[0158] Furthermore, in the above video processing system, if the time from the end of transmission and reception of video data in a first time slot among the multiple time slots to the start of a second time slot allocated after the first time slot is equal to or longer than the time required for the erasure process to erase erasable data from the storage, the erasure process is executed after the end of transmission and reception of video data in the first time slot. In other words, the erasure process is executed if there is a sufficient time during which no video data is being transmitted or received between the end of transmission and reception of video data in the first time slot and the start of the next second time slot. As a result, the erasure process is not executed when video data is being transmitted or received, and the speed of transmission and reception of video data with the storage does not decrease.
[0159] (2) In the video processing system of (1) above, the information processing device may execute an erasure process when the access speed to the storage falls below a predetermined threshold. This prevents unnecessary erasure processes from being executed, thereby reducing the number of times data is erased from the storage while maintaining a high access speed to the storage, thereby extending the life of the storage.
[0160] (3) In the video processing system of (1) or (2), the erasure process may include a data transfer process for transferring the video data to be erased from the currently recorded area to another area, and a physical erase process for physically erasing the video data to be erased from the currently recorded area after the data transfer process. This ensures that consecutive erase blocks are secured, and new video data can be recorded in the secured consecutive erase blocks.
[0161] (4) In the video processing system of (3) above, the information processing device may prioritize cold data, which is video data that has been recorded for a predetermined period or more, and perform data movement processing and physical erase processing on the cold data as video data to be erased. This allows cold data that has been recorded in the same location in the storage for a long period of time to be moved, preventing an excessive difference in the number of data writes between the location where the cold data was recorded and other locations in the storage. As a result, the execution of wear leveling processing in the storage is suppressed, and a decrease in the access speed of the storage due to the execution of wear leveling processing can be suppressed.
[0162] (5) In any of the video processing systems (1) to (4) above, the information processing device may have a temporary storage unit (e.g., buffer areas BF1, BF2, ... BFm+n) that buffers video data to be transmitted to and received from the storage. In this case, whether or not to perform the deletion process in the first time slot may be determined based on the amount of buffered data in the temporary storage unit at the end of transmission and reception of the video data in the first time slot. This makes it possible to perform the deletion process while preventing interruptions in transmission and reception of video data between multiple video input / output devices, the information processing device, and the storage due to an excess or shortage of buffered data.
[0163] (6) The information processing device is a device that has multiple video channels connected to multiple video input / output devices and is connected to a storage. If the storage has a spare area of a predetermined size or more, it can record data in the spare area in page units. On the other hand, if the spare area does not have a predetermined size or more, it moves all valid data in an erase block in which invalid data is recorded to another erase block, and erases all data in the erase block from which data is moved in erase block units, before data can be recorded.
[0164] The information processing device has an information processing unit (e.g., CPU 11) that controls transmission and reception of video data with a storage via a plurality of video channels. The information processing unit transmits and receives video data with the storage via the plurality of video channels by transmitting and receiving video data with the storage via each of the plurality of video channels at a predetermined timing within a time slot having a predetermined time length, and can repeatedly transmit and receive video data with the storage via the plurality of video channels by sequentially allocating a plurality of time slots.
[0165] In addition, if the time from when transmission and reception of video data in a first time slot among the multiple time slots is completed to when a second time slot allocated after the first time slot begins is equal to or longer than the time required for an erasure process to erase erasable data from the storage, the information processing unit executes the erasure process after completing transmission and reception of video data in the first time slot.
[0166] In the information processing device, at a specific timing within a time slot, the communication bandwidth can be exclusively used for transmitting and receiving video data to and from the storage via one video channel, so the speed of transmitting and receiving video data to and from the storage does not decrease. Also, because the erasure process is not executed while video data is being transmitted and received, the speed of transmitting and receiving video data to and from the storage does not decrease.
[0167] (7) A control method is a method for controlling transmission and reception of video data to and from the storage via multiple video channels in an information processing device connected to a storage, the information processing device having multiple video channels connected to multiple video input / output devices. If the storage has a spare area of a predetermined size or larger, data can be recorded in the spare area in page units. On the other hand, if the spare area does not have a predetermined size or larger, all valid data in an erase block in which invalid data is recorded is moved to another erase block, and all data in the source erase block is erased in erase block units before data can be recorded.
[0168] The above control method includes the following steps: (a) to (c) below do not limit the order in which the steps are executed. (a) A step of transmitting and receiving video data to and from storage via a plurality of video channels by transmitting and receiving video data to and from storage via each of the plurality of video channels at a predetermined timing within a time slot having a predetermined length of time. (b) Repeatedly transmitting and receiving video data to and from the storage via the plurality of video channels by sequentially allocating the plurality of time slots. (c) A step of executing an erasure process after completing the transmission and reception of video data in a first time slot among the plurality of time slots, when the time from completing the transmission and reception of video data in a first time slot to the start of a second time slot allocated after the first time slot is equal to or longer than the time required for an erasure process to erase erasable data from the storage.
[0169] With the above control method, at a specific timing within a time slot, the communication bandwidth can be exclusively used for sending and receiving video data to and from the storage via one video channel, so the speed of sending and receiving video data to and from the storage does not decrease. Also, because deletion processing is not performed while video data is being sent and received, the speed of sending and receiving video data to and from the storage does not decrease. [Industrial Applicability]
[0170] The present disclosure can be widely applied to systems that transmit and receive video data to and from storage configured with NAND elements. [Explanation of symbols]
[0171] 100: Video processing system 11: CPU 12: RAM 13:Storage device 14: Video interface 15: Storage interface 16: Interface 1: Information processing equipment 2: Video output device 3: Storage 31: Access port 33: Flash memory 35: Controller 37: Storage section 5: Component 6: Mediation Department BF1~BFm+n: Buffer area CH1~CHm+n: Video channels RA: Recording area BL: Erase Block PA:Page
Claims
1. a storage device in which, if a spare area of a predetermined size or more exists, data can be recorded in the spare area in page units, and, if a spare area of the predetermined size or more does not exist, all valid data in an erase block made up of a plurality of pages in which invalid data is recorded is moved to another erase block, and all data in the erase block from which data is moved is erased in erase block units, and then data can be recorded; an information processing device that controls transmission and reception of video data to and from the storage via a plurality of video channels to which a plurality of video input / output devices are connected; a configuration unit that sets a time slot having a predetermined time length for transmitting and receiving the video data based on a page size and an erase block size of the storage; an arbitration unit that determines a timing for permitting each video channel to access the storage based on the setting of the time slot, The information processing device includes: transmitting and receiving video data to and from the storage via each of a plurality of video channels within the time slot at the timing determined by the arbitration unit, By sequentially allocating a plurality of time slots, transmission and reception of video data to and from the storage via a plurality of video channels can be repeatedly performed; when a time period from the end of transmission and reception of video data in a first time slot among a plurality of time slots to the start of a second time slot allocated after the first time slot is equal to or longer than a time required for an erasure process of erasing erasable data from the storage, execute the erasure process after the end of transmission and reception of video data in the first time slot; Video processing system.
2. The video processing system according to claim 1 , wherein the information processing device executes the deletion process when an access speed to the storage falls below a predetermined threshold.
3. 2. The video processing system of claim 1, wherein the erasure process includes a data movement process for moving the video data to be erased from the currently recorded area to another area, and a physical erase process for physically erasing the video data to be erased from the currently recorded area after the data movement process.
4. 4. The video processing system according to claim 3, wherein the information processing device performs the data movement process and the physical erase process by giving priority to cold data, which is video data that has been recorded for a predetermined period of time or more, as the video data to be erased.
5. The information processing device includes: a temporary storage unit for buffering video data transmitted to and received from the storage; 2. The video processing system according to claim 1, wherein whether or not to execute the deletion process in the first time slot is determined based on the amount of buffered data in the temporary storage unit at the end of transmission and reception of the video data in the first time slot.
6. An information processing device having a plurality of video channels to which a plurality of video input / output devices are connected, and connected to a storage, When a spare area of a predetermined size or more exists, the storage is capable of recording data in the spare area in page units, and when the spare area of the predetermined size or more does not exist, the storage moves all valid data in an erase block made up of a plurality of pages in which invalid data is recorded to another erase block, and erases all data in the erase block from which the data is moved in erase block units, and then becomes capable of recording data; the information processing device includes an information processing unit that controls transmission and reception of video data to and from the storage via the plurality of video channels; The information processing unit transmitting and receiving video data to and from the storage via a plurality of video channels at a predetermined timing within a time slot having a predetermined time length; By sequentially allocating a plurality of time slots, transmission and reception of video data to and from the storage via a plurality of video channels can be repeatedly performed; when a time period from the end of transmission and reception of video data in a first time slot among a plurality of time slots to the start of a second time slot allocated after the first time slot is equal to or longer than a time required for an erasure process of erasing erasable data from the storage, execute the erasure process after the end of transmission and reception of video data in the first time slot; Information processing device.
7. 1. A control method for controlling transmission and reception of video data to and from a storage via a plurality of video channels in an information processing device connected to a storage, the method comprising: When a spare area of a predetermined size or more exists, the storage is capable of recording data in the spare area in page units, and when the spare area of the predetermined size or more does not exist, the storage moves all valid data in an erase block made up of a plurality of pages in which invalid data is recorded to another erase block, and erases all data in the erase block from which the data is moved in erase block units, and then becomes capable of recording data; transmitting and receiving video data to and from the storage via a plurality of video channels at a predetermined timing within a time slot having a predetermined time length; Repeatedly transmitting and receiving video data to and from the storage via a plurality of video channels by sequentially allocating a plurality of time slots; a step of executing erasure processing after completing transmission and reception of video data in a first time slot among a plurality of time slots, when a time period from completion of transmission and reception of video data in a first time slot among a plurality of time slots to a start of a second time slot allocated after the first time slot is equal to or longer than a time required for erasure processing of erasable data from the storage; A control method comprising:
Citation Information
Patent Citations
Method and system for detection in an industrial internet of things data collection environment using large data sets
JP2020530159A