The subject application claims priority under 35 U.S.C. 119 on Korean application no. 10-2008-0065142 filed Jul. 4, 2008; the contents of which are hereby incorporated by reference in their entirety.
The present invention relates to copying data or files, and in particular, audio and/or video data or files.
As shown in
During the copy operation, the hard disk drive 12 may encounter defective data. For example, the hard disk drive 12 may encounter data that can not be corrected by known error correction techniques. In this event, the copy operation fails. Even though only a portion of the audio/video data or file being copied is defective, the entire copy operation fails and none of the audio/video to-be-copied is copied.
Embodiments of the present invention are directed to methods and/or apparatuses for copying data.
In one embodiment, the method includes modifying data being copied such that portions of the data that include defects are replaced with dummy data. For example, a defective portion of the data is detected during a copy operation, and the data being copied is modified such that detected defective portions of the data are replaced with the dummy data.
The data may be copied from a first storage device to a second storage device. The first and second storage devices may be in the same or different devices (e.g., audio/video devices). The defect detection may be performed at the audio/video device including the first storage device or the second storage device.
In one embodiment, a user is notified of a defect and instructs whether the copy operation is to continue by performing the modification or not.
In one embodiment, the apparatus for copying includes a storage device configured to store data and a processor configured to modify data being copied from the storage device such that portions of the data that include defects are replaced with dummy data.
In another embodiment, the apparatus includes a storage device configured to store data and a processor configured to modify data being copied such that portions of the data that include defects are replaced with dummy data before being stored in the storage device.
The present invention will become more fully understood from the detailed description given herein below and the accompanying drawings, wherein like elements are represented by like reference numerals, which are given by way of illustration only and thus are not limiting of the present invention and wherein:
Illustrative embodiments are described below. In the interest of clarity, not all features of an actual implementation may be described in this specification. It will of course be appreciated that in the development of any such actual embodiment, numerous implementation-specific decisions should be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which will vary from one implementation to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure.
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, interfaces, techniques, etc., in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other illustrative embodiments that depart from these specific details. In some instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail. All principles, aspects, and embodiments of the present invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future.
Exemplary embodiments are discussed herein as being implemented in suitable computing/device environments. Although not required, exemplary embodiments will be described in the general context of computer-executable instructions, such as program modules or functional processes, being executed by one or more computer processors or CPUs. Generally, program modules or functional processes include routines, programs, objects, components, data structures, etc. that performs particular tasks or implement particular abstract data types. The program modules and functional processes discussed herein may be implemented using existing hardware/devices. For example, program modules and functional processes discussed herein may be implemented using existing hardware/devices.
Portions of the embodiments and corresponding detailed description may be presented in terms of software, or algorithms and symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the ones by which those of ordinary skill in the art effectively convey the substance of their work to others of ordinary skill in the art. An algorithm, as the term is used here, and as it is used generally, is conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of optical, electrical, or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, or as is apparent from the discussion, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Note also that the software implemented aspects of the invention are typically encoded on some form of physical computer readable medium. The computer readable medium may be magnetic (e.g., a floppy disk or a hard drive), optical (e.g., a compact disk read only memory, or “CD ROM”), solid state (e.g., flash memory) and may be read only or random access.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments of the present invention. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between”, “adjacent” versus “directly adjacent”, etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising,”, “includes” and/or “including”, when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
The embodiments will now be described with reference to the attached figures. Various structures, systems and devices are schematically depicted in the drawings for purposes of explanation only and so as to not obscure the present invention with details that are well known to those skilled in the art. Nevertheless, the attached drawings are included to describe and explain illustrative examples. Where applicable, the words and phrases used herein should be understood and interpreted to have a meaning consistent with the understanding of those words and phrases by those skilled in the relevant art.
The second audio/video device 200 may be any of the electronic devices discussed above with respect to the first audio/video device 100. However, it will be appreciated that second audio/video device 200 actually connected to the first audio/video device 100 may be the same device as the first audio/video device 100 or a different device. For example, in one embodiment, both the first and second audio/video devices 100 and 200 may be personal computers. In another embodiment, the first audio/video device 100 may be camcorder and the second audio/video device 200 may be a personal computer. Likewise, the second storage device 210 may be any of the storage devices described above with respect to the first storage device 110. Also, it will be appreciated that the actual second storage device 210 may be the same storage device as the first storage device 110 or a different storage device.
The first and second audio/video devices 100 and 200 may be connected in any well-known manner. For example, the connection 300 may be a direct wired connection such as over a cable, a direct wireless connection such as Bluetooth, an indirect connection such as over a network (e.g., the Internet), an indirect connection such as a wireless connection via a wireless network, etc.
The first audio/video device 100 may include a first interface 130 for interfacing the first audio/video device 100 with other electronic devices such as the second audio/video device 200. As will be appreciated, the first audio/video device 100 may also include numerous other components associated with functionality of the first audio/video device 100. For example, if the first audio/video device 100 is a camcorder, then the first audio/video device 100 may also include an imaging device, a presentation device (e.g., a display), user inputs, etc., and the processor 120 may control operation of these elements based on the received user input and programming. However, since these elements are not directly involved in the data or file copy method according to embodiments of the present invention described in detail below, these elements have not been shown for the sake of clarity.
As with the first audio/video device 100, the second audio/video device 200 may include a second processor 220. The second processor 220 executes operational methodologies of the second audio/video device 200 in accordance with programming stored in the second audio/video device 200. This programming may be stored in the first storage device 210 or another storage device (not shown) of the second audio/video device 200. For example, the second processor 220 may execute a portion of the data or file copy method according an embodiment of the present invention described in detail below.
The second audio/video device 200 may include a second interface 230 for interfacing the second audio/video device 200 with other electronic devices such as the first audio/video device 100. As will be appreciated, the second audio/video device 200 may also include numerous other components associated with functionality of the first audio/video device 200. For example, if the second audio/video device 200 is a personal computer, then the second audio/video device 200 may also include an various chip sets, disk drives, a presentation device (e.g., a display), user inputs (e.g., mouse, keyboard, etc.), etc., and the processor 220 may control operation of these elements based on the received user input and programming. However, since these elements are not directly involved in the data or file copy method according to embodiments of the present invention described in detail below, these elements have not been shown for the sake of clarity.
In response to a request to copy data stored in the first storage device 110, in step S405 the processor 120 reads the data to-be-copied from the first storage device 110 and detects whether a defect exists in a portion of the data being copied. If a defect is detected, then in step S410, the processor 120 modifies the defective portion of the data by replacing the defective portion with dummy data. For example, the dummy data may be all 0s, all 1s, a desired pattern of 1s and 0s, etc. If no defect is detected the copy operation proceeds in a conventional fashion. The request to copy data may be a request to copy a file, in which case the data constituting the file is read, and if a defective portion of the file is detected in step S405, the processor 120 modifies the defective portion (or portions) of the file with dummy data in step S410. In this manner, even though a defect exists in data being copied, the copy operation may continue and complete.
In response the first processor 120 reads the requested data from the first storage device 120 and determines if defective portions exist in the data to-be-copied in step S510. If no defect exists, the data or file is output to the second audio/video device in step S515. For example, the data or file is output via the first interface 130, and transferred over the connection 300 to the second audio/video device 200. In step S520, the transferred data or file is received by the second interface 230, and the processor 220 stores the transferred data or file in the second storage device 210. As will be appreciated this reading, detection and transfer of the data or file may take place in increments (e.g., 4 KB).
If, in step S510, the first processor 120 determines a defect exists, then in step S525, the first processor 120 modifies the defective portion by substituting dummy data for the defective portion. For example, the dummy data may be all 0s, all 1s, a desired pattern of 1s and 0s, etc. Next, the modified portion of the data or file (i.e., the dummy data) is transferred to the second audio/video device 200 in step S515 and stored in the second storage device 210 in step S520. In this manner, even though a defect exists in data being copied, the copy operation may continue and complete.
The first processor 120 sets a location counter C to location X, and a read trial counter T to 0 in step S610, and reads the requested data from the location in the first storage device 120 indicated by the location counter C in step S615. In step S620, the first processor 120 determines if a read error occurs. A read error may exist if the data is defective, etc. If a read error occurs, then in step S625 the first processor 120 increments the read trial counter T and in step S630 the first processor 120 determines if the read trial counter T exceeds a threshold TH. The threshold TH may be empirically determined and set as a matter of design choice. For example, in one embodiment, the threshold TH is set to 100. If the read trial counter T exceeds the threshold TH, then the first processor 120 determines that the data in location C is defective. As a result, the first processor 120 outputs dummy data as the data from location C. For example, the dummy data may be all 0s, all 1s, a desired pattern of 1s and 0s, etc. While not shown in
As a further alternative, in steps S640, the first processor 120 may replace the location C with a new location in the first storage device 110, store the dummy data in the new location, read the dummy data from the new location, and output the read dummy data to the second audio/video device 200. At the second audio/video device 200, the received data is stored in the second storage device 210.
Returning to step S630, if the read trial counter T does not exceed the threshold TH, then processing returns to step S615 where the first processor 120 attempts to read the data at location C again.
Returning to step S620, if no read error exits, then in step S655, the first processor 120 outputs the read data. At the second audio/video device 200, the received read data is stored in the second storage device 210. After steps S655 and S640, the first processor 120 determines if the location counter C equals the last location Y. If so, the copy operation ends. If not, then in step S650, the location counter C is incremented and the read trial counter T is reset to zero.
As will be appreciated, in the above embodiment, defects in data or a file are detected on a portion-by-portion basis. Defective portions are replaced or modified to dummy data and the copy operation is thus allowed to continue and complete.
In response the first processor 120 reads the requested data from the first storage device 120 and determines if defective portions exist in the data to-be-copied in step S710. If no defect exists, processing proceeds to step S515 of
If, in step S710 of
In step S720, the first processor 120 determines if the received response indicates to correct the defective data and continue the copy operation. If so, then in step S725, the first processor 120 modifies the defective portion by substituting dummy data for the defective portion. For example, the dummy data may be all 0s, all 1s, a desired pattern of 1s and 0s, etc. Next, the modified portion of the data or file (i.e., the dummy data) is transferred to the second audio/video device 200 in step S515 and stored in the second storage device 210 in step S520. In this manner, even though a defect exists in data being copied, the copy operation may continue and complete.
If in step S720, the received response does not indicate to correct the defective data and continue the copy operation, then the copy operation ends. In this manner, a user requesting the copy operation may control whether to continue and complete the copy operation when defective data exists.
In the above described embodiments, instead of copying the data from the first storage device 110 to the second storage device 210, the embodiments may also be applied to copying the data from one part of the first storage device 110 to another part of the first storage device 110. Alternatively, the first audio/video device 100 may include more than one storage device, and the embodiments may be applied to copying data from one storage device of the first audio/video device 100 to another storage device of the first audio/video storage device 100.
In response to the request, the first processor 120 reads the requested data from the first storage device 120 in step S810, and sends the read data or file to the second audio/video device 200 in step S815. For example, the data or file is output via the first interface 130, and transferred over the connection 300 to the second audio/video device 200.
In step S820, the second processor 120 determines if defective portions exist in the data. If no defect exists, the second interface the processor 220 stores the transferred data or file in the second storage device 210 in step S825. As will be appreciated this reading, detection and transfer of the data or file may take place in increments (e.g., 4 KB).
If, in step S820, the second processor 220 determines a defect exists, then in step S835, the second processor 120 notifies the first audio/video device 100 that a defect exists. For example, this notification may be sent via the second interface 230, the connection 300 and the first interface 130 to the first processor 120. The first processor 120 then corrects the defective data. Namely, the first processor 120 modifies the defective portion by substituting dummy data for the defective portion. For example, the dummy data may be all 0s, all 1s, a desired pattern of 1s and 0s, etc. Next, the modified portion of the data or file (i.e., the dummy data) is transferred to the second audio/video device 200 in step S840 and the modified data is stored in the second storage device 210 in step S825. In this manner, even though a defect exists in data being copied, the copy operation may continue and complete.
If, in step S910, the second processor 220 determines a defect exists, then in step S920, the second processor 220 modifies the defective portion by substituting dummy data for the defective portion. For example, the dummy data may be all 0s, all 1s, a desired pattern of 1s and 0s, etc. Next, the modified portion of the data or file (i.e., the dummy data) is stored in the second storage device 210 in step S915. In this manner, even though a defect exists in data being copied, the copy operation may continue and complete.
The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the invention, and all such modifications are intended to be included within the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2008-0065142 | Jul 2008 | KR | national |